R の残差標準誤差を計算する方法


R で線形回帰モデルを近似すると、モデルは次の形式になります。

Y = β 0 + β 1 X + … + β i

ここで、ϵ は X から独立した誤差項です。

X をどのように使用して Y の値を予測できるかに関係なく、モデルには常にランダムな誤差が存在します。このランダム誤差の分散を測定する 1 つの方法は、残差標準誤差を使用することです。これは、残差 ϵ の標準偏差を測定する方法です。

回帰モデルの残差標準誤差は次のように計算されます。

残差標準誤差 = √ SS残差/ df残差

金:

  • 残差SS : 残差二乗和。
  • 残差df : 残差自由度。n – k – 1 として計算されます。ここで、n = 観測値の合計数、k = モデル パラメーターの合計数です。

R の回帰モデルの残差標準誤差を計算するために使用できる方法は 3 つあります。

方法 1: モデルの概要を分析する

残差標準誤差を取得する最初の方法は、単純に線形回帰モデルを近似し、次にsummary()コマンドを使用してモデルの結果を取得することです。次に、出力の下部にある「残りの標準誤差」を探します。

 #load built-in mtcars dataset
data(mtcars)

#fit regression model
model <- lm(mpg~disp+hp, data=mtcars)

#view model summary
summary(model)

Call:
lm(formula = mpg ~ disp + hp, data = mtcars)

Residuals:
    Min 1Q Median 3Q Max 
-4.7945 -2.3036 -0.8246 1.8582 6.9363 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.735904 1.331566 23.083 < 2nd-16 ***
available -0.030346 0.007405 -4.098 0.000306 ***
hp -0.024840 0.013385 -1.856 0.073679 .  
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 3.127 on 29 degrees of freedom
Multiple R-squared: 0.7482, Adjusted R-squared: 0.7309 
F-statistic: 43.09 on 2 and 29 DF, p-value: 2.062e-09

残差標準誤差が3.127であることがわかります。

方法 2: 単純な数式を使用する

残差標準誤差 (RSE) を取得するもう 1 つの方法は、線形回帰モデルを近似し、次の式を使用して RSE を計算することです。

 sqrt( deviance (model)/df. residual (model))

この式を R で実装する方法は次のとおりです。

 #load built-in mtcars dataset
data(mtcars)

#fit regression model
model <- lm(mpg~disp+hp, data=mtcars)

#calculate residual standard error
sqrt( deviance (model)/df. residual (model))

[1] 3.126601

残差標準誤差が3.126601であることがわかります。

方法 3: 段階的な式を使用する

残差標準誤差を取得するもう 1 つの方法は、線形回帰モデルを近似し、段階的なアプローチを使用して RSE 式の個々のコンポーネントを計算することです。

 #load built-in mtcars dataset
data(mtcars)

#fit regression model
model <- lm(mpg~disp+hp, data=mtcars)

#calculate the number of model parameters - 1
k=length(model$ coefficients )-1

#calculate sum of squared residuals
SSE=sum(model$ residuals **2)

#calculate total observations in dataset
n=length(model$ residuals )

#calculate residual standard error
sqrt(SSE/(n-(1+k)))

[1] 3.126601

残差標準誤差が3.126601であることがわかります。

残差標準誤差の解釈方法

前述したように、残差標準誤差 (RSE) は、回帰モデルの残差の標準偏差を測定する方法です。

CSR 値が低いほど、モデルはデータをより適切に適合できます (ただし、 過剰適合に注意してください)。これは、2 つ以上のモデルを比較してどのモデルがデータに最も適合するかを判断するときに使用すると便利なメトリックとなります。

追加リソース

残差標準誤差の解釈方法
R で重回帰を実行する方法
R でモデルのパフォーマンスを相互検証する方法
R の標準偏差を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です