R の回帰直線の傾きについて t 検定を実行する方法
単純な線形回帰を実行すると、次の推定回帰式が得られます。
ŷ = b 0 + b 1 x
一般に、傾き係数 b 1が統計的に有意かどうかを知りたいと考えます。
b 1が統計的に有意かどうかを判断するには、次の検定統計量を使用して t 検定を実行できます。
t = b 1 / se(b 1 )
金:
- se(b 1 )はb 1の標準誤差を表します。
次に、この検定統計量に対応するp 値をn-2 自由度で計算できます。
p 値が特定のしきい値 (例: α = 0.05) より小さい場合、傾き係数はゼロではないと結論付けることができます。
言い換えれば、モデル内の予測変数と応答変数の間には統計的に有意な関係があります。
次の例は、R の回帰直線の傾きに対して t 検定を実行する方法を示しています。
例: R の回帰直線の傾きに対する t 検定の実行
R に、クラスの 12 人の生徒の学習時間と最終試験の得点に関する情報を含む次のデータ フレームがあるとします。
#create data frame df <- data. frame (hours=c(1, 1, 2, 2, 3, 4, 5, 5, 5, 6, 6, 8), score=c(65, 67, 78, 75, 73, 84, 80, 76, 89, 91, 83, 82)) #view data frame df hours score 1 1 65 2 1 67 3 2 78 4 2 75 5 3 73 6 4 84 7 5 80 8 5 76 9 5 89 10 6 91 11 6 83 12 8 82
単純な線形回帰モデルを当てはめて、学習時間と試験のスコアの間に統計的に有意な関係があるかどうかを判断したいとします。
R のlm()関数を使用して、この回帰モデルを当てはめることができます。
#fit simple linear regression model fit <- lm(score ~ hours, data=df) #view model summary summary(fit) Call: lm(formula = score ~ hours, data = df) Residuals: Min 1Q Median 3Q Max -7,398 -3,926 -1,139 4,972 7,713 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 67.7685 3.3757 20.075 2.07e-09 *** hours 2.7037 0.7456 3.626 0.00464 ** --- Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 Residual standard error: 5.479 on 10 degrees of freedom Multiple R-squared: 0.568, Adjusted R-squared: 0.5248 F-statistic: 13.15 on 1 and 10 DF, p-value: 0.004641
モデルの結果から、推定された回帰式は次のとおりであることがわかります。
試験スコア = 67.7685 + 2.7037 (時間)
傾き係数が統計的に有意かどうかを検定するには、次のように t 検定統計量を計算します。
- t = b 1 / se(b 1 )
- t = 2.7037 / 0.7456
- t = 3.626
この t 検定統計量に対応する p 値は、出力のPr(> |t|)という列に表示されます。
p 値は0.00464であることがわかります。
この p 値は 0.05 未満であるため、傾き係数は統計的に有意であると結論付けられます。
言い換えれば、学習時間数と学生が試験で受け取った最終成績の間には統計的に有意な関係があるということです。
追加リソース
次のチュートリアルでは、R で他の一般的なタスクを実行する方法について説明します。