Culto da significância estatística – alterando a base de dados.


O foco em encontrar resultados ‘significantes’ gera coisas bizarras:

“Fox came to me to apologize after he admitted to the fabrication. He described how and why he started tampering with data. The first time it happened he had analyzed a dataset and the results were just shy of significance. Fox noticed that if he duplicated a couple of cases and deleted a couple of cases, he could shift the p-value to below .05. And so he did. Fox recognized that the system rewarded him, and his collaborators, not for interesting research questions, or sound methodology, but for significant results. When he showed his collaborators the findings they were happy with them—and happy with Fox.”

Continue lendo aqui.

Replicação de 100 estudos de psicologia: efeitos reduzidos pela metade, apenas 47% com magnitudes dentro do intervalo de confiança


O pessoal do Open Science Framework acabou de concluir um trabalho hercúleo: durante mais de 3 anos, juntaram 270 colaboradores para realizar 100 replicações de 98 artigos de psicologia. Todos os materiais do projeto, para cada replicação, encontram-se disponíveis no site, inclusive os códigos em R!

E quais os resultados? Os efeitos replicados tiveram a magnitude estimada reduzida pela metade quando comparados com os efeitos originais. Apenas 36% das replicações alcançaram “significância” estatística (p-valor menor do que 5%) e apenas 47% dos efeitos originais ficaram dentro do intervalo de confiança de 95% das replicações. Supondo que não exista viés de seleção nos estudos originais (o que é difícil de acreditar, considerando os resultados acima), uma meta análise combinando os resultados indica apenas 68% dos efeitos como “significantes”. 

Essa é uma iniciativa fantástica, é ciência como deve ser feita. E que venham mais replicações, para termos estimativas mais precisas, sem viés de publicação, do tamanho e da incerteza ao redor desses efeitos.

PS: Em economia, provavelmente nossa situação é ainda pior: a maior parte de nossos estudos é baseada em dados observacionais.

Que variáveis incluir na regressão? Ou, por que grande parte dos trabalhos aplicados está errada.


Suponha que você queira medir o efeito de X em Y (isto é, o quanto uma variação de X afeta Y – uma relação causal) e que você tenha mais duas variáveis que podem ser incluídas como controle, Z1 e Z2. Suponha ainda que você saiba que o modelo é linear, isto é, não há nenhuma incerteza com relação à especificação. Quais variáveis você incluiria no seu modelo?

Hoje, provavelmente você diria o seguinte: depende da significância! São Z1 e Z2 significantes? Se sim, eles devem ser incluídos.

Vejamos um exemplo de uma simulação. O código em R está ao final do post.

Vamos rodar as três regressões: uma só com X, outra incluindo Z1 e por fim uma com todos os controles. Os resultados foram os seguintes:

Equação 1: Y = -10 + 43X ***

Equação 2: Y = -7 + 13X * + 107Z1 ***

Equação 3: Y = -5 – 9X * + 46Z1 *** + 37Z2 ***

Pelos resultados, tanto Z1 quanto Z2 são significantes, então preferimos a equação 3. Concluímos que, na média, uma variação de 1 unidade de X reduz Y em 9 unidades. Certo?

***

Errado. O modelo ideal neste caso seria a equação 2. O efeito real de X sobre Y é de 10 (veja que valor estimado foi 13, bem próximo). O problema aqui é que a significância estatística não vai te responder sobre a pertinência de incluir ou não uma variável para estimar o efeito de X sobre Y. Infelizmente, não há almoço grátis. Como diz Judea Pearlsem saber a estrutura do problema, não é possível determinar quais variáveis devem ser incluídas. Agora pense. Como é a lógica de trabalho dos artigos aplicados hoje? *** A simulação A nossa simulação tem a seguinte estrutura  (U1 e U2 dizem respeito a duas variáveis não observadas, só observamos Y, X, Z1 e Z2): dagitty-model O código em R para gerar os resultados é:

gen_data <- function(N=200,s=2,beta1=10, beta2=100){
Z1 <- rnorm(N,0,s)
U2 <- rnorm(N,0,s) + Z1
U1 <- rnorm(N,0,s) + Z1
Z2 <- rnorm(N,0,s) + U2 + U1
X <- rnorm(N,0,s) + U1
Y <- rnorm(N,0,s) + beta1*X + beta2*U2
data.frame(Y,X,Z1,Z2)
}

set.seed(100)
data <- gen_data()
summary(lm(Y~X, data))
summary(lm(Y~X + Z1, data))
summary(lm(Y~X + Z1 + Z2, data))

Você pode brincar mais com o paradoxo de Simpson aqui; e o gráfico você pode fazer aqui.

Ensinem estatística ao Banco Mundial. Ou culto da significância estatística IV.


Considere duas amostras aleatórias, com 10 observações, retiradas de uma distribuição normal com médias diferentes e mesma variância desconhecida. Para utilizar um exemplo concreto, simulei no R duas amostras, uma de uma normal com média 5 e desvio-padrão 3 e a outra de uma normal com média 2 e desvio-padrão 3.

As amostras resultaram nas seguintes estatísticas:

***

Amostra 1

Média amostral: 5,3

Desvio-padrão amostral: 2,9

Intervalo de 95% de confiança: 3,2 a 7,4

***

Amostra 2

Média amostral: 2,6

Desvio-padrão amostral: 2,2

Intervalo de 95% de confiança: 0,7 a 4,5

***

Note que os intervalos de confiança se cruzam. O limite inferior da amostra 1 é 3,2 e o limite superior da amostra 2 é 4,5.

Isso quer dizer que a diferença entre as médias amostrais não é estatisticamente significante a 5%?

Não, fazendo um teste t para a diferença entre duas médias com variância igual você obtém um resultado estatisticamente significante a 5%, com intervalo de 95% de confiança indicando diferenças entre 0,5 a 5. Mesmo supondo que você não soubesse que as variâncias fossem iguais, o teste t de Welch nos dá um intervalo de 95% de confiança para a diferença entre as médias entre 0,1 e 5,3.

Agora imagine que esses dados eram de crescimento de PIB, isto é, um grupo tem média amostral de crescimento de 5,3% e outro de 2,6%. Se você comparasse os intervalos de confiança, você poderia tender a falar que os dois grupos não têm crescimento “diferentes”… quando, na verdade, o próprio teste clássico de diferenças entre médias indica uma diferença entre 0,5 e 5 pontos percentuais, que abarca magnitudes muito relevantes em termos de crescimento econômico!

Mas esse erro acontece?

Sim, no Banco Mundial. No EconBrowser, sobre a controvérsia Reinhart and Rogoff, Chinn divulgou este gráfico relacionando a média de crescimento e o percentual de endividamento público em relação ao PIB. As barras são a média e a linha preta representa o intervalo de 95% de confiança .

debtgdpgrowth.png

Note que, apesar de a média de crescimento dos países com alto endividamento (mais de 90% do PIB) ser bem menor do que a média dos demais, os intervalos de confiança se cruzam. Isso levou o pessoal do blog do banco mundial a dizer que “[…] the confidence intervals of all three bins above the 30 percent debt/GDP threshold also overlap. On this (admittedly crude) basis, then, any claim that a 1 percent growth differential over a decade compounds is simply overstating the case made by the data.”

Isso não é verdade, o simples fato de os intervalos de 95% de confiança cruzarem não quer dizer nada, mesmo se você achasse que significância estatística pura fosse o ponto relevante aqui. Como vimos no exemplo anterior, super simples, os intervalos de confiança podem se cruzar e mesmo assim a diferença ser “estatisticamente significante” e indicar diferenças economicamente relevantes! Cientes do erro, os autores fizeram um postscript alertando para o fato e reduzindo o intervalo de confiança do gráfico para um erro-padrão. O problema é que mesmo nesse caso, se houver alguma forma de dependência entre as amostras (o que provavelmente é o caso), a comparação também não é correta.

Apesar da brincadeira do título, isso não foi uma “burrice” do Banco Mundial. Um problema que tenho encontrado ao discutir estes assuntos é que, em geral, as pessoas acham que somente somente journals de “baixa qualidade” publicam coisas deste tipo. Ledo engano… a incompreensão sobre intervalos de confiança, significância estatística, p-valores é pervasiva nas ciências sociais, inclusive em trabalhos aplicados nas melhores revistas e com os melhores pesquisadores!

PS: como havia dito em post anterior, o risco de escrever em blogs é não ter revisor. Agradeço ao Fábio Gomes por corrigir um erro primário constante na primeira e afobada versão deste post, escrita ontem de madrugada!

Culto da significância estatística I: um exemplo do teste de normalidade


A maioria dos trabalhos econométricos aplicados parece confundir significância estatística com significância prática ou econômica.  Apesar de ser um problema simples, por ser uma prática bastante difundida, percebe-se que ainda há certa dificuldade de entender como e quando isso ocorre.

Aproveitando o post do Dave Giles, vamos dar um exemplo corriqueiro: um teste de normalidade.

Ao tomar um artigo aplicado que utilize o teste de normalidade, é provável que você se depare com o seguinte procedimento.

1) O autor escolherá algum teste frequentista disponível, como o bastante utilizado teste de Jarque-Bera.

2) O teste de Jarque-Bera tem como hipótese nula a normalidade. Assim, se o p-valor for menor do que 5% (ou 10%), p<0,05 (p<0,10), então o autor rejeita a normalidade. Já se p>0,05, aceita-se a normalidade.

O que acabamos de descrever acima é algo bastante comum e é um dos exemplos da confusão entre significância estatística e significância prática ou econômica.

Por quê?

Porque você, muito provavelmente, não quer saber se a distribuição é exatamente normal, mas sim se ela é aproximadamente normal.  E o teste, da forma como está formulado, não responde a última pergunta.

Apenas o p-valor não irá te dizer o quão grande é o desvio em relação à normalidade.

O teste Jarque-Bera utiliza como parâmetros os coeficientes de curtose e assimetria (que na normal são de 3 e 0, respectivamente).  Queremos saber se nossa distribuição é aproximadamente normal porque, desvios muitos grandes, como, por exemplo, uma curtose acima de 4 e assimetria acima de 1 invalidaria nossos erros-padrão e intervalos de confiança.

Agora imagine que sua distribuição tenha os coeficientes iguais a 3,000000000001 e 0,00000000000001. Podemos dizer que a distribuição seria, para fins práticos, igual a uma normal, pois assumir normalidade não prejudicaria sua inferência. Mas, com uma amostra enorme, você consegue ter um p-valor arbitrariamente baixo, como p<0,00001 – um resultado “significante” – e você rejeitaria a normalidade quando ela é cabível.

Vide o caso do post do Dave Giles, em que com uma amostra de 10.000 observações você poderia rejeitar a normalidade “a 10% de significância”, sendo que, para fins práticos, muito provavelmente os desvios sugeridos poderiam ser negligenciáveis.

Por outro lado, você poderia ter uma distribuição cujos coeficientes fossem iguais a 5 e 2, mas, devido ao reduzido tamanho amostral, o p-valor poderia ser moderado, como p=0,30. O resultado não é “significante”. Mas, neste caso, você aceitaria a normalidade em uma situação em que qualquer inferência posterior seria completamente prejudicada.