Modele pasujące w R, w których współczynniki podlegają ograniczeniom liniowym


16

Jak powinienem zdefiniować wzór modelu w R, kiedy dostępne jest jedno (lub więcej) dokładnych ograniczeń liniowych wiążących współczynniki. Jako przykład powiedz, że wiesz, że b1 = 2 * b0 w prostym modelu regresji liniowej.

Dziękuję Ci!

Odpowiedzi:


16

Załóżmy, że twój model to

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

i planujesz ograniczyć współczynniki, na przykład:

β1=2β2

wstawiając ograniczenie, przepisując oryginalny model regresji, który otrzymasz

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

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

wprowadź nową zmienną a twój model z ograniczeniami będzieZ(t)=2X1(t)+X2(t)

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

W ten sposób możesz obsłużyć wszelkie dokładne ograniczenia, ponieważ liczba znaków równości zmniejsza liczbę nieznanych parametrów o tę samą liczbę.

Grając z formułami R, możesz to zrobić bezpośrednio za pomocą funkcji 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>)

Jest to całkiem jasne, ale pytanie sugerowało ograniczenie między b0 i b1. Czy powinienem również utworzyć nową zmienną Z = 2X + 1 i dopasować model bez przechwytywania?
George Dontas,

2
Myślę, że zwykle jestem używany zamiast eval w formułach, tj. Y ~ I (1 + 2 * X1) + X2 + X3-1
mpiktas

@ gd047: Zaktualizowałem fragmenty kodu, tak, jak mówisz. @mpiktas: zmieni to, tak, jest krótszy;)
Dmitrij Celov

4
Jest to dobre rozwiązanie dla ogólnego podejścia teoretycznego, ale za to łatwiejszy sposób, aby rzeczywiście wdrożyć te hipotezy w R, który ma również tę zaletę, że nie wymaga jednego oszacować wiele modeli można znaleźć linearHypothesis()w carpakiecie.
Jake Westfall
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.