統計的に有意な切片項を削除すると、線形モデルのが増加します


101

単一の説明変数を持つ単純な線形モデルでは、

αi=β0+β1δi+ϵi

切片項を削除すると、近似が大幅に改善されることがわかりました(値は0.3から0.9になります)。ただし、切片の項は統計的に有意であると思われます。R2

インターセプトあり:

Call:
lm(formula = alpha ~ delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.72138 -0.15619 -0.03744  0.14189  0.70305 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.48408    0.05397    8.97   <2e-16 ***
delta        0.46112    0.04595   10.04   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2435 on 218 degrees of freedom
Multiple R-squared: 0.316,    Adjusted R-squared: 0.3129 
F-statistic: 100.7 on 1 and 218 DF,  p-value: < 2.2e-16

インターセプトなし:

Call:
lm(formula = alpha ~ 0 + delta, data = cf)

Residuals:
     Min       1Q   Median       3Q      Max 
-0.92474 -0.15021  0.05114  0.21078  0.85480 

Coefficients:
      Estimate Std. Error t value Pr(>|t|)    
delta  0.85374    0.01632   52.33   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.2842 on 219 degrees of freedom
Multiple R-squared: 0.9259,   Adjusted R-squared: 0.9256 
F-statistic:  2738 on 1 and 219 DF,  p-value: < 2.2e-16

これらの結果をどのように解釈しますか?切片項をモデルに含めるべきですか?

編集

残差平方和は次のとおりです。

RSS(with intercept) = 12.92305
RSS(without intercept) = 17.69277

14
は、切片が含まれる場合にのみ、説明された分散と総分散の比率であることを思い出します。そうしないと、派生できず、解釈が失われます。R2
モモ

@Momo:いいですね。各モデルの残差平方和を計算しましたが、が何を言っているかに関係なく、切片項のあるモデルがより適切であることを示唆しているようです。R2
アーネストA

4
さて、追加のパラメーターを含めると、RSSは低下する(または少なくとも増加しない)必要があります。さらに重要なことに、線形モデルの標準的な推論の多くは、インターセプトを抑制すると適用されません(統計的に有意ではない場合でも)。
マクロ

14
何全く切片が存在しない場合に行い、それは計算することであるの平均の代わりに(予告なし減算を分母用語)。これにより、分母が大きくなり、同じまたは同様のMSEでが増加します。R 2 = 1 - Σ IY I - のy I 2R R2
R2=1i(yiy^i)2iyi2
R2
枢機

5
ない必ずしも大きいです。どちらの場合も近似のMSEが類似している限り、インターセプトなしでのみ大きくなります。しかし、@ Macroが指摘したように、分子は切片がない場合に大きくなるため、どちらが勝つかに依存することに注意してください!それらを互いに比較すべきではないことは正しいですが、傍受のあるSSEは、傍受のないSSEよりも常に小さいこと知っています。これは、回帰診断にサンプル内メジャーを使用する場合の問題の一部です。このモデルの使用に対する最終目標は何ですか?R2
枢機

回答:


131

まずR、モデルにインターセプトが含まれていない場合のソフトウェアの動作を理解する必要があります。 切片が存在する場合の通常の計算は、 最初の等式は、モデルにインターセプトが含まれているためにのみ発生します。これはおそらく、2つの記述方法の中でより一般的です。第二の平等は、実際にはより一般的な解釈を提供しています!この点はこの関連する質問のアドレスでもあります。R 2 = Σ IY I - ˉ Y2R2

R2=i(y^iy¯)2i(yiy¯)2=1i(yiy^i)2i(yiy¯)2.

しかし、モデルにインターセプトがない場合はどうなりますか?

さて、その場合、R黙って!)変更された形式

R02=iy^i2iyi2=1i(yiy^i)2iyi2.

が測定しようとしているものを思い出すのに役立ちます。前者の場合、現在のモデルを、 切片(定数項)のみを含む参照モデルと比較しています。2番目のケースでは、インターセプトがないため、このようなモデルと比較することはほとんど意味がありません。そのため、代わりにが計算され、これは暗黙的にノイズのみに対応する参照モデルを使用します。R 2 0R2R02

以下の説明では、と両方の2番目の式に注目します。この式は他のコンテキストに一般化され、一般に残差の観点から物事を考える方が自然だからです。R 2 0R2R02

しかし、それらはどのように異なり、いつですか?

線形代数への短い余談を行って、何が起こっているのかを理解できるかどうか見てみましょう。まず、のは、モデルから近似値を呼ぼう切片とフィット値切片ないモデルから。 y^y~

我々は、の式を書き換えることができ及びとして および 。R2R02

R2=1yy^22yy¯122,
R02=1yy~22y22,

さて、以来、、その後、の場合に限り y22=yy¯122+ny¯2R02>R2

yy~22yy^22<1+y¯21nyy¯122.

左側はに対応するモデルから1より大きいの内にネストされている。右側の2番目の項は、応答の2乗平均を切片のみのモデルの平均2乗誤差で割ったものです。そのため、他の変動に比べて応答の平均が大きいほど、「スラック」が多くなり、が支配する可能性が高くなります。y~y^R02R2

モデルに依存するものはすべて左側にあり、モデルに依存しないものは右側にあることに注意してください。

では、左側の比率を小さくするにはどうすればよいですか?

ことを思い出し とと部分空間に対応する投影行列であるとよう。y~=P0yy^=P1yP0P1S0S1S0S1

したがって、比率を1に近づけるには、サブとが非常に似ている必要があり ます。今といるかどうかだけが異なることがあることを意味して、基底ベクトルかではありません 良く、既にに非常に近くにあり、部分空間もしていた。S0S1S0S11S01

本質的に、それは、予測子自体が強い平均オフセットを持っていることが望ましいことを意味し、この平均オフセットは予測子の変動を支配するはずです。

ここでは、モデルで明示的にインターセプトを使用して、問題のケースに近い動作をする例を生成しようとします。以下に、いくつかの簡単なRコードを示します。

set.seed(.Random.seed[1])

n <- 220
a <- 0.5
b <- 0.5
se <- 0.25

# Make sure x has a strong mean offset
x <- rnorm(n)/3 + a
y <- a + b*x + se*rnorm(x)

int.lm   <- lm(y~x)
noint.lm <- lm(y~x+0)  # Intercept be gone!

# For comparison to summary(.) output
rsq.int <- cor(y,x)^2
rsq.noint <- 1-mean((y-noint.lm$fit)^2) / mean(y^2)

これにより、次の出力が得られます。私たちは、モデルで始まるインターセプト。

# Include an intercept!
> summary(int.lm)

Call:
lm(formula = y ~ x)

Residuals:
      Min        1Q    Median        3Q       Max
-0.656010 -0.161556 -0.005112  0.178008  0.621790

Coefficients:
            Estimate Std. Error t value Pr(>|t|)
(Intercept)  0.48521    0.02990   16.23   <2e-16 ***
x            0.54239    0.04929   11.00   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.2467 on 218 degrees of freedom
Multiple R-squared: 0.3571,     Adjusted R-squared: 0.3541
F-statistic: 121.1 on 1 and 218 DF,  p-value: < 2.2e-16

次に、インターセプトを除外するとどうなるかを確認します。

# No intercept!
> summary(noint.lm)

Call:
lm(formula = y ~ x + 0)

Residuals:
     Min       1Q   Median       3Q      Max
-0.62108 -0.08006  0.16295  0.38258  1.02485

Coefficients:
  Estimate Std. Error t value Pr(>|t|)
x  1.20712    0.04066   29.69   <2e-16 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 0.3658 on 219 degrees of freedom
Multiple R-squared: 0.801,      Adjusted R-squared: 0.8001
F-statistic: 881.5 on 1 and 219 DF,  p-value: < 2.2e-16

以下は、切片のあるモデルが赤で切片のないモデルが青のデータのプロットです。

回帰線を含むデータプロット


4
これは本当に素晴らしい、+ 1です。質問:b / t 2モデルを裁定したい場合、ネストモデルテストを実行するか、これを除外するか、それとも完全モデルに対するインターセプトなしの縮小モデルをテストすることが有効であることが多い?
GUNG

5
@gung:いいえ、典型的なテストから私たちを除外するものはないと思います。テストはインターセプトの存在に依存しません。実際、この場合、統計は。これにより、定量的な情報が少し得られます。実際にである場合、もちろん、代数を正しくやったと仮定します。FF
F=(n2)(\y\ytilde22\y\yhat221)
R02>R12
F<(n2)y¯2n1\yy¯\one22,
枢機

1
Iは、発現好むR02=Y~2Y2
ステファンローラン

3
@ naught101:私はそれがもっと真実だとは言いませんが、一般的に言えば、それは等しく合理的な視点です。現在の説明では、部分空間と間の関係に最終的に関心があるという意味で、不在と考えるのが便利。2つの違いは、基底ベクトルの有無です。S1S01
枢機

1
私は何かが欠けています。Rがすることは正しいですか?つまり、報告されるR ^ 2の値は、傍受の場合とそうでない場合とでリモートでさえも匹敵しますか?
アンディクリフトン14

1

R ^ 2ではなく、赤池やベイズシュワルツなどの情報基準に基づいて判断します。それでも私はこれらを絶対的なものとは思わないでしょう。

勾配がゼロに近く、すべてのデータが原点から遠いプロセスがある場合、データの変動のほとんどはノイズによるものであるため、正しいR ^ 2は低くなければなりません。インターセプトなしでそのようなデータをモデルに適合させようとすると、大きくて間違ったスロープ項が生成され、インターセプトのないバージョンが使用されている場合、見栄えの良いR ^ 2になります。

次のグラフは、この極端な場合に何が起こるかを示しています。ここで、生成プロセスはx = 100,100.1、....であり、yはちょうど100 +平均0および標準偏差.1。のランダムノイズです。点は黒い円で、切片のない近似は青い線で、切片のある近似(勾配をゼロにする)は赤い線です。

[申し訳ありませんが、グラフを投稿できません。以下のRコードを実行して生成します。原点は左下隅に、点のクラスターは右上隅に表示されます。インターセプトなしの不適切な適合は、左下から右上に進み、正しい適合はx軸に平行な線です

このための正しいモデルは、R ^ 2がゼロである必要があります---定数とランダムノイズが必要です。Rは、切片なしの近似に対して、.99のR ^ 2を与えます。これは、トレーニングデータの範囲内のx値を使用した予測にモデルを使用する場合は重要ではありませんが、xがトレーニングセットの狭い範囲外にある場合、または真の洞察を得ようとしている場合は悲惨に失敗します単なる予測を超えています。

AICは、切片のあるモデルが優先されることを正しく示しています。このためのRコードは次のとおりです。

 Nsamp=100
x=seq(1,100,1)*.1+100 # x=101.1,101.2,....
y=rnorm(n=length(x))+100 # random noise +100 (best model is constant)

model_withint=lm(y~x)
print(summary(model_withint))
flush.console()
model_noint=lm(y~x+0) 
print(summary(model_noint))
print (AIC(model_withint))
print(sprintf ('without intercept  AIC=%f',AIC(model_noint)))
print(sprintf ('with intercept  AIC=%f',AIC(model_withint)))
print(sprintf ('constant model  AIC=%f',AIC(lm(y~1))))
plot(x,y,ylim=c(0,105),xlim=c(0,105))
lines( c(0,105),c(0,105)*model_noint$coefficients['x'],col=c('blue'))
lines( c(0,105),c(1,1)*(lm(y~1)$coefficients['(Intercept)']),col=c('red'))

AIC出力は

   "without intercept  AIC=513.549626"
    "with intercept  AIC=288.112573"
    "constant model  AIC=289.411682"

真のモデルは定数モデルであるため、この場合、AICは依然として間違ったモデルを取得することに注意してください。しかし、他の乱数は、定数モデルのAICが最も低いデータを生成します。勾配を破棄する場合は、モデルから切片を使用して勾配を無視しようとせずに、勾配なしでモデルを再フィットする必要があることに注意してください。

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