Sobre a má intuição de estimadores não-viesados

Nota: este texto é uma reflexão sobre um tema nerd de estatística, de interesse para quase nenhum dos meus leitores. Coloco aqui no blog apenas porque há um ou dois leitores potencialmente interessados, e para documentar minha reflexão a respeito do tema. Ainda estou quebrando a cabeça para ver se entendi o que acho que entendi. E escrever ajuda a consolidar as ideias. Logo, logo voltaremos à programação normal.

Update: atualizei o texto para ficar mais claro.

##########

Um dos objetivos tradicionais da estatística frequentista é a obtenção de estimadores não-viesados, que basicamente significam que, em média, a estimativa é igual ao verdadeiro valor do parâmetro (estimado). A intuição por trás do viés (ou ausência dele) é dada, em geral, pela figura abaixo:

 

 

 

 

 

 

 

 

 

 

É realmente uma infelicidade que nós aprendamos a intuição de um estimador não-viesado dessa forma, pois a gente tende a pensar que nossas estimativas vão ficar homogeneamente distribuídas em torno da média. Nada mais longe da verdade, exceto para alguns casos particulares, como a distribuição normal. Dou a seguir um exemplo trivial onde isso não acontece*, e discuto qual a intuição mais adequada para o conceito de não-viesado.

O gráfico abaixo mostra uma simulação de 100 estimativas pontuais, utilizando um estimador não viesado da média de uma variável aleatória cuja distribuição é uma LogNormal ao quadrado. Como se pode ver, todas as estimativas são próximas de zero, quanto o verdadeiro valor do parâmetro é muito maior.

chart_unbiased

O que o gráfico acima mostra (código em R abaixo, para replicar o resultado), é que não há razão (necessária) para que o estimador não-viesado fique próximo do verdadeiro valor do parâmetro.

Dou um outro exemplo de estimador não-viesado. É possível construir um exemplo de uma sequência (finita) de estimativas cuja média é próxima do verdadeiro valor do parâmetro, e no entanto todas as estimativas individuais são distantes do verdadeiro valor. Suponha que o verdadeiro valor do parâmetro é 100. Meu estimador funciona da seguinte maneira: com probabilidade .99, a estimativa é zero, e com probabilidade .01 a estimativa é 10.000. Então, em média meu estimador é igual ao verdadeiro valor do parâmetro, ainda que nunca seja igual ao verdadeiro valor do parâmetro, nem mesmo um valor próximo dele.

Que a gente tenha uma intuição errada do que significa não viesado é ilustrativo de como é difícil ensinar (e aprender) estatística. Acredito que a questão está relacionada com estimadores consistentes, uma vez que, à medida que o tamanho da amostra vai para infinito, o valor converge para o verdadeiro valor do parâmetro. Os exemplos acima são de estimadores não-consistentes, salvo melhor juízo.

ps.: Meu exemplo (da simulação com o código do R) é diferente do Stats Exchange, e de propósito. Lá ele está crescendo a variância. Eu quis mostrar que, com a variância fixa, um estimador não viesado, na prática, é bastante “viesado” em relação ao verdadeiro valor do parâmetro. O que estou fazendo, matematicamente, é o seguinte: eu tenho uma v.a. X ~ N(mu, sigma^2). Sabendo que se X é Normal, então y = exp(x) ~ LN(mu, sigma^2). E estou interessado em E[y^2], que é igual a: exp(2*mu + 2*sigma^2). Usando mu = 1 e sigma = 2, segue que E[y^2] = exp(10). E vou estimar E[y^2] pela média amostral, que é um estimador não-viesado da média populacional. E em 100 amostras, minhas média amostral ficou bastante distante da média populacional.

Código do R:

unbiased <- numeric()
for (i in 1:100) {
  x <- rnorm(1e3, 1, 2) # var = 4, sd= 2
  x <- exp(x)
  x_sq <- x^2
  unbiased[i] <- mean(x_sq)
}
 
library(ggplot2)
tru <- exp(2+2*4)
df <- data.frame(x = unbiased, true=tru, y = 1:length(unbiased))
 
 
p <- ggplot(df, aes(x=x, y=y)) + geom_point( size=.7) +
 coord_flip() + geom_vline(aes(xintercept=tru), colour="blue") +
  annotate("text", label= "Verdadeiro valor do parâmetro", x = tru - 3e5, y = 20, colour= "blue" ) +
  xlab("Estimativa pontual") + ylab("sequência de observações") +
theme_bw()
 
p
 
ggsave("chart_unbiased.png", p)

 

Anúncios

Sobre Manoel Galdino

Corinthiano, Bayesiano e Doutor em ciência Política pela USP.
Esse post foi publicado em estatística e marcado , , , , , . Guardar link permanente.

5 respostas para Sobre a má intuição de estimadores não-viesados

  1. Rafael disse:

    Acho que o exemplo que você dá não ilustra o mesmo ponto do post no SO. Quando você escreve que “é possível construir um exemplo de uma sequência (finita) de estimativas cuja média é próxima do verdadeiro valor do parâmetro, e no entanto todas as estimativas individuais são distantes do verdadeiro valor”, podemos pensar simplesmente em um estimador que é não-viesado mas extremamente ineficiente.

    Toda a redação do parágrafo abaixo do gráfico me remete a estimadores ineficientes, mas não ilustram necessariamente uma falha na nossa concepção “tradicional” de estimadores não-viesados. Outro exemplo: “Então, em média meu estimador é igual ao verdadeiro valor do parâmetro, ainda que nunca seja igual ao verdadeiro valor do parâmetro, nem mesmo um valor próximo dele”.

    A beleza do exemplo do SO, se o entendi bem, é que com valores baixos de /mu e /sigma a média é uma boa aproximação da E[X] em uma log-normal, mas a coisa desanda quando você aumenta só um pouquinho esses parâmetros. Seu exemplo não tem esse efeito, e seu eixo x dá o número de casos em vez da magnitude dos parâmetros da log-normal. Veja se não estou falando besteira.

    Por fim, seu gráfico está esquisito, você diz que o valor verdadeiro é 100 mas no gráfico ele aparece lá em cima. Se estivesse no lugar correto, você teria um ponto acima do seu valor verdadeiro, o que, novamente, não é previsto no post do SO. Como eles dizem lá, quanto mais você aumenta /mu e /sigma, menor é a probabilidade de uma observação estar acima do valor esperado.

  2. De fato meu exemplo é diferente do Stats Exchange, e de propósito. Lá ele está crescendo a variância. Eu quis mostrar que, com a variância fixa, um estimador não viesado, na prática, é bastante “viesado” em relação ao verdadeiro valor do parâmetro. O que estou fazendo, matematicamente, é o seguinte: eu tenho uma v.a. X ~ N(mu, sigma^2). Sabendo que se X é Normal, então y = exp(x) ~ LN(mu, sigma^2). E estou interessado em E[y^2], que é igual a : exp(2*mu + 2*sigma^2). Usando mu = 1 e sigma = 2, segue que E[y^2] = exp(10). E vou estimar E[y^2] pela média amostral, que é um estimador não-viesado da média populacional. E em 100 amostras, minhas média amostral fica bastante distante da média populacional. Espero que tenha ficado mais claro o que eu fiz.

  3. Rafael disse:

    Acho que entendi, você está explorando um caso específico do exemplo do SE. O curioso é que, para um \sigma baixo como o seu, o estimador deveria funcionar. O exemplo do SE mostra que o estimador desanda a partir de T +/- 25. É isso mesmo?

    É impressão minha ou o corpo do post está diferente? Eu tinha entendido que o exemplo do valor verdadeiro = 100 era o mesmo do plot, mas agora parecem dois exemplos diferentes. Eu tb referenciei no meu comentário o “parágrafo abaixo do gráfico”, mas agora não é mais o mesmo. Estou maluco?

  4. Editei o post para ficar mais claro, acrescentando algumas coisas, então sim, mudei o texto. E tbm achei curioso que com um sigma baixo já dá “errado” no meu caso. Mas pode ser uma questão de parametrização da LogNormal (mu e sigma podem estar exponenciados ou não).

  5. davicmoreira disse:

    Não consegui captar qual “a intuição mais adequada para o conceito de não-viesado”….

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s