Regressão linear vs. não-linear


13

Eu tenho um conjunto de valores x e y que são teoricamente relacionados exponencialmente:

y=axb

Uma maneira de obter os coeficientes é aplicando logaritmos naturais em ambos os lados e ajustando um modelo linear:

> fit <- lm(log(y)~log(x))
> a <- exp(fit$coefficients[1])
> b <- fit$coefficients[2]

Outra maneira de obter isso é usar uma regressão não linear, dado um conjunto teórico de valores iniciais:

> fit <- nls(y~a*x^b, start=c(a=50, b=1.3))

Meus testes mostram resultados melhores e mais relacionados à teoria se eu aplicar o segundo algoritmo. No entanto, gostaria de saber o significado estatístico e as implicações de cada método.

Qual deles é melhor?


3
Dê uma olhada neste post que trata de uma pergunta semelhante. Este documento também pode ser interessante.
COOLSerdash

5
"exponencial" geralmente implica algo baseado em exp(): o que você tem aqui é mais comumente chamado de função de poder, lei de poder ou lei de escala. Outros nomes existem sem dúvida. Não há conexão com o poder no sentido de testar hipóteses.
Nick Cox

Respostas:


16

"Melhor" é uma função do seu modelo.

Parte do motivo da sua confusão é que você escreveu apenas metade do seu modelo.

Quando você diz , isso não é verdade. Seus valores y observadosy=axby não são iguais a ; eles têm um componente de erro.axb

Por exemplo, os dois modelos mencionados (e não os únicos possíveis por qualquer meio) fazem suposições completamente diferentes sobre o erro.

Você provavelmente quer dizer algo mais próximo de E(Y|X=x)=axb.

Mas então o que dizemos sobre a variação de Y em relação a essa expectativa em um dado ? Importa!x

  • Quando você ajusta o modelo de mínimos quadrados não linear, você está dizendo que os erros são aditivos e o desvio padrão dos erros é constante nos dados:

    yiN(axib,σ2)

    ou equivalente

    , com var ( e i ) = σ 2yi=axib+eivar(ei)=σ2

  • Por outro lado, quando você pega logs e ajusta-se a um modelo linear, está dizendo que o erro é aditivo na escala de log e (na escala de log) constante nos dados. Isso significa que, na escala das observações, o termo de erro é multiplicativo e, portanto, os erros são maiores quando os valores esperados são maiores:

    yilogN(loga+blogxi,σ2)

    ou equivalente

    , com η i ~ log N ( 0 , σ 2 )yi=axibηiηilogN(0,σ2)

    E(η)σ2

(Você pode fazer menos quadrados sem assumir distribuições de normalidade / lognormal, mas a questão central em discussão ainda se aplica ... e se você não estiver nem perto da normalidade, provavelmente deverá considerar um modelo de erro diferente)

Portanto, o que é melhor depende de que tipo de modelo de erro descreve suas circunstâncias.

yxx


9

Quando você se encaixa em qualquer um dos modelos, está assumindo que o conjunto de resíduos (discrepâncias entre os valores observados e previstos de Y) segue uma distribuição gaussiana. Se essa suposição for verdadeira com seus dados brutos (regressão não linear), não será verdadeira para os valores transformados em log (regressão linear) e vice-versa.

Qual modelo é "melhor"? Aquele em que as suposições do modelo se aproximam mais dos dados.

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.