線形回帰モデルで切片を削除しても大丈夫ですか?


118

私は線形回帰モデルを実行しており、インターセプト項を削除するための条件は何かと考えています。

一方が切片を持ち、もう一方が切片を持たない2つの異なる回帰の結果を比較すると、切片のない関数のがはるかに高いことがわかります。インターセプト項の削除が有効であることを確認するために従うべき特定の条件または仮定はありますか?R2


1
@chi私の質問を編集してくれてありがとう。今後の質問で明確にしたり言い換えたりする必要があるものはありますか?
analyticsPierce

3
あなたの質問は明確に述べられています。@chlはいくつかのフォーマットを親切に改善しました、それがすべてです。これは、「R ^ 2」のTeXifyingを伴いました(これは R ^ 2に変換され、としてレンダリングされます)。$ R 2$$R2
whuberの

1
モデルで切片は何を意味しますか?質問の情報から、sqft = 0およびlotsize = 0およびbaths = 0の場合、応答の期待値になると思われます。それは現実に起こるでしょうか?
timbp

1
y = a + b1 x1 + b2 x2 + b3x3の代わりに、aを省略できますか?
トラビス

3
注意:これらのコメントと回答のいくつかは、これと重複してマージされた本質的に同じ質問(住宅価格の回帰の文脈で組み立てられた)に対処します。
whuber

回答:


87

最短の答え:決して、あなたがない限り必ずデータ生成処理(線形回帰モデル)のいずれかのいくつかの理論的またはその他の理由により、お使いの線形近似があることの原点を通過するように強制されます。そうでない場合、インターセプトが統計的に重要でない場合でも、他の回帰パラメーターにバイアスがかかります(奇妙ですが、そうである場合は、例えばBrooks Introductory Econometricsを参照してください)。最後に、生徒によく説明するように、切片項を残すことにより、残差項がゼロ平均であることを保証します。

2つのモデルの場合、より多くのコンテキストが必要です。ここで線形モデルが適切でない場合があります。たとえば、モデルが乗法の場合、最初に変換をログに記録する必要があります。指数関数的に成長するプロセスがあると、インターセプトのないモデルのが「はるかに」高くなることが時々あります。R2

データを選別し、RESETテストまたはその他の線形仕様テストでモデルをテストします。これは、推測が正しいかどうかを確認するのに役立ちます。そして、モデルを最も高いで構築することは、私が本当に心配する最後の統計的特性の1つですが、計量経済学にあまり精通していない人々に提示するのは良いことです( 1 :))。R2


3
"never"の場合は-1、Joshuasの回答の例1を参照
好奇心

4
@Curious、 "never"は以下の "unless"の例で書かれていますが、インターセプトを削除することが正当な場合の例外を示しています。データ生成プロセスや理論がわからない場合、または標準化やその他の特別なモデルによって原点を通過することを強制されない場合は、それを保持します。インターセプトを維持することは、ゴミ箱を使用して、線形近似やその他の単純化によって生じるすべての歪みを収集するようなものです。PS実質的には、応答は最短で読むことを示しています:)ジョシュア(+1)の拡張例に感謝します。
ドミトリーチェロフ

3
ジョシュアの例1のポイントを逃し、まだ完全に無視しているようです。カテゴリ共変量を含むモデルでは、切片を削除すると、パラメーター化が異なる同じモデルが作成されます。これは、インターセプトを削除できる正当なケースです。
好奇心が強い

2
@ Curious、Joshuaの例1では、以前にベースラインと見なしたカテゴリ変数のレベルに新しいダミー変数を追加する必要があり、この新しいダミー変数はインターセプトの値を取得するため、インターセプトを削除しません。名前を変更して、カテゴリー共変量の残りのパラメーターを再パラメーター化するだけです。したがって、Dmitrijの議論が成り立ちます。
Rufo

59

インターセプトの削除は別のモデルですが、正当な例がたくさんあります。これまでの回答では、真の切片が0である例を詳細に説明してきました。非定型モデルのパラメーター化に興味があるいくつかの例に焦点を当てます。

例1:ANOVAスタイルのモデル。カテゴリ変数の場合、通常、グループメンバーシップをエンコードするバイナリベクトルを作成します。標準回帰モデルは、切片+ k-1ダミーベクトルとしてパラメーター化されます。インターセプトは、「参照」グループの期待値、または省略されたベクトルをコーディングし、残りのベクトルは各グループと参照の違いをテストします。ただし、場合によっては、各グループの期待値を使用すると便利な場合があります。

dat <- mtcars
dat$vs <- factor(dat$vs)

## intercept model: vs coefficient becomes difference
lm(mpg ~ vs + hp, data = dat)

Coefficients:
(Intercept)          vs1           hp  
   26.96300      2.57622     -0.05453  

## no intercept: two vs coefficients, conditional expectations for both groups
lm(mpg ~ 0 + vs + hp, data = dat)

Coefficients:
     vs0       vs1        hp  
26.96300  29.53922  -0.05453  

例2:標準化されたデータの場合。場合によっては、標準化されたデータを使用している可能性があります。この場合、インターセプトは仕様により0です。これの古典的な例は、データの共分散行列でのみ動作する古いスタイルの構造方程式モデルまたは因子だったと思います。以下のケースでは、追加の自由度(平均が推定されたためとにかく実際に失われるはずです)を落とすためだけに、とにかくインターセプトを推定することをお勧めしますが、構成では、平均は0になる場合があります(たとえば、参加者が評価を割り当てる特定の実験ですが、等しいプラスとマイナスを与えるように制約されています)。

dat <- as.data.frame(scale(mtcars))

## intercept is 0 by design
lm(mpg ~ hp + wt, data = dat)

Coefficients:
(Intercept)           hp           wt  
  3.813e-17   -3.615e-01   -6.296e-01  

## leaving the intercept out    
lm(mpg ~ 0 + hp + wt, data = dat)

Coefficients:
     hp       wt  
-0.3615  -0.6296  

例3:多変量モデルと隠しインターセプト。この例は、多くの点で最初の例に似ています。この場合、2つの異なる変数が1つの長いベクトルになるようにデータがスタックされています。2番目の変数は、応答ベクトル、がyに属するmpgか、に属するかに関する情報をエンコードしますdisp。この場合、結果ごとに個別の切片を取得するには、全体の切片を抑制し、測定のために両方のダミーベクトルを含めます。これは一種の多変量解析です。通常は、lm()あなたは対策を繰り返しており、おそらく非自主性を考慮すべきだからです。ただし、これが必要な興味深いケースがいくつかあります。たとえば、変量効果で調停分析を行う場合、完全な分散共分散行列を取得するには、両方のモデルを同時に推定する必要があります。これは、データとダミーベクトルの巧妙な使用を積み重ねることで実行できます。

## stack data for multivariate analysis
dat <- reshape(mtcars, varying = c(1, 3), v.names = "y",
  timevar = "measure", times = c("mpg", "disp"), direction = "long")
dat$measure <- factor(dat$measure)

## two regressions with intercepts only
lm(cbind(mpg, disp) ~ 1, data = mtcars)

Coefficients:
             mpg     disp  
(Intercept)   20.09  230.72

## using the stacked data, measure is difference between outcome means
lm(y ~ measure, data = dat)

Coefficients:
(Intercept)   measurempg  
      230.7       -210.6  

## separate 'intercept' for each outcome
lm(y ~ 0 + measure, data = dat)

Coefficients:
measuredisp   measurempg  
     230.72        20.09  

インターセプトは一般に削除されるべきだとは言いませんが、柔軟であることは良いことです。


7
+1。私は人々に「決して」と厳格に言うようにはしませんでしたが、別の視点を持つことは常に素晴らしいことです。これは非常に明確で思慮深い対応です。CVへようこそ、コミュニティの一員としてあなたを迎えることは素晴らしいことです。
GUNG

3
@gungありがとう、あなたは正しい。私はそれが炎症性で不必要だと思うので、答えからその言語を編集しました。
ジョシュア

1
@ジョシュア:すみません、私はほぼ2歳の投稿で質問をしているのですが、あなたの最初の例に関する参照はありますか?予測変数がカテゴリカルであるデータに対して、インターセプトなしモデルを実行することを考えています。各レベルが0と大きく異なるかどうかを知りたいと思います。ありがとう!
アレックス

@Alex良いリグレッションテキストはすべきです(行動科学第3版の応用重回帰/相関分析の第8章でこれをカバーしています)---コントラストとカテゴリ変数をダミーコードする方法について説明する必要があります。これについて考える1つの方法は、インターセプトを除外するのではなく、グループごとに個別のインターセプトを推定することです。
ジョシュア

@Joshua、あなたの最初の例はこのサイトの他の場所で混乱を引き起こしました。ここでの私の理解は、インターセプトの値を追加することを台無しにすることなく、パラメーターの推定値を表示するための便利なトリックを提案していること、そして通常のコースではモデルを使用してインターセプトを削除してanovaを実行することを提案していないということです。Rでは、ほぼすべての場合に、インターセプト付きのモデルを使用して従来のanovaを実行します。
サルマンジャフィコ

29

ここには良い答えがあります。2つの小さなこと:

  1. R2R2R2
  2. X真の切片が0であっても

2
@AdamOは、ここで#2と同様のポイントを示します:正の線形回帰係数ですが、アイデアをより完全に開発します。
グン

14

値がゼロのすべての説明変数が表示される可能性があるかどうかに関係なく、インターセプトをドロップしないでください。

ここに非常によく似た質問に対する良い答えがあります

切片を削除すると、他の推定値はすべて偏りが生じます。切片の真の値がほぼゼロ(データから結論付けることができるすべて)であっても、それを強制的に正確にゼロにすると、傾斜が乱れます。

UNLESS- インターセプトをゼロにする必要がある非常に明確で明白な物理モデルを使用して何かを測定しています(たとえば、説明変数として直角プリズムの高さ、幅、長さを持ち、応答変数は測定誤差のあるボリュームです)。応答変数が家の値である場合、インターセプトを残す必要があります。


1
住宅価格の予測にインターセプトが必要な理由を説明してください。どの家でもすべてのXがゼロになるのはなぜですか?
エルフ

10

OK、だからあなたは質問をたくさん変更しました

0であることがわかっている場合は、インターセプトを省略できます。それだけです。いいえ、0とそれほど違わないため、できません。0であるか、残差にバイアスがかかっていることを知っておく必要があります。そして、その場合、それは0ですので、あなたがそれを省いても何の違いも生じません...したがって、決してそれを省かないでください。

R2


2
Engle / Granger 2ステップを使用して共和分をテストしたい場合はどうですか?en.wikipedia.org/wiki/Cointegration
Jase

5

ほとんどの重回帰モデルには、定数項(つまり、切片)が含まれます。これにより、モデルがバイアスされないことが保証されるためです。つまり、残差の平均が正確にゼロになります。(回帰モデルの係数は、最小二乗法で推定されます。つまり、平均二乗誤差が最小になります。平均二乗誤差は、誤差とその平均の二乗の分散に等しくなります。これは数学的な恒等式です。モデルの定数の値は誤差の平均を変更しますが、分散には影響しません。したがって、誤差の二乗和を最小化する場合、誤差の平均がゼロになるように定数を選択する必要があります。 )

単純な回帰モデルでは、定数は回帰線のY切片を標準化されていない形式で表します。重回帰モデルでは、定数は、すべての独立変数が同時にゼロに等しい場合に従属変数に対して予測される値を表します。これは、物理的または経済的に意味のない状況です。すべての独立変数が同時にゼロである場合に何が起こるかについて特に関心がない場合は、通常、統計的有意性に関係なくモデルに定数を残します。標本内誤差に偏りがないことを保証することに加えて、定数の存在は回帰線が「独自のレベルを探す」ことを可能にし、局所的にのみ線形のデータに最適に適合します。

ただし、まれに、モデルから定数を除外したい場合があります。これは、任意のソフトウェアパッケージの回帰手順におけるモデル適合オプションであり、原点を通る回帰、または略してRTOと呼ばれることもあります。通常、これは次の場合にのみ行われます。

  1. 同時にすべての値がゼロであると仮定する独立変数を想像することができます。この場合、従属変数もゼロに等しくなることを論理的に従うべきだと感じます。または
  2. 定数は、使用する独立変数のセットと重複しています。

ケース(1)の例は、すべての変数(依存および独立)が他の時系列の最初の違いを表すモデルです。Xの最初の差でYの最初の差を回帰する場合、変数の現在のレベルを参照せずに、Xの変化の線形関数としてYの変化を直接予測します。この場合、Xが変更されていない場合は常に、Yが平均して変更されていないと仮定することは合理的です(必須ではありません)。つまり、 Xのレベル。

ケース(2)の例は、季節指標変数の完全なセットを使用したい場合です。たとえば、四半期ごとのデータを使用していて、加法を表す変数Q1、Q2、Q3、およびQ4を含めたい場合です。季節的な影響。したがって、Q1は1 0 0 0 1 0 0 0 ...のように見え、Q2は0 1 0 0 0 1 0 0 ...のように見えます。Q1 + Q2 + Q3 + Q4 = 1 1 1 1 1 1 1 1なので、これらの4つすべてと定数を同じモデルで使用することはできません。。。。、定数項と同じです。つまり、5つの変数Q1、Q2、Q3、Q4、およびCONSTANTは線形独立ではありません。いずれか1つは、他の4つの線形結合として表現できます。線形回帰モデルを近似するための技術的な前提条件は、独立変数が線形独立でなければならないことです。そうでない場合、最小二乗係数を一意に決定できません。

警告の言葉:R-squaredとF統計は、RTOモデルでは通常の回帰モデルと同じ意味を持たず、すべてのソフトウェアで同じ方法で計算されるわけではありません。いくつかの注意事項については、この記事を参照してください。回帰の標準誤差を比較することは問題ありませんが、定数項を含むモデルと含まないモデルの間でR 2乗を比較しようとしないでください。

「独立」という用語は、回帰の専門用語では(少なくとも)3つの異なる方法で使用されることに注意してください。変数のグループが、他の変数の線形結合として正確に表現できない場合、線形独立です。一対の変数は、それらが線形に独立しているだけでなく、互いにまったく情報がない場合、統計的に独立していると言われます。回帰モデルでは、従属変数を独立変数に統計的に依存させる必要があります。独立変数は、互いに独立している必要があります(ただし、必ずしも統計的に独立している必要はありません)。


2
どんな記事を参照していますか?
グン

2

私の考えの完全な改訂。実際、インターセプトをドロップすると、バイアスの問題が発生します。

インターセプトに何らかの意味があり、一部の(不合理な)値が負の値を与える可能性があることを説明するのを避けるために、データを中央に配置することを検討しましたか?平均sqrft、平均lotsizeおよびmean bathを差し引いて3つの説明変数をすべて調整すると、切片は(sdrft、lotsize、およびbathsの平均で(家の?)の値を示すようになります。

このセンタリングは、独立変数の相対関係を変更しません。そのため、中心データにモデルをフィッティングしても、バスは重要ではないことがわかります。バスを含まずにモデルを再取り付けします。それでも切片の大きなp値を取得できますが、含める必要があり、y = a + b(sqrft)+ c(lotsize)の形式のモデルになります。


1

私は他の誰かが投稿した同様の質問に答えるのに少し時間を費やしましたが、それは閉じられました。ここにはいくつかの素晴らしい答えがありますが、私が提供する答えは少し簡単です。回帰についての理解が弱い人に適しているかもしれません。

Q1:モデルの切片をどのように解釈しますか?

回帰モデルの目標は、結果変数の原因不明の分散の量を最小化することです。

y = b0 +b1⋅x+ ϵ

ここで、yは結果測定の予測値(log_blood_hgなど)、b0は切片、b1は勾配、xは予測変数、ϵは残差です。

切片(b0)は、すべてのx = 0の場合のyの予測平均値です。つまり、変数(種など)を使用してlog_blood_hgの分散をさらに最小化または説明する前のyのベースライン値です。 。

勾配を追加することにより(log_blood_hgの1単位の増加/減少がxの1単位の増加でどのように変化するかを推定します(種など))、結果変数について既に知っていること、つまりベースライン値(つまりインターセプト)、別の変数の変更に基づきます。

Q2:特にモデルが非常に異なる結果を与えるという事実に関して、切片を含めるか含めないことが適切なのはいつですか?

このような単純なモデルの場合、インターセプトをドロップすることは実際には適切ではありません。

切片をドロップすると、モデルは異なる結果をもたらします。これは、Yのベースライン値で勾配を接地するのではなく、yの原点(0)を通過するためです。したがって、勾配が急になります)線を強制的に原点に通したのは、yの分散を最小化するより良い仕事をしたからではありません。つまり、切片またはモデルの初期接地点を削除することにより、yの分散を最小化するモデルを人為的に作成しました。

インターセプトを削除することが適切な場合があります-現象を0インターセプトで記述する場合など。これについては、インターセプトを削除することをお勧めしない理由のほかに、こちらで読むことができます。


1

y=α+βx+ϵ
α=0yx=0

R2R2R2

結論:インターセプトをモデルから外さないでください(あなたが本当に何をしているかを本当に知っている場合を除きます)。

Xs=vt

切片を除外する特別なモデルもあります。1つの例は、ペアのデータ、双子の研究です。

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