É totalmente defensável estratificar um conjunto de dados pelo tamanho do resíduo e fazer uma comparação de duas amostras?


16

Isso é algo que estou vendo feito como uma espécie de método ad-hoc e me parece muito suspeito, mas talvez esteja faltando alguma coisa. Já vi isso em regressão múltipla, mas vamos simplificar:

yEu=β0 0+β1xEu+εEu

Agora pegue os resíduos do modelo ajustado

eEu=yEu-(β^0 0+β^1xEu)

e estratificar a amostra com base no tamanho dos resíduos. Por exemplo, digamos que a primeira amostra seja a parte inferior dos 90% dos resíduos e a segunda amostra seja a parte superior dos 10%, depois faça duas comparações de amostras - vi isso feito tanto no preditor do modelo, , quanto em variáveis ​​que não estão no modelo. A lógica informal usada é que talvez pontos que tenham valores muito acima do que você esperaria no modelo (ou seja, um grande residual) sejam diferentes de alguma forma, e essa diferença seja investigada dessa maneira.x

Meus pensamentos sobre o assunto são:

  • Se você observar uma diferença de duas amostras em um preditor no modelo, haverá efeitos do preditor não explicados pelo modelo em seu estado atual (ou seja, efeitos não lineares).
  • Se você observar uma diferença de duas amostras em uma variável que não está no modelo, talvez ela deva estar no modelo em primeiro lugar.

Uma coisa que eu descobri empiricamente (por meio de simulações) é que, se você estiver comparando a média de um preditor no modelo e estratificando dessa maneira para produzir as duas médias da amostra, e \ overline {x} _ {2} , eles estão correlacionados positivamente entre si. Isso faz sentido, pois as duas amostras dependem de \ overline {y}, \ overline {x}, \ hat {\ sigma} _ {x}, \ hat {\ sigma} _ {y} e \ hat {\ rho} _ {xy} . Essa correlação aumenta à medida que você move o ponto de corte (ou seja, a% usada para dividir a amostra). Portanto, no mínimo, se você fizer uma comparação de duas amostras, o erro padrão no denominador de t¯ x 1 ¯ x 2 ¯ y , ¯ x , σ x , σ y ρ x y txx¯1x¯2y¯,x¯,σ^x,σ^yρ^xyt-estatística precisa ser ajustada para explicar a correlação (embora eu não tenha derivado uma fórmula explícita para a covariância).

De qualquer forma, minha pergunta básica é: existe alguma justificativa para fazer isso? Em caso afirmativo, em que situações isso poderia ser útil? Claramente, não acho que exista, mas pode haver algo em que não estou pensando da maneira certa.


as duas comparações de amostra usam os mesmos IVs? Nesse caso, não consigo entender o motivo disso, porque a divisão residual já está usando essas informações. Você pode dar um exemplo de onde você viu isso? É novo para mim?
317 Michelle

1
Bem, é possível que ele possa ser usado como um diagnóstico para verificar se você tem erros de especificação do modelo - o que você acha disso?
Macro

3
Não vejo sentido em fazer isso além de ser uma ferramenta de diagnóstico para identificar pontos problemáticos ou efeitos não lineares ausentes, conforme sugerido pelos comentários acima. Eu acho que os dois pontos no OP ("pensamentos sobre o assunto ...") são bastante sólidos.
31412 Peter Ellis

1
Essa técnica é usada por Loh e seus co-autores para determinar variáveis ​​divididas em seus algoritmos de árvore SUPPORT e, eu acho, GUIDE. Como o conjunto de dados é particionado dessa maneira, pode-se pensar em procurar uma influência não linear (proxy por uma função stepwise) e determinar se uma variável foi realmente esquecida. Lembro-me de me perguntar se isso também é inteligente, talvez você encontre mais explicações nos documentos deles (não me lembro).
Momo

1
Claro, sem problemas. Aqui está Chaudhuri et al. www3.stat.sinica.edu.tw/statistica/j4n1/j4n18/j4n18.htm www3.stat.sinica.edu.tw/statistica/j5n2/j5n217/j5n217.htm referências para SUPPORT e página de Loh et al para estatísticas do
Momo

Respostas:


8

Comparar os meios é muito fraco: compare as distribuições.

Há também uma questão sobre se é mais desejável comparar os tamanhos dos resíduos (como indicado) ou comparar os próprios resíduos. Portanto, eu avalio os dois.

Para ser específico sobre o significado, aqui está um Rcódigo para comparar dados (fornecidos em matrizes paralelas e ) regredindo em , dividindo os resíduos em três grupos, cortando-os abaixo do quantil e acima do quantil e (por meio de um gráfico qq) comparando as distribuições de valores associados a esses dois grupos.(x,y)xyyxq0 0q1>q0 0x

test <- function(y, x, q0, q1, abs0=abs, ...) {
  y.res <- abs0(residuals(lm(y~x)))
  y.groups <- cut(y.res, quantile(y.res, c(0,q0,q1,1)))
  x.groups <- split(x, y.groups)
  xy <- qqplot(x.groups[[1]], x.groups[[3]], plot.it=FALSE)
  lines(xy, xlab="Low residual", ylab="High residual", ...)
}

O quinto argumento para essa função abs0,, por padrão, usa os tamanhos (valores absolutos) dos resíduos para formar os grupos. Posteriormente, podemos substituí-lo por uma função que utiliza os próprios resíduos.

Os resíduos são usados ​​para detectar muitas coisas: discrepâncias, possíveis correlações com variáveis ​​exógenas, qualidade de ajuste e homoscedasticidade. Os forasteiros, por sua natureza, devem ser poucos e isolados e, portanto, não terão um papel significativo aqui. Para manter essa análise simples, vamos explorar as duas últimas: qualidade do ajuste (isto é, linearidade da relação - ) e homoscedasticidade (isto é, constância do tamanho dos resíduos). Podemos fazer isso através de simulação:xy

simulate <- function(n, beta0=0, beta1=1, beta2=0, sd=1, q0=1/3, q1=2/3, abs0=abs,
                     n.trials=99, ...) {
  x <- 1:n - (n+1)/2
  y <- beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd)
  plot(x,y, ylab="y", cex=0.8, pch=19, ...)
  plot(x, res <- residuals(lm(y ~ x)), cex=0.8, col="Gray", ylab="", main="Residuals")
  res.abs <- abs0(res)
  r0 <- quantile(res.abs, q0); r1 <- quantile(res.abs, q1)
  points(x[res.abs < r0], res[res.abs < r0], col="Blue")
  points(x[res.abs > r1], res[res.abs > r1], col="Red")
  plot(x,x, main="QQ Plot of X",
       xlab="Low residual", ylab="High residual",
       type="n")
  abline(0,1, col="Red", lwd=2)
  temp <- replicate(n.trials, test(beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd), 
                             x, q0=q0, q1=q1, abs0=abs0, lwd=1.25, lty=3, col="Gray"))
  test(y, x, q0=q0, q1=q1, abs0=abs0, lwd=2, col="Black")
}

Este código aceita argumentos que determinam o modelo linear: seus coeficientes , os desvios padrão dos termos de erro , os quantis e , a função de tamanho e o número de independentes. ensaios na simulação ,. O primeiro argumento é a quantidade de dados a serem simulados em cada tentativa. Ele produz um conjunto de gráficos - dos dados , de seus resíduos e gráficos qq de várias tentativas - para nos ajudar a entender como os testes propostos funcionam para um determinado modelo (conforme determinado pelo beta, se ). Exemplos desses gráficos aparecem abaixo.yβ0 0+β1x+β2x2sdq0 0q1abs0n.trialsn(x,y)nsd

Vamos agora usar essas ferramentas para explorar algumas combinações realistas de não linearidade e heterocedasticidade, usando os valores absolutos dos resíduos:

n <- 100
beta0 <- 1
beta1 <- -1/n
sigma <- 1/n

size <- function(x) abs(x)
set.seed(17)
par(mfcol=c(3,4))
simulate(n, beta0, beta1, 0, sigma*sqrt(n), abs0=size, main="Linear Homoscedastic")
simulate(n, beta0, beta1, 0, 0.5*sigma*(n:1), abs0=size, main="Linear Heteroscedastic")
simulate(n, beta0, beta1, 1/n^2, sigma*sqrt(n), abs0=size, main="Quadratic Homoscedastic")
simulate(n, beta0, beta1, 1/n^2, 5*sigma*sqrt(1:n), abs0=size, main="Quadratic Heteroscedastic")

A saída é um conjunto de gráficos. A linha superior mostra um conjunto de dados simulado, a segunda linha mostra um gráfico de dispersão de seus resíduos em relação a (codificado por cores pelo quantil: vermelho para valores grandes, azul para valores pequenos, cinza para quaisquer valores intermediários que não são mais utilizados) e a terceira linha mostra os gráficos qq para todas as tentativas, com o gráfico qq para o conjunto de dados simulado mostrado em preto. Um gráfico qq individual compara os valores de associados a altos resíduos com os valores de associados a baixos resíduos; depois de muitos testes, um envelope cinza de prováveis ​​gráficos qq emerge. Estamos interessados ​​em saber como e com que intensidade esses envelopes variam de acordo com o modelo linear básico: variações fortes implicam uma boa discriminação.xxx

Valores absolutos

As diferenças entre as três últimas e as primeiras colunas deixam claro que esse método é capaz de detectar heterocedasticidade, mas pode não ser tão eficaz na identificação de uma não linearidade moderada. Poderia facilmente confundir a não linearidade com a heterocedasticidade. Isso ocorre porque a forma de heterocedasticidade simulada aqui (o que é comum) é aquela em que os tamanhos esperados dos resíduos tendem com . Essa tendência é fácil de detectar. A não linearidade quadrática, por outro lado, criará grandes resíduos nas duas extremidades e no meio da faixa de valores . É difícil distinguir apenas olhando as distribuições dos valores afetados .xxx

Vamos fazer a mesma coisa, usando exatamente os mesmos dados , mas analisando os próprios resíduos. Para fazer isso, o bloco de código anterior foi executado novamente depois de fazer esta modificação:

size <- function(x) x

Residuals

Essa variação não detecta bem a heterocedasticidade: veja como os gráficos qq são semelhantes nas duas primeiras colunas. No entanto, ele faz um bom trabalho ao detectar a não linearidade. Isso ocorre porque os resíduos separam os em uma porção intermediária e uma externa, que serão bem diferentes. Conforme mostrado na coluna mais à direita, no entanto, a heterocedasticidade pode mascarar as não linearidades.x

Talvez a combinação dessas duas técnicas funcionasse. Essas simulações (e variações delas, que o leitor interessado pode executar à vontade) demonstram que essas técnicas não são sem mérito.

Em geral, no entanto, é melhor servir muito melhor examinando os resíduos de maneira padrão. Para o trabalho automatizado, testes formais foram desenvolvidos para detectar os tipos de coisas que procuramos em gráficos residuais. Por exemplo, o teste Breusch-Pagan regride os resíduos quadrados (em vez de seus valores absolutos) contra . Os testes propostos nesta pergunta podem ser entendidos no mesmo espírito. No entanto, agrupando os dados em apenas dois grupos e, assim, negligenciando a maioria das informações bivariadas fornecidas pelos pares , podemos esperar que os testes propostos sejam menos poderosos do que os testes baseados em regressão, como o Breusch-Pagan .x(x,y^-x)


2

Eu concordo com os dois pontos. Se o modelo for inadequado, os resíduos podem não ser aproximadamente independentes e distribuídos de forma idêntica. Variáveis ​​importantes podem ter sido omitidas ou a forma funcional das variáveis ​​do regressor pode estar errada. Se esse for o caso, eu usaria o diagnóstico de regressão padrão para identificar o problema e não isso. Além disso, você pode ter as variáveis ​​corretas no modelo com a forma funcional correta, mas ainda assim ter uma variação não constante. Isso pode ser aparente apenas plotando o contra . Eu posso ver um ponto em dizer querer encontrar discrepantes no modelo através de alguma forma de resíduo, mas então eu recomendaria uma abordagem de função de influência para detectá-los. Não vejo o que esse procedimento realiza.eEuxEu

Outros comentaram que essa pode ser apenas uma ferramenta exploratória para verificar se os dois conjuntos de dados devem ser modelados separadamente. Se for esse o caso, esta e possivelmente outras abordagens exploratórias podem estar bem. Mas a questão passa a ser o que você faz a seguir? Se você vai fazer duas regressões separadas e extrair inferência sobre as amostras, acho que você precisa levar em consideração a maneira como você divide a amostra.


0

Eu acho que pode haver várias motivações para fazer isso, por exemplo, assumindo que os resíduos sejam consistentes, então o método mencionado pode ajudar a identificar observações externas, portanto, o segundo passo fornece estimadores "corrigidos". Porém, existem técnicas mais rigorosas que realizam a detecção externa ou fornecem estimadores robustos à presença de tais observações, como regressões quantílicas, LMS (menor mediana de quadrados) ou estimadores M etc. onde todos esses métodos definiram bem e propriedades estatísticas conhecidas. (Este endereço foi enviado por @Michael Chernik)

Outra motivação pode ser a identificação de cluster, mas isso é primitivo quando comparado às técnicas disponíveis para detecção de cluster, que também são bem definidas e amplamente implementadas.

Nos dois casos, o uso dos resíduos parece informal e primitivo, mas ainda pode ser tolerado como ferramenta exploratória. Também depende do domínio dos leitores. Eu consideraria isso aceitável para algumas ciências sociais, onde as ferramentas quantitativas podem ser menos populares.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.