Se eu tiver razões teóricas para supor que os dados possam se encaixar em uma equação incomum, como a seguinte:
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?
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
Respostas:
Não (pelo menos não com
nls
)A partir de sua documentação,YEu| θ,XEu= f( θ ,XEu) + ϵ ϵ
nls
cabe 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.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 .Y ZEu=β0 0+β1 1x1 i+β2x2 i+ϵEu ϵEu N( 0 , 1 ) ZEu∼ N(β0 0+β1 1x1 i+β2x2 i, 1 ) β3= 2 YEu χ21 1
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=Zβ3Eu β3
boxcox
MASS
fonte
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:
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
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.]β3 Y Y∗=Y1 /β3 Y∗ Y β3
fonte