Como escolher a melhor transformação para obter linearidade?


10

Eu quero fazer regressão linear múltipla e, em seguida, prever novos valores com pouca extrapolação. Eu tenho minha variável de resposta no intervalo de -2 a +7 e três preditores (os intervalos de +10 a +200). A distribuição é quase normal. Mas a relação entre a resposta e os preditores não é linear, vejo curvas nos gráficos. Por exemplo, assim: http://cs10418.userapi.com/u17020874/153949434/x_9898cf38.jpg

Eu gostaria de aplicar uma transformação para obter linearidade. Tentei transformar a variável de resposta verificando diferentes funções e observando os gráficos resultantes para ver uma relação linear entre a resposta e os preditores. E descobri que existem muitas funções que podem me dar um relacionamento linear visível. Por exemplo, funções

t1=log(y+2.5)

t2=1log(y+5)

t3=1y+5

t4=1(y+10)3

t5=1(y+3)13 etc. dê os resultados semelhantes: http://cs10418.userapi.com/u17020874/153949434/x_06f13dbf.jpg

Depois de voltar a transformar os valores previstos (para como e assim por diante). As distribuições são mais ou menos semelhantes ao normal. y=1t=1(y+10)3y=1t1310

Como posso escolher a melhor transformação para meus dados? Existe uma maneira quantitativa (e não muito complicada) de avaliar a linearidade? Para provar que a transformação selecionada é a melhor ou para encontrá-la automaticamente, se possível.

Ou a única maneira é fazer a regressão múltipla não linear?


Eu tentei melhorar a formatação de suas fórmulas, mas pode ter introduzido alguns erros - verifique.
Peter Peter Ellis

Eu não acredito em você. Não é matematicamente possível para a ter simultaneamente um relacionamento linear com uma sexta variável no intervalo . Eu acho que você pode ter cometido um erro ao calcular essas transformações de . t 5t1t5y0200y
whuber


2
Você está certo. É impressionante que uma ampla gama de re-expressões de y permaneçam em um relacionamento linear com r. Obrigado por compartilhar isso. Se você plotar os resíduos, você vai achar que olhares sobre o melhor, e, em seguida, não precisa de re-expressão: . r1/(y+5)rplot(lm(1/(y+5)~r))
whuber

Respostas:


14

Isso é meio que uma arte, mas há algumas coisas simples e diretas que sempre podemos tentar.

A primeira coisa a fazer é re-expressar a variável dependente ( ) para tornar os resíduos normais. Isso não é realmente aplicável neste exemplo, onde os pontos parecem cair ao longo de uma curva não-linear suave com muito pouca dispersão. Então, prosseguimos para o próximo passo.y

O próximo passo é re-expressar a variável independente ( ) para linearizar o relacionamento. Existe uma maneira simples e fácil de fazer isso. Escolha três pontos representativos ao longo da curva, de preferência nas duas extremidades e no meio. A partir da primeira figura, li os pares ordenados = , e . Sem nenhuma informação que não seja sempre positiva, uma boa opção é explorar as transformações de Box-Cox para vários poderes , geralmente escolhidos como múltiplos de ou e normalmente entre( r , y )r(r,y)( 90 , 0 ) ( 180 , - 2 ) r R ( r p - 1 ) / p p 1 / 2 1 / 3 - 1 1 p 0 log ( r )(10,7)(90,0)(180,2)r r(rp1)/pp1/21/31 e . (O valor limite conforme aproxima de é .) Essa transformação criará uma relação linear aproximada, desde que a inclinação entre os dois primeiros pontos seja igual à inclinação entre o segundo par.1p0log(r)

Por exemplo, as inclinações dos dados não transformados são = - e = . São bem diferentes: um é cerca de quatro vezes o outro. Tentar fornece inclinações de , etc., que funcionam para e : agora um deles é apenas o dobro do outro, o que é uma melhoria. Continuando dessa maneira (uma planilha é conveniente), acho que funciona bem: as inclinações agora são e0,088 ( - 2 - 0 ) / ( 180 - 90 ) - 0,022 p = - 1 / 2 ( 0 - 7 ) / ( 90 - 1 / 2 - 1(07)/(9010)0.088(20)/(18090)0.022p=1/2-16,6-32,4p0-7.3-6.6y=α+βlog(R)y(07)/(901/211/2101/211/2)16.632.4p07.36.6, quase o mesmo valor. Conseqüentemente, você deve tentar um modelo com o formato . Em seguida, repita: ajuste uma linha, examine os resíduos, identifique uma transformação de para torná-los aproximadamente simétricos e itere.y=α+βlog(r)y

John Tukey fornece detalhes e muitos exemplos em seu livro clássico Exploratory Data Analysis (Addison-Wesley, 1977). Ele fornece procedimentos semelhantes (mas um pouco mais envolvidos) para identificar transformações estabilizadoras de variação de . Um conjunto de dados de amostra que ele fornece como exercício refere-se a dados seculares sobre as pressões de vapor de mercúrio medidas a várias temperaturas. Seguir este procedimento permite redescobrir a relação Clausius-Clapeyron ; os resíduos do ajuste final podem ser interpretados em termos de efeitos da mecânica quântica que ocorrem a distâncias atômicas!y


Obrigado pelo conselho da transformação Box-Cox. Faz algum sentido verificar R ao quadrado de lm (1 / (y + 5) ~ r) e lm de outras funções e depois comparar esses R ao quadrado?
Nadya

Faz sentido quando ré fixo, porque então é um proxy para a variação dos resíduos. Porém, se você está reexpressando (a variável independente), então é inútil ou enganoso: consulte stats.stackexchange.com/questions/13314/… . R 2R2rR2
whuber

Muito obrigado pela resposta! Eu não estou indo para transformar meus variáveis independentes
Nadya

@ whuber: Supondo que eu tenha apenas uma única variável , qual é uma boa regra geral para escolher a transformação? Eu tenho o livro da EDA de Tukey, mas acho difícil encontrar o caminho de volta. Muito parece estar focado na reexpressão de papel e caneta. Alguma página / capítulo que você considera muito valiosa? y
Erich Schubert

@Erich Cada parte desse livro é profundamente gratificante: afinal, se você pode fazer algo com lápis e papel, pode programar um computador para fazê-lo :-). Com uma única variável, geralmente é bom transformá-la para simetria (de sua distribuição empírica); Tukey chama isso de "pequeno acordo". Uma maneira simples de identificar essa transformação é descrita na seção 3E, "Olhando rapidamente". Ilustra o que pode ser aprendido de relance em um resumo de N-letra (Tukey sugere um resumo de 7 ou 9 letras). Adquirir essa habilidade é mais valioso do que ter um programa de computador fazendo os cálculos para você.
whuber

1

Se a sua variável de resposta (ou melhor, o que se tornará os resíduos da sua variável de resposta) na escala original tem uma distribuição Normal como você implica, transformá-la para criar um relacionamento linear com as outras variáveis ​​significa que ela não é mais Normal e também mudará a relação entre sua variação e valores médios. Portanto, a partir dessa parte da sua descrição, acho melhor você usar a regressão não linear do que transformar a resposta. Caso contrário, após a transformação linear da resposta, você precisará de uma estrutura de erro mais complexa (embora isso possa ser uma questão de julgamento e você precise verificar, usando métodos gráficos).

Como alternativa, investigue a transformação das variáveis explicativas . Além de transformações diretas, você também tem a opção de adicionar em termos quadráticos.

De maneira mais geral, a transformação é mais uma arte do que uma ciência, se não houver uma teoria existente para sugerir o que você deve usar como base da transformação.

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.