「エイリアス係数」とは何ですか?


24

R(lm)で回帰モデルを構築しているときに、頻繁にこのメッセージが表示されます

"there are aliased coefficients in the model"

正確にはどういう意味ですか?

また、これによりpredict()警告も出ています。

これは単なる警告ですが、モデルを構築する前にエイリアス係数を検出/削除する方法を知りたいです。

また、この警告を無視した場合に考えられる結果は何ですか?

回答:


32

これはのエラーではなく、lmむしろvif(パッケージからcar)であると思われます。もしそうなら、あなたは完璧な多重共線性に出会ったと信じています。例えば

x1 <- rnorm( 100 )
x2 <- 2 * x1
y <- rnorm( 100 )
vif( lm( y ~ x1 + x2 ) )

エラーが発生します。

このコンテキストでは、「エイリアス」とは、他の変数に線形に依存する(つまり、完全な多重共線性を引き起こす)変数を指します。

解決に向けた最初のステップは、どの変数が原因かを特定することです。走る

alias( lm( y ~ x1 + x2 ) )

例をご覧ください。


ありがとう。「多重共線性」は「エイリアス係数」と同じですか?
モヒトヴァーマ14

1
@MohitVerma:この用語では、「エイリアス」は線形に依存する(つまり、完全な多重共線性を引き起こす)変数を指します。stat.ethz.ch/R-manual/R-patched/library/stats/html/alias.htmlを参照してください。これで答えを更新します。
タマスフェレンチ14

3

これは、回帰X'X行列に特異点がある場合に頻繁に発生します(回帰出力の要約のNA値)。

ベースR lm()は、デフォルトがであるため、特異値/完全な多重共線性を許容しますsingular.ok = TRUE。他のパッケージ/機能はより保守的です。

たとえばlinearHypothesis()carパッケージ内の関数の場合、デフォルトはsingular.ok = FALSEです。回帰に完全な多重共線性がある場合linearHypothesis()、「モデルにはエイリアス係数があります」というエラーが返されます。このエラーに対処するには、を設定しsingular.ok = TRUEます。ただし、これを行うと回帰の完全な多重共線性がマスクされる可能性があるため、注意してください。


0

知っておくといいかもしれません:回帰にダミーを追加したときにもこのエラーが発生しました。Rは自動的にダミーを1つ省略しますが、これによりvifテストでエラーが発生します。そのため、一部のソリューションは、1つのダミーを手動で削除することです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.