Quando transformar variáveis ​​preditivas ao fazer regressão múltipla?

10

Atualmente, estou fazendo minha primeira aula de regressão linear aplicada no nível de pós-graduação e estou lutando com transformações de variáveis ​​preditivas em regressão linear múltipla. O texto que estou usando, Kutner e outros "Modelos Estatísticos Lineares Aplicados", não parece cobrir a pergunta que estou tendo. (além de sugerir que existe um método de Box-Cox para transformar múltiplos preditores).

Quando confrontados com uma variável de resposta e várias variáveis ​​preditivas, que condições se esforça para atender a cada variável preditora? Entendo que, no final das contas, estamos procurando constância da variação de erros e erros normalmente distribuídos (pelo menos nas técnicas ensinadas até agora). Tive muitos exercícios de volta, onde a solução era, por exemplo y ~ x1 + (1/x2) + log(x3), onde um ou mais preditores foram transformados.

Eu entendi o raciocínio sob regressão linear simples, pois era fácil olhar para y ~ x1 e os diagnósticos relacionados (gráficos qq de resíduos, resíduos vs. y, resíduos vs. x, etc) e testar para verificar se y ~ log ( x1) se encaixam melhor em nossas suposições.

Existe um bom lugar para começar a entender quando transformar um preditor na presença de muitos preditores?

Agradeço antecipadamente. Matt

Matt
fonte

Respostas:

3

Considero sua pergunta: como você detecta quando existem as condições que tornam apropriadas as transformações, e não quais são as condições lógicas . É sempre bom reservar análises de dados com exploração, especialmente exploração gráfica de dados. (Vários testes podem ser realizados, mas vou me concentrar na EDA gráfica aqui.)

Os gráficos de densidade do kernel são melhores que os histogramas para uma visão geral inicial da distribuição univariada de cada variável. Com várias variáveis, uma matriz de dispersão pode ser útil. Lowess também é sempre aconselhável no início. Isso lhe dará uma visão rápida e suja se os relacionamentos são aproximadamente lineares. O pacote de carro de John Fox combina utilmente estes:

library(car)
scatterplot.matrix(data)

Certifique-se de ter suas variáveis ​​como colunas. Se você tiver muitas variáveis, os gráficos individuais podem ser pequenos. Maximize a janela de plotagem e os gráficos de dispersão devem ser grandes o suficiente para selecionar os gráficos que você deseja examinar individualmente e, em seguida, criar gráficos únicos. Por exemplo,

windows()
plot(density(X[,3]))
rug(x[,3])
windows()
plot(x[,3], y)
lines(lowess(y~X[,3]))

Depois de ajustar um modelo de regressão múltipla, você ainda deve plotar e verificar seus dados, assim como na regressão linear simples. Os gráficos de QQ para resíduos são tão necessários quanto você pode fazer uma matriz de dispersão dos seus resíduos em relação aos preditores, seguindo um procedimento semelhante ao anterior.

windows()
qq.plot(model$residuals)
windows()
scatterplot.matrix(cbind(model$residuals,X))

Se algo parecer suspeito, plote-o individualmente e adicione-o abline(h=0)como um guia visual. Se você tiver uma interação, poderá criar uma variável X [, 1] * X [, 2] e examinar os resíduos com relação a isso. Da mesma forma, você pode fazer um gráfico de dispersão de resíduos vs. X [, 3] ^ 2, etc. Outros tipos de gráficos que não sejam resíduos vs. Lembre-se de que tudo isso está ignorando as outras dimensões x que não estão sendo plotadas. Se seus dados estiverem agrupados (ou seja, de um experimento), você poderá fazer gráficos parciais em vez de / além dos gráficos marginais.

Espero que ajude.

- Reinstate Monica
fonte
2
Eu encorajaria uma abordagem mais direta: use splines de regressão para modelar os efeitos dos preditores, de modo a (1) não assumir linearidade e (2) estimar todas as transformações simultaneamente. Isso é semelhante à regressão quadrática - adicionando um termo quadrado para todos os preditores. Com splines cúbicos restritos, por exemplo, adiciona-se uma ou mais funções básicas não lineares ao modelo para cada preditor que não se sabe operar linearmente.
23411 Frank Harrell
@ Frank Eu geralmente gosto de splines cúbicos restritos. O único aspecto negativo é a interpretação, que é um pouco complicada e muitas vezes desliga meus clientes. Adicionar um termo polinomial (depois da centralização) parece ser mais interpretável
Peter Flom - Restabelecer Monica
Obrigado a todos pela contribuição, eu aprecio muito. Acho que atualmente você está me dando muito crédito. Minha pergunta é realmente centrada em torno do que procurar em preditores individuais para saber quando / se uma transformação é aplicável. Por exemplo, se eu tenho um modelo estritamente aditivo, com três preditores, como eu determinaria uma transformação apropriada? No caso de múltiplos preditores, estamos geralmente buscando os mesmos princípios que buscamos na regressão linear simples? (isto é, resíduos favoráveis ​​vs. plot previsto e qq plot de resíduos).
Matt
11
As splines de regressão de Peter não são muito mais complexas que quadráticas. Quem sabe como interpretar o coeficiente de idade quando a idade ^ 2 está no modelo? E não vejo onde a centralização ajuda. Interpreto spline se encaixa com gráficos, que meus colaboradores gostam. Uma transformação quase sempre é necessária. É apenas uma questão de adequação do tamanho da amostra para estimar parâmetros suficientes para ajustar efeitos não lineares. As splines de regressão estimam diretamente as transformações e levam a intervalos de confiança apropriados que são penalizados por "aparência de dados". Os resíduos envolvem uma abordagem indireta.
precisa
Desculpe, ainda estou conseguindo postar aqui. Por favor perdoe. Para expor meu último comentário: Um exemplo recente que eu examinei em um texto tinha o modelo resultante y ~ x1 + log (x2), e a única observação sobre a transformação é "era evidente que x2 era adequado para uma transformação logarítmica . " Estou tentando melhorar meu senso de quando as transformações são aplicáveis. É suficiente apenas olhar para os gráficos y ~ x_i e prosseguir como faríamos no caso de um único preditor? O que mais devo considerar?
Matt