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
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′=1
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?
plot(lm(1/(y+5)~r))
Respostas:
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→(rp−1)/p p 1/2 1/3 −1 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.1 p 0 log(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(0−7)/(90−10) 0.088 (−2−0)/(180−90) −0.022 p=−1/2 -16,6-32,4p≈0-7.3-6.6y=α+βlog(R)y(0−7)/(90−1/2−1−1/2−10−1/2−1−1/2) −16.6 −32.4 p≈0 −7.3 −6.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
fonte
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 2r
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.
fonte