95%信頼区間の式


13

Googleでstats.stackexchangeを検索しましたが、線形回帰のR2値の95%信頼区間を計算する式が見つかりません。誰でも提供できますか?

さらに良いことに、以下のRで線形回帰を実行したとしましょう。Rコードを使用して、R2値の95%信頼区間をどのように計算しますか。

lm_mtcars <- lm(mpg ~ wt, mtcars)

1
相関R 2の関係は、相関係数を2乗してR 2を取得することであるため、rの信頼区間を計算し、区間の下限と上限を2乗してみませんか?rR2R2r

1
@ZERO:これは、単純な線形回帰、つまり、単一の予測子と切片で機能します。複数の予測子を使用した多重線形回帰では機能しません。
ステファンKolassa

@StephanKolassa、とても真実です!私Rはリグレッサーが1人しかいない彼のコードに基づいていたと思いますが、それは明確にするのに非常に良いポイントです。


たとえば、非常に小さなR関数github.com/mayer79/R-confidence-intervals-R-squaredを非中心F分布のプロパティに基づいて使用できます。
マイケルM

回答:


16

いつでもブートストラップできます:

> library(boot)
> foo <- boot(mtcars,function(data,indices)
        summary(lm(mpg~wt,data[indices,]))$r.squared,R=10000)

> foo$t0
[1] 0.7528328

> quantile(foo$t,c(0.025,0.975))
     2.5%     97.5% 
0.6303133 0.8584067

Carpenter&Bithell(2000、Statistics in Medicine)は、特に焦点を当ててはいませんが、信頼区間のブートストラップについて読みやすい紹介を提供します。R2


1
(+1)これはと、@Durden引用近似式ことが興味深いかもしれない及びK = 1は、間隔が得られる0.546 0.960に。我々は倍ドロップ場合、それはほぼ完全に正しいだろう2という式でSEを乗算を!n=32k=1(0.546,0.960)2
whuber

また、を使用してブートストラップリサンプリング分布から他のタイプの信頼区間(例:BCa)を取得できることに注意する価値がありますboot.ci()
ジェフリージラード

6

RではCI.Rsq()psychometricパッケージが提供する関数を使用できます。適用される式については、Cohenらを参照してください(2003)行動科学の応用重回帰/相関分析、p。88:

SER2=4R2(1R2)2(nk1)2(n21)(n+3)

その後、95%CIは、あなたであるR2±2SER2


3
(1)は参照で二乗されます。(2)「R 2」は、人口値ではなくサンプル値であることを意図していることに注意することが重要です(これは、明らかに「R 2」が問題で言及するものであり、混乱の可能性があるためです)。(3)また、これは漸近的な(「大標本」)結果にすぎず、「n k 1 > 60」に対して「適切な近似」が得られることも重要です。(私はk + 1を信じます(1R2)R2R2nk1>60k+1は、インターセプトと独立変数の数をカウントします。)この間隔が広すぎるように見えるため、シミュレーションでサポートされている実際の例を参照すると便利です。
whuber

Wishart(1931)によれば、この式は非正規分布には適していません。
-abukaj
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.