Katsayıların doğrusal kısıtlamalara tabi olduğu R'deki montaj modelleri


16

Katsayıları bağlayan bir (veya daha fazla) tam doğrusal kısıtlama mevcut olduğunda, R'de bir model formülünü nasıl tanımlamalıyım? Örnek olarak, basit bir doğrusal regresyon modelinde b1 = 2 * b0 olduğunu bildiğinizi varsayalım.

Teşekkür ederim!

Yanıtlar:


16

Diyelim ki modeliniz

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

ve katsayıları sınırlamayı planlıyorsunuz, örneğin:

β1=2β2

kısıtlamayı ekleyerek, alacağınız orijinal regresyon modelini yeniden yazarak

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

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

yeni bir Z (t) = 2 \ cdot X_1 (t) + X_2 (t) değişkeni Z(t)=2X1(t)+X2(t)getirdiğinizde kısıtlamalı modeliniz

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

Bu şekilde, herhangi bir kesin kısıtlamayı kaldırabilirsiniz, çünkü eşit işaretlerin sayısı bilinmeyen parametre sayısını aynı sayıda azaltır.

R formülleriyle oynamak doğrudan I () işleviyle yapabilirsiniz

lm(formula = Y ~ I(1 + 2*X1) + X2 + X3 - 1, data = <your data>) 
lm(formula = Y ~ I(2*X1 + X2) + X3, data = <your data>)

Bu oldukça açık, ama soru b0 ve b1 arasında bir kısıtlama olduğunu düşündürüyordu. Ayrıca yeni bir Z = 2X + 1 değişkeni oluşturmalı ve kesişmeden bir modele uymalı mıyım?
George Dontas

2
Ben Yukleme düşünmek ı yerine formüllerde Eval, yani, Y ul (1 + 2 * X1) + X2 + X3-1 arasında kullanılır
mpiktas

@ gd047: Bir kod parçasıyla güncelledim, evet dediğin gibi. @mpiktas: bunu değiştirecek, evet daha kısa;)
Dmitrij Celov

4
Bu, genel teorik yaklaşım için iyi bir cevaptır, ancak bu hipotezleri gerçekte R'de uygulamanın daha kolay bir yolu için, aynı zamanda birden fazla modeli tahmin etmeyi gerektirmeme avantajına da sahiptir linearHypothesis(), carpakete bakın.
Jake Westfall
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.