Modelos de montagem em R em que os coeficientes estão sujeitos a restrições lineares

16

Como devo definir uma fórmula de modelo em R, quando uma (ou mais) restrições lineares exatas que vinculam os coeficientes está disponível. Como exemplo, digamos que você saiba que b1 = 2 * b0 em um modelo de regressão linear simples.

Obrigado!

George Dontas
fonte

Respostas:

16

Suponha que seu modelo seja

Y(t)=β0+β1X1(t)+β2X2(t)+ε(t)

e você planeja restringir os coeficientes, por exemplo, como:

β1=2β2

inserindo a restrição, reescrevendo o modelo de regressão original, você obterá

Y(t)=β0+2β2X1(t)+β2X2(t)+ε(t)

Y(t)=β0+β2(2X1(t)+X2(t))+ε(t)

introduza uma nova variável e seu modelo com restrição seráZ(t)=2X1(t)+X2(t)

Y(t)=β0+β2Z(t)+ε(t)

Dessa maneira, você pode lidar com quaisquer restrições exatas, porque o número de sinais de igual reduz o número de parâmetros desconhecidos no mesmo número.

Tocando com fórmulas R, você pode fazer diretamente pela função I ()

lm(formula = Y ~ I(1 + 2*X1) + X2 + X3 - 1, data = <your data>) 
lm(formula = Y ~ I(2*X1 + X2) + X3, data = <your data>)
Dmitrij Celov
fonte
Isso é bastante claro, mas a pergunta estava sugerindo uma restrição entre b0 e b1. Devo também criar uma nova variável Z = 2X + 1 e ajustar um modelo sem interceptar?
George Dontas
2
Eu penso normalmete I é usado em vez de Eval nas fórmulas, ou seja, Y ~ I (1 + 2 X 1 *) + X2 + X3-1
mpiktas
@ gd047: Eu atualizei com um código, sim, é como você diz. @mpiktas: vai mudar isso, sim, é mais curto;)
Dmitrij Celov
4
Essa é uma boa resposta para a abordagem teórica geral, mas para uma maneira mais fácil de realmente implementar essas hipóteses em R, que também tem a vantagem de não exigir uma estimativa de vários modelos, consulte linearHypothesis()o carpacote.
Jake Westfall