Mostrando postagens com marcador Estatística. Mostrar todas as postagens
Mostrando postagens com marcador Estatística. Mostrar todas as postagens

quarta-feira, 3 de outubro de 2012

A média, a Variância e o senso comum

A média é um dos conceitos estatísticos mais utilizados pelo leigo.

Esse conceito aparece com certa freqüência no nosso dia-a-dia, nas revistas, nos jornais, na internet e na televisão. Se abrirmos uma página de um jornal e nela encontrarmos uma manchete dizendo "3 em cada 5 brasileiros preferem jogar futebol a jogar voleibol", isso é uma média.

O uso massivo da média é talvez responsável pelas diversas interpretações errôneas que são dadas ao conceito de média, dando a ela poderes que ela não tem, como, por exemplo, como um homem de um metro e oitenta poderia ter morrido afogado num rio cuja profundidade média era de um metro e cinqüenta?

É importante lembrar que a definição de média está relacionada ao centro de gravidade, ou seja, é o valor central de uma distribuição, ou ainda é o ponto de equilíbrio de um conjunto de valores.

O conhecimento de apenas a média de uma distribuição não nos dá uma informação precisa sobre ela, ou seja, não podemos saber como os demais valores se comportam em relação à média. Para medir essa variação ou dispersão, a medida utilizada para tal é a variância.

A variância de uma distribuição nunca será negativa e a determinação positiva da raiz quadrada da variância recebe o nome de desvio padrão.

Embora existam infinitas distribuições com mesma média e mesma variância, a
média e a variância nos permitirão tirar conclusões gerais sobre o comportamento da distribuição.

Quando dispomos de informações adicionais, como o comportamento da distribuição dos dados (por exemplo, normalmente distribuídos), a média mais ou menos dois desvios padrões conterá no mínimo 95% dos valores da distribuição. Desta forma fica agora bem mais fácil entender o porque que uma pessoa de um metro e oitenta morreu afogado em um rio com profundidade média de um metro e cinqüenta.

Também cobre de quem informar que tal chuva é acima da média' sem dar detalhes de COMO ESTA CHUVA SE DISTRIBUI. Os meios de comunicação são pródigos nisto.

Nota: Este texto foi baseado em parte no conteúdo presente aqui

segunda-feira, 1 de outubro de 2012

Princípios fundamentais das Estatísticas Oficiais

Abaixo, os 10 príncipios fundamentais das estatísticas oficiais. O Brasil seria muito melhor, existiria muito menos polêmica inútil sobre mal uso de Dados Estatísticos.

Principalmente em Pesquisas Eleitorais, onde recentemente estamos vendo seguidas ofensas a estes princípios por parte dos Advogados eleitorais.

Princípio 1 Relevância, imparcialidade e igualdade de acesso

As estatísticas oficiais constituem um elemento indispensável no sistema de informação de uma sociedade democrática, oferecendo ao governo, à economia e ao público dados sobre a situação econômica, demográfica social e ambiental. Com esta finalidade, os órgãos oficiais de estatística devem produzir e divulgar, de forma imparcial, estatísticas de utilidade prática comprovada, para honrar o direito do cidadão à informação pública.

Princípio 2 Padrões profissionais e ética

Para manter a confiança nas estatísticas oficiais, os órgãos de estatística devem tomar decisões, de acordo com considerações estritamente profissionais, aí incluídos os princípios científicos e a ética profissional, para a escolha dos métodos e procedimentos de coleta, processamento, armazenamento e divulgação dos dados estatísticos.

Princípio 3 Responsabilidade e transparência

Para facilitar uma interpretação correta dos dados, os órgãos de estatística devem apresentar informações de acordo com normas científicas sobre fontes, métodos e procedimentos estatísticos.

Princípio 4 Prevenção do mau uso dos dados

Os órgãos de estatística têm direito de comentar interpretações errôneas e utilização indevida das estatísticas.

Princípio 5 Eficiência

Os dados utilizados para fins estatísticos podem ser obtidos a partir de diversos tipos de fontes, sejam pesquisas estatísticas ou registros administrativos. Os órgãos de estatística devem escolher as fontes levando em consideração a qualidade, oportunidade, custos e ônus para os informantes.

Princípio 6 Confidencialidade

Os dados individuais coletados pelos órgãos de estatística para elaboração de estatísticas, sejam referentes a pessoas físicas ou jurídicas, devem ser estritamente confidenciais e utilizados exclusivamente para fins estatísticos.

Princípio 7 Legislação

As leis, regulamentos e medidas que regem a operação dos sistemas estatísticos devem ser tornadas de conhecimento público.

Princípio 8 Coordenação nacional

A coordenação entre os órgãos de estatística de um país é indispensável, para que se obtenha coerência e eficiência no sistema estatístico.

Princípio 9 Uso de padrões internacionais

A utilização de conceitos, classificações e métodos internacionais pelos órgãos de estatística de cada país promove a coerência e a eficiência dos sistemas de estatística em todos os níveis oficiais.

Princípio 10 Cooperação internacional

A cooperação bilateral e multilateral na esfera da estatística contribui para melhorar as estatísticas oficiais em todos os países.

Fonte: Comissão de Estatística das Nações Unidas, 1994 (http://unstats.un.org/unsd/methods/statorg/default.htm)

sábado, 29 de setembro de 2012

Eu desaprendi Estatística (Estão tornando impraticável se fazer pesquisa)

Acredito ser de conhecimento público que este ano eu estou envolvido até o pescoço com o processo eleitoral, planejando e desenhando pesquisas por amostragem em todos os cantos do país.
De um mês pra cá, ao se aproximar o dia da votação, começei a notar um aumento nas pesquisas registradas e um consequênte aumento nos pedidos de impugnação das mesmas.

Inicialmente eu achava normal, chegava a impugnação, a empresa tinha 48 horas para se defender, era elaborada a defesa,o plano amostral ora criticado era corrigido para suprir as 'falhas apontadas' e a vida prosseguia.

Mas, quanto mais aumentavam as impugnações, notou-se que conceder liminar pela suspensão da pesquisa era a regra, bastava escrever uma meia dúzia de argumentos (Válidos ou não) que Juiz concedia suspensão em Liminar. E NUNCA SE VIA PETIÇÃO ACOMPANHADA DE LAUDO DE UM ESTATÍSTICO, para pelo menos corroborar com o pedido.

E os absurdos metodológicos foram sendo expostos.

E vinha um pedido atras de outro, e começaram a utilizar impugnações concedidas anteriormente para obter as novas... E a roda foi alimentando

Até que ... ontem, 28 de setembro, me chega por fax a seguinte petição referente a um regístro de pesquisa em Uberlândia/MG

O fax continha a decisão do Juiz em conceder liminar para suspender a divulgação da referida pesquisa.

Alegava na inicial a ilustre advogada que:

  1. Ao se consultar o banco de dados do TSE para o município de Uberlândia, o mesmo não continha informação referente a Nivel Econômico do eleitorado.
  2. Intervalo de confiança (95%) e Margem de erro (3,01%) que somados, são inferiores a 100% - Atecnia – Inobservância do disposto no Artigo 1º, inciso IV da Resolução 23.364/2011

Recorrendo ao regístro (link para o mesmo já incluído neste post) e verificamos o seguinte texto para o Plano Amostral:

Plano amostral e ponderação quanto a sexo, idade, grau de instrução e nível econômico do entrevistado; intervalo de confiança e margem de erro:

a) Público pesquisado: Eleitores residentes no perímetro urbano do município

b) tipo de amostra: A amostragem será realizada da seguinte forma:

1. Estratificação so município por agrupamento de Setores Censitários obedecendo critério geográfico (Agrupamento de bairros conforme divisão do IBGE para o CENSO 2010)
2. Tamanho de cada estrato foi definido proporcional ao número de domicílios pertencente a cada um destes (Dados obtidos pelos microdados do CENSO Demográfico de 2010, IBGE)
3. Seleção das Residências segundo critério de amostragem sistemática
4. Realização de entrevistas domiciliares com sorteio dentre os moradores presentes na residência selecionada, obedecendo um quadro de Idade/Sexo gerado de maneira aleatória por um software estatístico, levando em consideração as proporções de idade e sexo constantes no sitio do TSE para o município (Maio/2012)

c) Ponderação: a ponderação por gênero, faixa etária, escolaridade e renda familiar, caso seja preciso, se se baseará nas proporções informadas pelo TSE, as quais podem ser consultadas em: http://www.tse.jus.br/eleicoes/estatisticas/estatistica-do-eleitorado-por-sexo-e-faixa-etaria ou em http://agencia.tse.jus.br/estatistica/sead/odsele/perfil_eleitorado/perfil_eleitorado_ATUAL.zip 

FEMININO, 16 A 24 ANOS; 8,1% / MASCULINO, 16 A 24 ANOS; 7,86%
FEMININO, 25 A 34 ANOS; 12,48% / MASCULINO, 25 A 34 ANOS; 11,83%
FEMININO, 35 A 44 ANOS; 10,67% / MASCULINO, 35 A 44 ANOS; 9,92%
FEMININO, 45 A 59 ANOS; 13,19% / MASCULINO, 45 A 59 ANOS; 11,45%
FEMININO, 60 ANOS OU MAIS; 7,97% / MASCULINO, 60 ANOS OU MAIS; 6,54%

As variaáveis Escolaridade e Nível Econômico são também ponderados a posteriori, baseados em dados referentes ao município, igualmente levantados no endereço http://sidra.ibge.gov.br
Quanto aos valores nominais dos pesos, a priori é impossível determiná-los por se tratar de Varáveis Aleatórias. Ao se definir uma quantidade fixa para eles, a pesquisa deixaria de possuir margem de erro (A pesquisa deixaria de ser probabilística).
 
d) Intervalo de Confiança/Margem de Erro: Para este planejamento amostral, considerando-se um intervalo de confiança de 95%, é esperado um erro máximo de 3,01 pontos percentuais na estimação da proporção das intenções de voto dos candidatos.
Ao analisar o plano com a devida atenção, notamos que a ilustre advogada tentou, na primeira alegação, iludir o magistrado, ao apontar para um endereço constante no registro, mas não o correto, o qual foi informado ao lado da explicação das variáveis em questão.

Mas o erro mais grotesco não foi este, Alegou-se atecnia pelo simples fato da soma Margem de erro + intervalo de confiança não fechar em 100%

Em uma busca utilizando o Google, encontramos inúmeras referências a Intervalo de confiança, encontramos bons vídeos que ilustram o que é intervalo de Confiança. Eu destaco o seguinte:


Existem dúzias de referências na internet, mesmo assim, se conseguiu cometer tal atrocidade,o que nos leva novamente ao início do texto, onde foi comentado que o judiciário concedia liminar impedindo divulgação de pesquisa por qualquer motivo. Não precisava de grandes manobras jurídicas, basta pedir.

Aí fica a questão: Será que já não é chegada a hora de se exigir algo mais? de que se exija pelo menos um parecer de um Estatístico para fundamentar as alegações?

Ao continuar desta forma, no próximo período eleitoral, muita empresa séria deixará de atuar neste nicho, deixando o mercado para os aproveitadores de plantão. Outro cenário possível seria um aumento tão grande de liminares que ninguém mais registraria pesquisa para divulgação, o custo jurídico da mesma não compensaria.

Por este e outros motivos os quais explicarei em um outro post, sou a favor do endurecimento das regras do processo eleitoral, para que todas as ações sejam feitas mediante apresentação de laudo de profissional competente para tal.

Amanhã tentarei subir para este Blog o inteiro teor da petição onde foram feitas tais atrocidades, aguardem e acompanhem

quarta-feira, 25 de abril de 2012

A arte de fazer perguntas, por Marcos Coimbra

Saiu no Blog do Luis Nassif:

Do Correio Braziliense

A Arte de Fazer Perguntas

Por Marcos Coimbra

A divulgação da mais recente pesquisa do Datafolha sobre a popularidade da presidente Dilma Rousseff é uma boa oportunidade para discutir um aspecto delas que costuma passar despercebido.

Trata-se de algo evidente: que os resultados das pesquisas dependem das perguntas que fazemos. Escolhê-las e definir como fraseá-las é uma etapa decisiva de qualquer uma, pois tende a pré-determinar suas conclusões.

Isso se aplica à redação e à sequencia em que as perguntas aparecem nos questionários. Indagar, por exemplo, sobre o governo após mencionar “os problemas nacionais” pode induzir o entrevistado a pensar neles ao responder e a fazer cair a avaliação, o que não ocorre quando são citados depois de a caracterizar.

Se determinado resultado é esperado, é possível formular o questionário de modo a que outras perguntas o sublinhem ou enfraqueçam. Quando destinadas à divulgação, esse é um aspecto fundamental para compreender a pesquisa e as motivações de seus contratantes.

Tomemos o caso em apreço.

Realizada nos dias 18 e 19 de abril, a pesquisa do Datafolha não trouxe novidade. Seus resultados foram iguais a vários outros disponíveis.

Mostram o que todos sabíamos – que Dilma vai bem, que seu governo tem aprovação elevada e bate recorde atrás de recorde, na comparação com seus antecessores em momento parecido. A pesquisa não poderia, portanto, provocar comoções no sistema político.

Nada mudou com ela. Depois de a ler, apenas continuamos informados que a presidente vem ultrapassando situações de desgaste sem arranhões. Que se mantém a tendência de crescimento da simpatia com que é vista pela opinião pública.

Esse aspecto da pesquisa – o mais relevante, mesmo que não inédito – perdeu, no entanto, destaque na divulgação. A Folha de São Paulo, jornal que a contratou, preferiu chamar a atenção para outro tópico: que, entre Lula e Dilma, a maioria prefere o ex-presidente como candidato do PT em 2014.

Obviamente, esse resultado só estava disponível porque alguém havia tomado a decisão de incluir a pergunta no questionário. Para quê?

Talvez para juntar duas coisas conhecidas em uma manchete – que Dilma é bem avaliada e que Lula é uma pessoa querida pela maioria da população – parecendo dizer uma novidade.

Mas não são ambas coisas notórias?

O xis da questão é o emprego de uma conjunção adversativa: um “mas” colocado entre elas. O que a manchete estampava era “Dilma tem aprovação recorde, mas Lula é favorito para 2014”.

A expressão sugere que nem tudo são flores para a presidente. Que ela está bem... mas, porém, contudo, todavia, no entanto. Que alguma coisa tolda seu bom desempenho.

Qual a razão de uma pergunta sobre quem é “o melhor candidato do partido”? Será que, por Lula estar à frente de Dilma nesse comparação, seria válido deduzir que o ex-presidente é o “favorito” - em detrimento dela - no que realmente conta, que são as chances de vencer a próxima eleição?

Quando, nas pesquisas atuais, os nomes de Lula e de Dilma são apresentados nos cenários de voto estimulado – frente a possíveis adversários de diversos partidos – o que se vê é o franco favoritismo de ambos: Dilma no patamar dos 60%, Lula no dos 70%.

Ou seja, para ganhar a eleição, os dois são favoritos. O que é um resultado ótimo para Dilma, considerando sua trajetória e o momento que experimenta. Para Lula, nem se precisa dizer.

A manchete só foi possível por haver no questionário aquela pergunta, cujo interesse técnico é escasso. Ela só lá estava para ser usada politicamente.

segunda-feira, 21 de novembro de 2011

Brasileirão 2011 - Previsões - Faltando 2 rodadas

Este será o último post desta série, pois a situação após a penúltima rodada ficará meio óbvia, não precisando destes cálculos.

O que vemos no quadro a seguir é a disputa pelo título se afunilando entre Vasco, Fluminense e Corinthians. Favoritismo claro a este ponto para os paulistas (75,25% para ser campeão), que podem ser Campeões já no próximo domingo


                champ  libert   sulam rebaixa
América/MG    0.00000 0.00000 0.00000 1.00000
Atlético/GO   0.00000 0.00000 0.88432 0.00064
Atlético/MG   0.00000 0.00000 0.70876 0.01944
Atlético/PR   0.00000 0.00000 0.06564 0.43928
Avaí          0.00000 0.00000 0.00000 1.00000
Bahia         0.00000 0.00000 0.27860 0.16740
Botafogo      0.00000 0.09476 0.90524 0.00000
Ceará         0.00000 0.00000 0.04972 0.65508
Corinthians   0.75240 1.00000 0.00000 0.00000
Coritiba      0.00000 0.13756 0.86244 0.00000
Cruzeiro      0.00000 0.00000 0.03120 0.71816
Figueirense   0.00000 0.46244 0.53756 0.00000
Flamengo      0.00000 0.32052 0.67948 0.00000
Fluminense    0.05776 1.00000 0.00000 0.00000
Grêmio        0.00000 0.00000 0.99888 0.00000
Internacional 0.00000 0.61580 0.38420 0.00000
Palmeiras     0.00000 0.00000 0.98288 0.00000
Santos        0.00000 1.00000 0.00000 0.00000
São Paulo     0.00000 0.36892 0.63108 0.00000
Vasco         0.18984 1.00000 0.00000 0.00000

Na sulamericana, questão de detalhes para se confirmar Grêmio e Palmeiras como participantes da competição em 2012.

Quanto ao rebaixamento, o Cruzeiro viu hoje a probabilidade de disputar a série B em 2012 crescerem para 71,82%. América/MG e Avaí já possuem presença assegurada na Série B do ano que vem.

Na libertadores, vemos 2 vagas já definidas (Fluminense e Corinthians) e uma briga entre 6 outras equipes pelas outras 2 vagas, com favoritismo para Internacional (61,58%), Figueirense (46,24%), São Paulo (36,89%) e Flamengo (32,05%). Acredito que as vagas restantes devam ser preenchidas por uma destas equipes.

E este é o fim desta série de Posts. Devo retomar o assunto ano que vem.



segunda-feira, 14 de novembro de 2011

Brasileirão 2011 - 40 jogos restando

Mais uma rodada se foi e as coisas vão se clareando para muitas equipes.

No post de hoje vou me limitar apenas a postar os resultados atualizados de maneira semelhante ao último.

> probabilities(dados.2)
                      champ      libert        sulam   rebaixa
América/MG    0.00000000000 0.000000000 0.0005666667 0.9690667
Atlético/GO   0.00000000000 0.000000000 0.8173666667 0.0062000
Atlético/MG   0.00000000000 0.000000000 0.4956000000 0.0767000
Atlético/PR   0.00000000000 0.000000000 0.0119000000 0.8688000
Avaí          0.00000000000 0.000000000 0.0000000000 0.9983667
Bahia         0.00000000000 0.000000000 0.7501666667 0.0221000
Botafogo      0.00500000000 0.550900000 0.4491000000 0.0000000
Ceará         0.00000000000 0.000000000 0.0513000000 0.7212333
Corinthians   0.44046666667 0.998666667 0.0013333333 0.0000000
Coritiba      0.00000000000 0.152600000 0.8474000000 0.0000000
Cruzeiro      0.00000000000 0.000000000 0.1928666667 0.3200333
Figueirense   0.01913333333 0.710566667 0.2894333333 0.0000000
Flamengo      0.00423333333 0.438933333 0.5610666667 0.0000000
Fluminense    0.03416666667 0.778500000 0.2215000000 0.0000000
Grêmio        0.00000000000 0.005233333 0.9938666667 0.0000000
Internacional 0.00000000000 0.107033333 0.8929666667 0.0000000
Palmeiras     0.00000000000 0.000000000 0.6811333333 0.0175000
Santos        0.00003333333 1.000000000 0.0000000000 0.0000000
São Paulo     0.00036666667 0.257566667 0.7424333333 0.0000000
Vasco         0.49660000000 1.000000000 0.0000000000 0.0000000
>

Os resultados acima ilustram o que venho comentado: A 2 rodadas, o América/MG possuia probabilidades baixíssimas de fugir do rebaixamento. Vem fazendo bem a sua parte e já possui hoje uma probabilidade próxima a 4% de escapar. vimos também nesta rodada, o corinthians praticamente assegurar vaga à copa Libertadores 2012. Vimos também o campeonato praticamente se polarizar entre Vasco e corinthians.

Quanto à pontuação para se escapar do rebaixamento, vemos abaixo que 43 pontos tende a ser uma pontuação segura para se manter na série A em 2012:

> with(dados[dados$Pos == 17,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5%
   38    41    43    44
> with(dados[dados$Pos == 16,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5%
   40    43    45    46
>
Veja que em pelo menos 50% das simulações, o 16º conseguiu escapar com 43 ou mais pontos. Por outro lado, em apenas 2,5% das simulações mostraram o 17º alcançando pontuação igual ou superior a este.

Falando de Copa Libertadores, vemos abaixo que 64 pontos continua um valor bem interessante para se garantir no torneio de 2012.

> with(dados[dados$Ranking == 4,], quantile(P, c(0.025, 0.5, 0.975, 0.995), na.rm=TRUE))
 2.5%   50% 97.5% 99.5%
   58    61    63    64
> with(dados[dados$Ranking == 5,], quantile(P, c(0.025, 0.5, 0.975, 0.995), na.rm=TRUE))
 2.5%   50% 97.5% 99.5%
   57    59    62    63
>

Para se escapar da pré-libertadores, no entanto, esta exigencia pula para perto dos 68 pontos. Mas se o assunto for título, seria bom conseguir algo acima dos 70 ponto, veja abaixo:

> with(dados[dados$Ranking == 2,], quantile(P, c(0.025, 0.5, 0.975, 0.995), na.rm=TRUE))
 2.5%   50% 97.5% 99.5%
   61    64    68    68
> with(dados[dados$Pos == 1,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5%
   65    69    73    73
> with(dados[dados$Pos == 2,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5%
   63    66    70    71
>

Partindo da mesma lógica em que se analisou a permanência na Série a para 2012,  note que em 2,5% das simulações, o 2º colocado alcançou pontuação superior ou igual a 70 pontos, para superar esta colocação seria lógico fazer mais que estes 70, contudo, a pontuação do 1º colocado em 47,5% das simulações, esteve entre 69 e 73 pontos. 73 pontos, acredito ser uma pontuação bastante segura para ser o Campeão Brasileiro de 2011.

Continuo aguardando comentários e sugestões quanto a este tema e a todos que tenho discutido ultimamente neste espaço.

No feriado de 15 de novembro tentarei colocar no ar mais um post sobre este assunto, com as probabilidades dos resultados de alguns jogos chave da próxima rodada.

sexta-feira, 11 de novembro de 2011

Brasileirão 2011 - 50 jogos restando - probabilidades completas

Conforme comentei no post anterior, iria utilizar meu tempo livre para calcular corretamente as probabilidades de sulamericana e libertadores, que eram um pouco menos triviais que as demais, pois temos Vasco e Santos já classificados para a CopaLibertadores e com probabilidades reais de estarem entre os quatro primeiros lugares ao fim do Campeonato Brasileiro de 2011.

Em uma primeira olhada para o problema, nos deparamos com uma  sequência complexa decálculos de probabilidades que podem ser resumidos a algo como:

P(libertadores) = P(clubeterminar entre os 4 primeiros lugares) +
    + P(clube terminar em 5º | Vasco terminou entre os 4) +
    + P(clube terminar em 5º | Santos terminou entre os 4) +
    + P(clube terminar em 6º | Vasco E Santos terminaram entre os 5)


Se for pensar em termos de copa sulamericana, o grau de complexidade é o mesmo, com probabilidades sendo calculadas como:

P(sulamericana) = P(clube terminar entre 7º e 12º lugar) +
    + P(clube terminar em 13º | Vasco terminou até 12º) +
    + P(clube terminar em 13º | Santos terminou até 12º) +
    + P(clube terminar em 14º | Santos E Vasco até 13º) +
    + P(clube terminar em 5º | Santos E Vasco entre 6º e 20º) +
    + P(clube terminar em 6º | Santos E Vasco entre 7º e 20º)

Para nossa sorte, estas regras são equivalentes a se fazer uma tabela de classificação sem a presença de Vasco e Santos (Clubes com vaga assegurada na Copa libertadores). no caso do software R, esta ação se resume ao código apresentado a seguir:

standings.restrict <- function(st, restrictions) {
    rnk <-  rank(st[!(st$Equipe %in% restrictions),]$Pos)
    st.t <- data.frame(
        Equipe = st$Equipe[!(st$Equipe %in% restrictions)],
        Ranking = as.numeric(rnk)
    )
    st.final <- merge(st,st.t, all.x=TRUE)
    return(st.final)
}

e para se chegar às probabilidades, se precisa apenas fazer uso da seguinte função:

probabilities <- function(df) {
    Eq <- levels(df$Equipe)
    dft <- as.data.frame(prob.position(df))
    dfr <- as.data.frame(prob.ranking(df))
    p.Champ <- aggregate(
        Freq ~ Equipe, data = dft[dft$Pos == 1,], sum)
    p.libert <- aggregate(
        Freq ~ Equipe, data = dfr[dfr$Ranking %in% (1:4),], sum)
    p.sulam <- aggregate(
        Freq ~ Equipe, data = dfr[dfr$Ranking %in% (5:12),], sum)
    p.relegate <- aggregate(
        Freq ~ Equipe, data = dft[dft$Pos %in% (17:20),], sum)
    prob <- as.data.frame(cbind(
        champ=p.Champ$Freq,
        libert=p.libert$Freq,
        sulam = p.sulam$Freq,
        rebaixa=p.relegate$Freq
    ))
    rownames(prob) <- Eq
   
    prob[rownames(prob) %in% c("Santos","Vasco"),]$libert = 1.0

    return((prob))
}

o resultado da função acima, se aplicado aos dados de simulação realizados no último domingo/segunda, é o seguinte:

> probabilities(dados.1)
                champ  libert   sulam rebaixa
América/MG    0.00000 0.00000 0.00016 0.98952
Atlético/GO   0.00000 0.00004 0.93968 0.00158
Atlético/MG   0.00000 0.00000 0.66450 0.04864
Atlético/PR   0.00000 0.00000 0.03360 0.75750
Avaí          0.00000 0.00000 0.00062 0.98130
Bahia         0.00000 0.00000 0.42980 0.14464
Botafogo      0.03962 0.62346 0.37654 0.00000
Ceará         0.00000 0.00000 0.13686 0.48174
Corinthians   0.39330 0.97724 0.02276 0.00000
Coritiba      0.00006 0.07784 0.92216 0.00000
Cruzeiro      0.00000 0.00000 0.09860 0.56462
Figueirense   0.01978 0.47328 0.52672 0.00000
Flamengo      0.02462 0.52856 0.47144 0.00000
Fluminense    0.17970 0.88926 0.11074 0.00000
Grêmio        0.00000 0.01308 0.98364 0.00000
Internacional 0.00184 0.25112 0.74888 0.00000
Palmeiras     0.00000 0.00000 0.69942 0.03046
Santos        0.00000 1.00000 0.00000 0.00000
São Paulo     0.00044 0.16612 0.83388 0.00000
Vasco         0.34064 1.00000 0.00000 0.00000
>

Como esta série de posts é apenas de carater de demonstração, fico no dever de analisar  toda e qualquer sugestão, inclusive para melhoria do código postado neste blog. Para aproveitar o resultado da última simulação, tornou-se também necessária a construção de uma rotina para a geração da nova classificação. Ela funciona bem na prática e reflete muito do que encontramos em nossa prática profissional, onde temos situações onde devemos tentar aproveitar o máximo da informação que já possuímos. muitas vezes se paga o preço de rodar um comando que demora 3 horas e que foi codificado em igual periodo de tempo a se gastar 3 a 4 dias para se obter uma solução alguns segundos mais rápida. O mundo gira e o prejuízo muitas vezes bate à sua porta.

Continuo também à disposição de vocês através de meu twitter @_ldeassis_

segunda-feira, 7 de novembro de 2011

Brasileirão 2011 - Previsões - 50 jogos restando

Após a rodada do último fim de semana, restam apenas 50 jogos para o final do campeonato, cartas estão na mesa, tabela é modificada e ... probabilidades mudam!

Optou-se por rodar uma simulação mais longa (50 mil iterações).

Ainda não modifiquei o algoritmo de simulação para calcular corretamente as probabilidades para se chegar à copa toyota libertadores. Contudo, ontem a noite, ao conversar no Twitter com o Henrique Guzella (Pessoa que faz um ótimo trabalho acompanhando o desempenho das equipes disputantes das 4 divisões do Campeonato Brasileiro que recomendo dar uma conferida), surgiu uma idéia que será implementada em meu tempo livre no decorrer desta semana. A idéia consiste em fazer o óbvio: ao final de cada rodada da simulação, armazenar também a classificação final sem a presença de Vasco e Santos, equipes já classificadas para tal competição.

Com certeza, ao se implementar tal solução, criarei um post específico comentando como implementar tanto a classificação quanto a classificação SEM determinadas equipes, utilizando, como sempre, o software R.

seguem os resultados da simulação com 50 jogos restantes para o final da Série A do Campeonato Brasileiro de 2011:


> probabilities(dados)
                 Camp    top5   last4
América/MG    0.00000 0.00000 0.98952
Atlético/GO   0.00000 0.00002 0.00158
Atlético/MG   0.00000 0.00000 0.04864
Atlético/PR   0.00000 0.00000 0.75750
Avaí          0.00000 0.00000 0.98130
Bahia         0.00000 0.00000 0.14464
Botafogo      0.03962 0.61452 0.00000
Ceará         0.00000 0.00000 0.48174
Corinthians   0.39330 0.97714 0.00000
Coritiba      0.00006 0.07714 0.00000
Cruzeiro      0.00000 0.00000 0.56462
Figueirense   0.01978 0.47110 0.00000
Flamengo      0.02462 0.52454 0.00000
Fluminense    0.17970 0.88874 0.00000
Grêmio        0.00000 0.01226 0.00000
Internacional 0.00184 0.24660 0.00000
Palmeiras     0.00000 0.00000 0.03046
Santos        0.00000 0.06338 0.00000
São Paulo     0.00044 0.16908 0.00000
Vasco         0.34064 0.95548 0.00000
> 

respondendo à pergunta que não quer calar feita por 9 entre 10 torcedores de equipes envolvidas na luta para escapar do rebaixamento, com os dados gerados se pode utilizar o comando quantile do software R para responder esta pergunta:

> with(dados[dados$Pos == 17,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5% 
   37    40    43    44 
> 

Observa-se pelo comando acima que a pontuação da última equipe dentro da região que será relegada à Série B em 2012 possui probabilidade de 97,5% de ser igual ou inferior a 43 pontos e em 99,5% igual ou inferior a 44 pontos.

Quando o caso é ficar entre os 5 melhores, o comando:

> with(dados[dados$Pos == 5,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5% 
   59    61    64    64 
> 
nos informa que 64 pontos pode ser um valor mais que suficiente para garantir presença neste seleto grupo.

Quanto ao título, o comando abaixo:

> with(dados[dados$Pos == 1,], quantile(P, c(0.025, 0.5, 0.975, 0.995)))
 2.5%   50% 97.5% 99.5% 
   65    68    73    73 
> 
nos diz que a exigência pelo título permanece na casa dos 73 pontos.

Previsões Brasileirão 2011 - Baseado em quê são calculadas as probabilidades de cada equipe

Continuando a série de perguntas e respostas, segue a resposta a mais uma das perguntas. Caso a resposta não tenha ficado suficientemente clara, gostaria do retorno de vocês para que a mesma fique mais completa, apontando os trechos onde se carece de mais explicação.

P: Baseado em quê são calculadas as probabilidades de cada equipe

R: Esta pergunta não possui uma resposta única, principalmente porque pessoas pensam de maneira diferente, vendo o problema de maneiras diferentes. Via de regra, mesmo pensando de maneiras diferentes. Hoje temos sites como o Chance de Gol, o departamento de Matemática da UFMG, um grupo da UFSCar, citando apenas 3 dos muitos que fazem trabalhos interessantes em probabilidades no esporte. Eles usam idéias muitas vezes diferentes, mas que chegam a resultados bastante próximos.

Mas via de regra, eles possuem uma coisa em comum: As probabilidades de vitória, empate e derrota. Uma partida de futebol não é um lançamento de uma moeda, tão pouco o lançamento de dados.

Se perguntarmos a 10 pessoas com conhecimentos variados de futebol, sobre qual será o resultado, por exemplo de Figueirense x Atlético/MG, que será realizado no próximo 12/11/2011 em Florianópolis, encontraremos as mais diversas opiniões. o Site chute certo (http://chutecerto.globo.com/palpites/estatistica/jogo/650) mostrava as 19:29 de hoje (6 de novembro), 65,7% para figueirense, 22,2% para empate e 12,1%  para Atlético-MG. São resultados factíveis? não sei. Mas são uma estimativa para um dos 50 jogos restantes.

Cada grupo ou site que divulga as probabilidades os faz baseado em algo que acreditam ser a melhor maneira de se estimar o resultado das partidas. Com certeza o fizeram por crer ser a melhor maneira. No caso dos cálculos feitos nesta série de explicações, optou-se por utilizar como critério de desempenho, o comportamento de cada uma das equipes nos últimos 10 jogos, baseado nos gols feitos e sofridos.

Para este objetivo, foi construída uma função no software estatístico R que produz os seguintes resultados quando executada com os dados da Série A de 2011 atualizados até 6 de Novembro de 2011:


> calculateMean(serie.A.2011)
          Equipe    mGP.m     mGC.m     mGP.v    mGC.v      mGP      mGC
1     América/MG 1.705882 1.4705882 0.8750000 2.062500 1.303030 1.757576
2    Atlético/GO 1.250000 0.7500000 1.2941176 1.647059 1.272727 1.212121
3    Atlético/MG 1.470588 1.1764706 1.0000000 1.812500 1.242424 1.484848
4    Atlético/PR 1.235294 1.0588235 0.7500000 2.000000 1.000000 1.515152
5           Avaí 1.470588 1.7647059 1.1875000 2.437500 1.333333 2.090909
6          Bahia 1.411765 1.1764706 0.9375000 1.500000 1.181818 1.333333
7       Botafogo 2.058824 0.9411765 0.8750000 1.375000 1.484848 1.151515
8          Ceará 1.687500 1.1875000 0.7058824 2.117647 1.181818 1.666667
9    Corinthians 1.750000 1.0625000 1.1176471 1.000000 1.424242 1.030303
10      Coritiba 2.250000 0.8125000 0.9411765 1.470588 1.575758 1.151515
11      Cruzeiro 1.437500 1.3125000 0.8823529 1.529412 1.151515 1.424242
12   Figueirense 1.312500 0.8750000 1.2941176 1.411765 1.303030 1.151515
13      Flamengo 1.705882 1.0588235 1.7500000 1.625000 1.727273 1.333333
14    Fluminense 1.812500 1.0000000 1.1176471 1.529412 1.454545 1.272727
15        Grêmio 1.750000 1.0000000 0.7058824 1.647059 1.212121 1.333333
16 Internacional 1.882353 1.3529412 1.3125000 1.062500 1.606061 1.212121
17     Palmeiras 1.352941 0.8823529 0.8750000 1.312500 1.121212 1.090909
18        Santos 1.705882 1.0588235 1.2500000 1.750000 1.484848 1.393939
19     São Paulo 1.375000 1.0000000 1.5294118 1.529412 1.454545 1.272727
20         Vasco 1.687500 0.6875000 1.2941176 1.529412 1.484848 1.121212


mGP = Média de Gols feitos (.m = mandante, .v = visitante)
mGC = Média de Gols sofridos (.m = mandante, .v = visitante)
> 

Esta função foi codificada da seguinte forma:

calculateMean <- function(df) {

    G <- standings(df)

    mg <- data.frame(
        Equipe = G$Equipe,
        mGP.m = ifelse(G$J.m > 0, G$GP.m / G$J.m, 0),
        mGC.m = ifelse(G$J.m > 0, G$GC.m / G$J.m, 0),
        mGP.v = ifelse(G$J.v > 0, G$GP.v / G$J.v, 0),
        mGC.v = ifelse(G$J.v > 0, G$GC.v / G$J.v, 0),
        mGP = ifelse(G$J > 0, G$GP / G$J, 0),
        mGC = ifelse(G$J > 0, G$GC / G$J, 0)
    )

    return(mg)

}

Esta função na verdade fornece parâmetros para as distribuições de probabilidade utilizadas para gerar os resultados. Neste caso, está sendo adotada a premissa de que o número de gols feitos e sofridos por uma equipe seguem uma distribuição de probabilidades chamada Poisson. A média de gols é utilizada como parâmetro lambda desta distribuição.

Previsões Brasileiro 2011 - Por quê as probabilidades mudam?

Continuando a série de posts contendo as probabilidades para o Campeonato Brasileiro, neste post explicarei alguns conceitos envolvidos no cálculo das referidas probabilidades, o farei sob a forma de perguntas e respostas, uma em cada post por motivos de organização.

P: Por quê as probabilidades de cada equipe mudam com o tempo?

R: Isso se deve a uma coisa que se chama probabilidade condicional.

Imagine que você tenha uma moeda. Para você ganhar, você tem que conseguir pelo menos 2 caras em 3 lançamentos de moeda.

então temos:

    C = Face superior saiu Cara
    K = Face superior saiu Coroa

Em um lançamento, temos chances iguais para cada lado (50% cara, 50% coroa)

em três lançamentos, temos o seguinte quadro:

    CCC (Você ganha com esta combinação)
    CCK (Você ganha com esta combinação)
    CKC (Você ganha com esta combinação)
    KCC (Você ganha com esta combinação)
    CKK (você perde com esta combinação)
    KCK (você perde com esta combinação)
    KKC (você perde com esta combinação)
    KKK (você perde com esta combinação)

Ao se calcular as chances, veremos que inicialmente temos 50% de probabilidade tanto para sucesso quanto para fracasso.

Agora, imagine que logo no 1o lançamento, você obteve cara, alcançando metade de seu objetivo. O cenário de possibilidades ficaria:

    (C)CC (Você ganha com esta combinação)
    (C)CK (Você ganha com esta combinação)
    (C)KC (Você ganha com esta combinação)
    (C)KK (Você perde com esta combinação)

Como que por encanto, após um lançamento, três em cada quatro das combinações possíveis de resultado passaram a lhe ser favoráveis. Isso aconteceu porque o problema agora ganhou mais informação. a probabilidade deixou de ser calculada como "Probabilidade de se obter pelo menos duas caras em três lançamentos de moeda" passou a ser "Probabilidade de se obter pelo menos duas caras em três lançamentos de moeda DADO QUE eu obtive cara no primeiro lançamento". Note que antes tinhamos 3 lançamentos restantes, agora temos apenas 2. Não houve mudança de regras, nada disso, apenas o jogo está no meio, em andamento, por isso o condicionante "DADO QUE".

No caso do Futebol, no início do campeonato, temos 20 equipes, 38 jogos para cada uma, 380 jogos ao todo, 3 resultados possíveis (sendo simplista, apenas considerando vitória, empate e derrota), o que daria aproximadamente 2x 10^181 possibilidades de resultado. Hoje (7 de novembro de 2011), muitas destas combinações de resultado não existem mais, ficando da ordem de 10^23. Permanece o mesmo problema de antes, apenas reduziram-se as possibilidades, mais informação foi adquirida.
.
Nos próximos posts responderei a outros questionamentos feitos durante a última semana, caso exista alguma dúvida, basta dar retorno que tentarei responder da melhor maneira possível.

segunda-feira, 31 de outubro de 2011

Previsões Brasileiro 2011 - meus pitacos

Quem me acompanha sabe que a uns 5 anos eu faço por diversão estudos de simulação do Campeonato Brasileiro de Futebol série A.

No último fim de semana, eu andei adaptando os scripts que possuia, os quais eram totalmente escritos em Java,  passando para algo mais próximo de um Estatístico, que é o software R.

As vantagens desta migração são imensas no ponto de vista estatístico, pois os dados passam a ser gerados com algumas facilidades em termos de idéias que não seriam facilmente implementadas em uma linguagem de programação normal.

A partir da rodada seguinte, tentarei colocar alguns destes resultados disponíveis neste meu espaço.

Quero deixar claro que esta divulgação se dá como meio de fazer algo "diferente" do que já existe. algo com um apelo mais estatístico, não tenho intenção de "acertar", sim de mostrar a maneira mais correta de se interpretar as informações que possuímos em mãos.

Para este primeiro preview, fiz uma simulação bem curta, apenas para testar o mecanismo que construí, à medida que forem surgindo idéias de como mostrar melhor esta informação, elas serão com certeza discutidas neste blog.

tentarei colar aqui as saídas tal e qual foram geradas. em um futuro, discutirei com calma todos os detalhes envolvidos no processo entre se ter uma tabela do campeonato semi-preenchida e se obter as probabilidades finais.

As probabilidades para a "libertadores" ainda não foram totalmente corrigidas, creio que nas próximas versões eu possa mostrá-las com maior detalhe, pois elas envolvem algumas coisas que, em princípio, parecem triviais mas acabam por serem tediosos e se não forem feitos com a devida atenção. O resultado será um cálculo errado das mesmas.

Vamos lá então:

Brasileiro 2011- 32ª rodada - Série A - Janela: 10.000 iterações


> probabilities(dados)
               Camp.   top5  last4
América/MG    0.0000 0.0000 0.9915
Atlético/GO   0.0000 0.0021 0.0007
Atlético/MG   0.0000 0.0000 0.0846
Atlético/PR   0.0000 0.0000 0.7610
Avaí          0.0000 0.0000 0.8638
Bahia         0.0000 0.0000 0.2022
Botafogo      0.0742 0.7711 0.0000
Ceará         0.0000 0.0000 0.7437
Corinthians   0.4567 0.9874 0.0000
Coritiba      0.0000 0.0379 0.0000
Cruzeiro      0.0000 0.0000 0.3442
Figueirense   0.0063 0.3222 0.0000
Flamengo      0.0077 0.3717 0.0000
Fluminense    0.0403 0.6666 0.0000
Grêmio        0.0000 0.0478 0.0000
Internacional 0.0107 0.5200 0.0000
Palmeiras     0.0000 0.0005 0.0083
Santos*       0.0000 0.0340 0.0000
São Paulo     0.0019 0.2606 0.0000
Vasco*        0.4022 0.9781 0.0000
* - Equipes previamente classificadas para a copa Toyota Libertadores 2012
> 


Uma maneira mais visual de se mostrar estes dados é a demonstrada a seguir:


A figura anterior foi gerada pelo comando a seguir do software R:

boxplot(
Pos~Equipe, data=dados,
horizontal=TRUE, 
las=2, cex=0.6, col="grey",
xlab="posição prevista ao final do campeonato"
)
abline(v=c(4.5,16.5),lty="dotdash")
title("Boxplot: posição prevista ao final do campeonato")


Gerei mais uma figura semelhante à anterior, representando a pontuação que cada equipe supostamente fará ao fim do campeonato:


a figura foi gerada através do seguinte comando do software R:


boxplot(
P~Equipe, data=dados,
horizontal=FALSE,
las=3, cex=0.5, col="grey",
ylab="Pontuação prevista ao final do campeonato"
)
abline(h=c(68,60,41),lty="dotdash")
title("Boxplot: pontuação prevista por equipe ao final do campeonato")


Pretendo retomar este assunto mais para o fim da semana, afinal de contas estou de folga e com criatividade a mil.