Compare o modelo MLR com o modelo

8

Se eu tiver razões teóricas para supor que os dados possam se encaixar em uma equação incomum, como a seguinte:

Yi=(β0+β1x1i+β2x2i+ϵi)β3

Posso usar a regressão linear múltipla de mínimos quadrados ordinários após uma transformação para estimar os parâmetros ? Se sim, que transformação?β0,1,2,3

Caso contrário, existe algum pacote especializado em R (e leitura breve) que possa me ajudar a comparar o ajuste e os resíduos desse modelo com um modelo MLR mais típico?

Obrigado.

Código de exemplo:

## while I can run "nls," I cannot get $\epsilon$ inside parentheses nor
## can I have four BETAs

var1 <- rnorm(50, 100, 1)
var2 <- rnorm(50, 120, 2)
var3 <- rnorm(50, 500, 5)

## make a model without $\beta_1$ and $\beta_2$ and with $\epsilon_i$ on outside
nls(var3 ~ (a + var1 + var2)^b, start = list(a = 0.12345, b = 0.54321))

Nonlinear regression model
  model: var3 ~ (a + var1 + var2)^b
  data: parent.frame()
   a        b 
 475.5234   0.9497 
 residual sum-of-squares: 1365

Number of iterations to convergence: 6 
Achieved convergence tolerance: 8.332e-08

## FAILS with exponent on left-hand side and $\epsilon$ inside parentheses
nls(var3^(1/b) ~ (a + var1 + var2), start = list(a = 0.12345, b = 0.54321))
Error in eval(expr, envir, enclos) : object 'b' not found

## FAILS with all BETAs
nls(var3 ~ (a + b*var1 + c*var2)^d, start = list(a = 4, b = 1, c = 1, d = 1))
Error in numericDeriv(form[[3L]], names(ind), env) : 
Missing value or an infinity produced when evaluating the model
jtd
fonte
Isso é lição de casa ou auto-estudo? Nesse caso, adicione a etiqueta de auto-estudo, pois respondemos a essas perguntas de maneira diferente das perguntas que não são de auto-estudo!
precisa saber é
@jbowman: Nem lição de casa ou auto-estudo (classe ou livro didático). Este é o meu próprio problema inventado. Não estou familiarizado com a regressão não-linear ou com os parâmetros que atuam sobre , esperando que outros possam apontar na direção certa. Obrigado. ϵ
jtd

Respostas:

4

Não (pelo menos não com nls)

A partir de sua documentação, nlscabe funções no formato (e é o MLE no caso em que é iid Normal), portanto, seu relacionamento não está na classe de mínimos quadrados não lineares.Yi|θ,Xi=f(θ,Xi)+ϵϵ

Vamos ver se podemos descrever a distribuição que pode seguir. Seja Dado que é , então . Se , por exemplo, poderíamos ter que não seja central .YZi=β0+β1x1i+β2x2i+ϵiϵiN(0,1)ZEuN(β0 0+β1 1x1 1Eu+β2x2Eu,1 1)β3=2YEuχ1 12

Sim (usando transformações Box-cox)

Se for uma transformação individual (ou seja, no mínimo, não é par), você acabou de redescobrir a família de transformações box-cox: que inclui claramente o cenário que você descreve. Classicamente, é estimado através da probabilidade do perfil, ou seja, conectando diferentes valores de e verificando o RSS para os mínimos quadrados. Uma Análise das Transformações Revisitadas (1981) parece dar uma boa revisão da teoria. A função no pacote faz essa estimativa. SeYEu=ZEuβ3β3

Y(λ)={(λZ+1 1)1 1/λ,λ>0 0eZ,λ=0 0,
λλboxcoxMASSβ3 é um parâmetro de interesse, e não um incômodo, talvez você precise fazer algo mais sofisticado.
Andrew M
fonte
1

Acho que Andrew M deu uma boa resposta; Eu só quero fazer alguns pontos relacionados.

Como Andrew M indica, você não pode executar o modelo como é diretamente com mínimos quadrados não lineares; no entanto, você pode ajustar esse modelo estreitamente relacionado ao LS não linear:

YEu=(β0 0+β1 1x1 1Eu+β2x2Eu)β3+ϵEu

Isso pode não parecer muito útil, mas teria valor na obtenção de uma estimativa inicial de para obter um bom ponto de partida para a otimização do modelo real (seja realizado diretamente ou via Box-Cox).β3

Observe também que se for estritamente positivo, você poderá considerar esta transformação:Y

registro(YEu)=β3registro(β0 0+β1 1x1 1Eu+β2x2Eu+ϵEu)

Novamente, uma leve modificação (puxar o termo de erro para fora dos parênteses) permite o ajuste de mínimos quadrados não lineares. Você pode ponderar novamente usando a estimativa resultante de para melhorar as estimativas. A única dificuldade seria se você atingisse uma situação em que o valor ajustado dentro do log não fosse estritamente positivo.β3

[Se você estiver preparado para considerar a regressão Weibull (ou seja, onde os Y são Weibull com média dependente dos X), você pode achar que pode fazer algo útil com isso. Isso mudaria a forma do relacionamento com os x's, no entanto. Uma abordagem relacionada seria que, dado um valor para você poderia considerar transformar ( ) e ajustar um GLM exponencial com link de identidade a vez de um gaussiano. Isso corresponderia novamente a um modelo Weibull para , mas com os parâmetros entrando da maneira que você sugere). Isso pode ser feito em uma grade de valores para maximizar a probabilidade de ocorrência.]β3YY=Y1 1/β3YYβ3

Glen_b -Reinstate Monica
fonte