係数が線形制限の対象となるRでのモデルの適合


16

係数をバインドする1つ(または複数)の厳密な線形制限が利用可能な場合、Rでモデル式をどのように定義する必要がありますか。例として、単純な線形回帰モデルでb1 = 2 * b0であることを知っているとしましょう。

ありがとうございました!

回答:


16

あなたのモデルが

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

そして、あなたは、例えば次のような係数を制限することを計画しています:

β1=2β2

制限を挿入し、取得する元の回帰モデルを書き換えます

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

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

Z(t)=2X1(t)+X2(t)

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

このようにして、等号の数によって未知のパラメーターの数が同じ数だけ減少するため、厳密な制限を処理できます。

I()関数で直接行うことができるR数式で遊ぶ

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

これはかなり明確ですが、質問はb0とb1の間の制限を示唆していました。また、新しい変数Z = 2X + 1を作成し、インターセプトなしでモデルに適合させる必要がありますか?
ジョージドンタス

2
私はusualyだと思い、私が代わりに数式でのeval、すなわちY〜I(1つの+ 2 * X1)+ X2 + X3-1の使用されている
mpiktas

@ gd047:私はコード部分で更新しました、はい、あなたの言うとおりです。@mpiktas:これを変更します、はい、短くなります;)
ドミトリーチェロフ

4
これは一般的な理論的アプローチに対する良い答えですが、Rでこれらの仮説を実際に実装する簡単な方法についてlinearHypothesis()は、複数のモデルを推定する必要がないという利点もありcarます。パッケージを参照してください。
ジェイクウェストフォール
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.