Como os discrepantes devem ser tratados na análise de regressão linear?

73

Muitas vezes, um analista estatístico recebe um conjunto de dados definido e é solicitado a ajustar um modelo usando uma técnica como regressão linear. Com muita frequência, o conjunto de dados é acompanhado por um aviso semelhante a "Ah, sim, nós erramos ao coletar alguns desses pontos de dados - faça o que puder".

Essa situação leva a ajustes de regressão que são fortemente impactados pela presença de valores discrepantes que podem ser dados incorretos. Dado o seguinte:

  • É perigoso, tanto do ponto de vista científico quanto moral, descartar dados por nenhuma outra razão, a não ser que "faça o ajuste parecer ruim".

  • Na vida real, as pessoas que coletaram os dados frequentemente não estão disponíveis para responder perguntas como "ao gerar esse conjunto de dados, quais dos pontos você estragou exatamente?"

Quais testes estatísticos ou regras práticas podem ser usados ​​como base para excluir discrepantes na análise de regressão linear?

Existem considerações especiais para a regressão multilinear?

Sharpie
fonte
Relacionado: possível fraude com isso: stats.stackexchange.com/questions/37865/… | R COMO: stats.stackexchange.com/questions/53227/...
Ciro Santilli新疆改造中心法轮功六四事件

Respostas:

33

Em vez de excluir discrepantes, você pode usar um método robusto de regressão. Em R, por exemplo, a rlm()função do pacote MASS pode ser usada em vez da lm()função. O método de estimativa pode ser ajustado para ser mais ou menos robusto aos valores extremos.

Rob Hyndman
fonte
Se estiver usando a função rlm (), vejo os coeficientes e seus testes t são produzidos. Mas como posso obter os valores do quadrado-R do teste f daqui? Suponho que não posso simplesmente trazer esses valores do teste f e do quadrado R dos resultados simples do resumo 'lm' se estiver correto.
Eric
11
Para uma regressão robusta, as suposições por trás de um teste F não são mais satisfeitas e R ^ 2 pode ser definido de várias maneiras que não são mais equivalentes. Veja stats.idre.ucla.edu/stata/faq/… para uma discussão sobre o Stata.
Rob Hyndman
Veja também stats.stackexchange.com/a/68367/159
Rob Hyndman
Mas acho o comando chamado f.robftest do pacote sfsmisc, que fornece o resultado do teste f. Posso usar esse resultado para definir as estatísticas do teste f para rlm? Além disso, pareço obter o quadrado R simplesmente inserindo os valores na fórmula matemática do quadrado R como 1 - soma (resíduos (rlm (y ~ x)) ^ 2) / soma ((média-y (y)) ^ 2) . Para os valores do teste t para verificar a significância dos coeficientes, obtenho os valores do teste t do resumo (rlm (y ~ x)) que eu comparo com os valores t dos níveis de confiança de 95% ou mais. Posso usar esses métodos?
6117 Eric
22

Às vezes, os outliers são dados incorretos e devem ser excluídos, como erros de digitação. Às vezes, eles são Wayne Gretzky ou Michael Jordan, e devem ser mantidos.

Os métodos de detecção de outlier incluem:

Univariado -> boxplot. fora da faixa inter-quartil 1,5 vezes é um erro externo.

Bivariada -> gráfico de dispersão com elipse de confiança. fora da elipse de confiança de 95%, por exemplo, é um erro externo.

Multivariada -> distância Mahalanobis D2

Marque essas observações como discrepantes.

Execute uma regressão logística (em Y = IsOutlier) para verificar se existem padrões sistemáticos.

Remova os que puder demonstrar que não são representativos de nenhuma subpopulação.

Neil McGuigan
fonte
E se você ainda tiver discrepâncias, considere usar um modelo diferente de linear. Por exemplo, se você usar um modelo com comportamento semelhante à lei de poder, Michael Jordan não será mais um discrepante (em termos de capacidade do modelo para acomodá-lo).
precisa saber é o seguinte
11
Concordo com a maior parte do que foi dito aqui, mas gostaria de acrescentar a cautela adicional de que " fora do intervalo interquartil de 1,5 vezes é um erro externo " é uma convenção , não uma regra com qualquer fundamento teórico. Não deve ser usado como justificativa para excluir pontos de dados.
mkt - Restabelece Monica
20

Eu acho que há algo a ser dito para excluir apenas os valores extremos. Uma linha de regressão deve resumir os dados. Por causa da alavancagem, você pode ter uma situação em que 1% dos seus pontos de dados afeta a inclinação em 50%.

Só é perigoso do ponto de vista moral e científico se você não contar a ninguém que excluiu os valores extremos. Contanto que você os indique, você pode dizer:

"Essa linha de regressão se encaixa muito bem na maioria dos dados. Em 1% do tempo, surgirá um valor que não se encaixa nessa tendência, mas, ei, é um mundo louco, nenhum sistema é perfeito"

Chris Beeley
fonte
11
"ei, é um mundo louco, nenhum sistema é perfeito" +1 para isso meu amigo! :)
bartektartanus 5/05
11
Considere outros modelos embora. O mundo estava cheio de "outliers" removidos que eram dados reais, resultando em falha em prever algo realmente importante. Muitos processos naturais têm um comportamento semelhante à lei do poder, com eventos extremos raros. Os modelos lineares podem parecer ajustar esses dados (embora não muito bem), mas usar um e excluir os "outliers" significa perder esses eventos extremos, que geralmente são importantes para se conhecer!
Drevicko
10

Sharpie,

Tomando sua pergunta literalmente, eu argumentaria que não há testes estatísticos ou regras práticas podem ser usadas como base para excluir discrepantes na análise de regressão linear (em vez de determinar se uma determinada observação é discrepante). Isso deve vir do conhecimento da área de assunto.

Eu acho que a melhor maneira de começar é perguntar se os discrepantes fazem sentido, especialmente considerando as outras variáveis ​​que você coletou. Por exemplo, é realmente razoável que você tenha uma mulher de 200 quilos em seu estudo, recrutada em várias clínicas de lesões esportivas? Ou não é estranho que uma pessoa tenha 55 anos ou experiência profissional quando tiver apenas 60 anos? E assim por diante. Felizmente, você tem uma base razoável para descartá-los ou fazer com que os compiladores de dados verifiquem os registros para você.

Eu também sugeriria métodos de regressão robustos e o relatório transparente de observações descartadas, conforme sugerido por Rob e Chris, respectivamente.

Espero que isso ajude, Brenden

Brenden
fonte
5

Existem duas medidas estatísticas de distância especificamente criadas para detectar discrepâncias e, em seguida, considerar se essas discrepâncias devem ser removidas da sua regressão linear.

O primeiro é a distância de Cook. Você pode encontrar uma boa explicação sobre isso na Wikipedia: http://en.wikipedia.org/wiki/Cook%27s_distance .

Quanto maior a distância de Cook, mais influente (impacto no coeficiente de regressão) a observação é. O ponto de corte típico para considerar a remoção da observação é a distância de Cook = 4 / n (n é o tamanho da amostra).

O segundo é o DFFITS, que também é bem coberto pela Wikipedia: http://en.wikipedia.org/wiki/DFFITS . O ponto de corte típico para considerar a remoção de uma observação é um valor DFFITS de 2 vezes sqrt (k / n) em que k é o número de variáveis ​​en é o tamanho da amostra.

Ambas as medidas geralmente fornecem resultados semelhantes, levando a uma seleção de observação semelhante.

Sympa
fonte
3

Lixo dentro, lixo fora ....

Implícito na obtenção de todos os benefícios da regressão linear é que o ruído segue uma distribuição normal. Idealmente, você tem principalmente dados e um pouco de ruído ... não muito ruído e um pouco de dados. Você pode testar a normalidade dos resíduos após o ajuste linear observando os resíduos. Você também pode filtrar os dados de entrada antes do ajuste linear para erros óbvios e evidentes.

Aqui estão alguns tipos de ruído nos dados de entrada de lixo que normalmente não se ajustam a uma distribuição normal:

  • Dígitos ausentes ou adicionados com dados inseridos manualmente (desativado por um fator de 10 ou mais)
  • Unidades convertidas erradas ou incorretamente (gramas x quilos x libras; metros, pés, milhas, km), possivelmente pela fusão de vários conjuntos de dados (Nota: o Mars Orbiter foi considerado perdido dessa maneira, para que até os cientistas dos foguetes da NASA possam fazer isso erro)
  • O uso de códigos como 0, -1, -99999 ou 99999 para significar algo não numérico como "não aplicável" ou "coluna indisponível" e apenas despejar isso em um modelo linear junto com dados válidos

Escrever uma especificação para o que são "dados válidos" para cada coluna pode ajudá-lo a marcar dados inválidos. Por exemplo, a altura de uma pessoa em cm deve estar em uma faixa, por exemplo, de 100 a 300 cm. Se você encontrar 1,8 para altura, isso é um erro de digitação e, embora você possa assumir que era 1,8 m e alterá-lo para 180 - eu diria que geralmente é mais seguro jogá-lo fora e melhor documentar o máximo possível da filtragem.

Paulo
fonte
1

Para uma regressão linear, você pode usar um ajuste mediano repetido na linha reta.

babelproofreader
fonte
0

Testes estatísticos a serem usados ​​como base para exclusão: - resíduos padronizados - estatísticas de alavancagem - distância de Cook, que é uma combinação dos dois acima.

Por experiência, a exclusão deve ser limitada a instâncias de entrada de dados incorreta. Re-ponderar valores discrepantes no modelo de regressão linear é um método de compromisso muito bom. A aplicação disso em R é oferecida por Rob. Um ótimo exemplo está aqui: http://www.ats.ucla.edu/stat/r/dae/rreg.htm

Se a exclusão for necessária, 'uma regra geral' se relaciona às estatísticas do Dfbeta (as medidas mudam na estimativa quando o outlier é excluído), de modo que, se o valor absoluto da estatística do DfBeta exceder 2 / sqrt (n), isso comprova a remoção de o outlier.

mkrasmus
fonte