R-残りの用語で混乱


34
  • 二乗平均平方根誤差
  • 残差平方和
  • 残留標準誤差
  • 平均二乗誤差
  • テストエラー

私はこれらの用語を理解していたと思っていましたが、統計的な問題を多くすればするほど、私が自分自身を再考する場所を混乱させました。安心と具体的な例をお願いします

方程式はオンラインで簡単に見つけることができますが、これらの用語の「5のような説明」を得るのに苦労しています。

誰もがこのコードを下に取り、これらの用語のそれぞれをどのように計算するかを指摘できるなら、感謝します。Rコードは素晴らしいでしょう。

以下の例を使用します。

summary(lm(mpg~hp, data=mtcars))

見つける方法をRコードで教えてください:

rmse = ____
rss = ____
residual_standard_error = ______  # i know its there but need understanding
mean_squared_error = _______
test_error = ________

これらの違い/類似点を5のように説明するためのボーナスポイント。例:

rmse = squareroot(mss)

2
テストエラー」という用語を聞いた背景を教えてください。そこのである「テスト・エラー」と呼ばれるものが、私は非常にわからないんだけど、それが持つことのコンテキストで発生するために...(あなたが探しているものだテストセットをトレーニングセットをその音のいずれかを熟知し--does? )
スティーブS 14

はい-私の理解では、テストセットに適用されたトレーニングセットで生成されたモデルです。テストエラーは、モデル化されたy's-テストy'sまたは(モデル化されたy's-テストy's)^ 2または(モデル化されたy's-テストy's)^ 2 /// DF(or N?)または((モデル化されたy's-テストy's)^ 2 / N)^。5?
user3788557 14

回答:


60

要求に応じて、mtcarsデータを使用した単純な回帰の使用を説明します。

fit <- lm(mpg~hp, data=mtcars)
summary(fit)

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

Residuals:
    Min      1Q  Median      3Q     Max 
-5.7121 -2.1122 -0.8854  1.5819  8.2360 

Coefficients:
            Estimate Std. Error t value Pr(>|t|)    
(Intercept) 30.09886    1.63392  18.421  < 2e-16 ***
hp          -0.06823    0.01012  -6.742 1.79e-07 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1

Residual standard error: 3.863 on 30 degrees of freedom
Multiple R-squared:  0.6024,    Adjusted R-squared:  0.5892 
F-statistic: 45.46 on 1 and 30 DF,  p-value: 1.788e-07

平均二乗誤差(MSE)は、残差の二乗の平均であります:

# Mean squared error
mse <- mean(residuals(fit)^2)
mse
[1] 13.98982

二乗平均平方根誤差(RMSE)は、MSEの平方根です。

# Root mean squared error
rmse <- sqrt(mse)
rmse
[1] 3.740297

残差平方和(RSS)は、二乗残差の合計です。

# Residual sum of squares
rss <- sum(residuals(fit)^2)
rss
[1] 447.6743

残差標準誤差(RSE)は(RSS /自由度)の平方根です:

# Residual standard error
rse <- sqrt( sum(residuals(fit)^2) / fit$df.residual ) 
rse
[1] 3.862962

以前に計算したため、同じ計算が簡略化されましたrss

sqrt(rss / fit$df.residual)
[1] 3.862962

用語 回帰のコンテキストでのテストエラー(および他の予測分析手法)は、通常、トレーニングデータとは異なるテストデータのテスト統計を計算することを指します。

つまり、データの一部(多くの場合80%のサンプル)を使用してモデルを推定し、ホールドアウトサンプルを使用してエラーを計算します。繰り返しますが、mtcars今回は80%のサンプルを使用して、

set.seed(42)
train <- sample.int(nrow(mtcars), 26)
train
 [1] 30 32  9 25 18 15 20  4 16 17 11 24 19  5 31 21 23  2  7  8 22 27 10 28  1 29

モデルを推定してから、ホールドアウトデータで予測します。

fit <- lm(mpg~hp, data=mtcars[train, ])
pred <- predict(fit, newdata=mtcars[-train, ])
pred
 Datsun 710     Valiant  Merc 450SE  Merc 450SL Merc 450SLC   Fiat X1-9 
   24.08103    23.26331    18.15257    18.15257    18.15257    25.92090 

データフレーム内の元のデータと予測を組み合わせる

test <- data.frame(actual=mtcars$mpg[-train], pred)
    test$error <- with(test, pred-actual)
test
            actual     pred      error
Datsun 710    22.8 24.08103  1.2810309
Valiant       18.1 23.26331  5.1633124
Merc 450SE    16.4 18.15257  1.7525717
Merc 450SL    17.3 18.15257  0.8525717
Merc 450SLC   15.2 18.15257  2.9525717
Fiat X1-9     27.3 25.92090 -1.3791024

ここで、通常の方法でテスト統計を計算します。MSEとRMSEを説明します。

test.mse <- with(test, mean(error^2))
test.mse
[1] 7.119804

test.rmse <- sqrt(test.mse)
test.rmse
[1] 2.668296

この答えは、観測値の重み付けを無視することに注意してください。


この答えは、私が本当に理解するのを助けてくれてありがとう。研究を行う際に、モデルの適合に関するDatacampのレッスンでは、RMSEの式とは異なる式について説明しています。Google検索後にこのページを見つけました。RMSEに指定した式は直感的に理解でき、理解しやすいものです。RMSEの計算には、分母の自由度が含まれます。また、私が彼らの投稿を正しく読んだ場合、彼らはRがRMSEを残余標準誤差と呼んでいると言っていますが、あなたの答えからはこれらは明確な評価指標です。考え?
ダグ・ファー

22

元のポスターは「5歳のように説明してください」という回答を求めました。あなたの学校の先生があなたとあなたの学友を招待して、先生のテーブル幅を推測するのを手伝おうとしているとしましょう。クラスの20人の生徒はそれぞれデバイス(定規、はかり、テープ、または物差し)を選択でき、テーブルを10回測定できます。同じ番号を何度も読むことを避けるために、デバイス上の異なる開始位置を使用するように求められます。最後の幅測定値を最終的に取得するには、開始読み取り値を終了読み取り値から減算する必要があります(最近、このタイプの計算方法を学びました)。

クラスでは合計200の幅測定を行いました(20人の学生、それぞれ10の測定)。観察結果は、数値を計算する教師に引き渡されます。各生徒の観測値を参照値から減算すると、偏差と呼ばれる別の200の数値が得られます。教師の平均値は、各学生のサンプルは別に、20の取得手段。各生徒の観測値を個々の平均値から減算すると、残差と呼ばれる平均値から200の偏差が生じます。各サンプルの平均残差を計算する場合、常にゼロであることに気付くでしょう。代わりに、各残差を二乗し、それらを平均し、最後に二乗を元に戻す場合、標準偏差を取得します。(ところで、最後の計算ビットを平方根と呼びます(与えられた平方の底辺または辺を見つけることを考えてください)ので、操作全体は root-mean-squareと呼ばれ、略して。観測値の標準偏差は、残差の二乗平均平方根に等しくなります。)

しかし、教師は、それがどのように設計され構築され、工場でチェックされたかに基づいて、真のテーブル幅をすでに知っていました。したがって、エラーと呼ばれる別の200個の数値は、真の幅に対する観測値の偏差として計算できます。平均誤差は、各学生のサンプルについて計算することができます。同様に、誤差の 20 標準偏差、または標準誤差観測値に対して計算できます。20の二乗平均誤差値も計算できます。20個の値の3つのセットは、出現順にsqrt(me ^ 2 + se ^ 2)= rmseとして関連付けられています。rmseに基づいて、教師はテーブル幅の最適な推定値を提供した学生を判断できます。さらに、20の平均誤差と20の標準誤差値を別々に調べることにより、教師は各生徒に読みを改善する方法を指示できます。

チェックとして、教師はそれぞれの平均誤差から各誤差を差し引いた結果、さらに200個の数値が得られました。これを残留誤差と呼びます(これはあまり行われません)。上記のように、平均残差はゼロであるため、残差標準偏差または標準残差標準誤差と同じであり、実際、二乗平均残差も同じです。もです。(詳細は以下を参照してください。)

ここで、教師にとって興味深いものがあります。各学生の平均をクラスの残りの部分と比較できます(20は合計を意味します)。これらのポイント値の前に定義したように:

  • m:(観測値の)平均、
  • s:(観測値の)標準偏差
  • me:(観測値の)平均誤差
  • se:(観測値の)標準誤差
  • rmse:(観測値の)二乗平均平方根誤差

今定義することもできます:

  • mm:平均の平均
  • sm:平均の標準偏差
  • mem:平均の平均誤差
  • sem:平均の標準誤差
  • rmsem:平均の二乗平均平方根誤差

学生のクラスが公平であると言われている場合、つまりmem = 0の場合にのみ、sem = sm = rmsem; すなわち、平均の標準誤差、平均の標準偏差、および二乗平均平方根誤差は、平均の平均誤差がゼロであれば、平均は同じであり得る。

サンプルを1つだけ取った場合、つまりクラスに生徒が1人しかいない場合、観測値の標準偏差(s)を使用して、平均の標準偏差(sm)をsm ^ 2〜s ^として推定できます。 2 / n、ここでn = 10はサンプルサイズ(生徒ごとの読み値の数)です。サンプルサイズが大きくなると(n = 10,11、...;学生あたりの測定値が増える)、サンプル数が増えると(n '= 20,21、...;クラスの学生が増える)、2つはより良く一致します。(注意:修飾されていない「標準誤差」とは、観測の標準誤差ではなく、平均の標準誤差を指す場合があります。)

関連する計算の詳細を次に示します。真の値はtで示されます。

ポイントツーポイント操作:

  • 平均:MEAN(X)
  • 二乗平均平方根:RMS(X)
  • 標準偏差:SD(X)= RMS(X-MEAN(X))

サンプル内セット:

  • 観測値(指定)、X = {x_i}、i = 1、2、...、n = 10。
  • 偏差:固定点に関するセットの差。
  • 残差:平均値からの観測値の偏差、R = Xm。
  • エラー:真の値からの観測値の偏差、E = Xt。
  • 残留誤差:平均からの誤差の偏差、RE = E-MEAN(E)

サンプル内ポイント(表1を参照):

  • m:(観測値の)平均、
  • s:(観測値の)標準偏差
  • me:(観測値の)平均誤差
  • se:観測値の標準誤差
  • rmse:(観測値の)二乗平均平方根誤差

表1

サンプル間(ア​​ンサンブル)セット:

  • は、M = {m_j}、j = 1、2、...、n '= 20を意味します。
  • 平均の残差:平均からの平均の偏差、RM = M-mm。
  • 平均の誤差:「真実」からの平均の偏差、EM = Mt。
  • 平均の残留誤差:平均からの平均誤差の偏差、REM = EM-MEAN(EM)

サンプル間(ア​​ンサンブル)ポイント(表2を参照):

  • mm:平均の平均
  • sm:平均の標準偏差
  • mem:平均の平均誤差
  • sem:(平均の)標準誤差
  • rmsem:平均の二乗平均平方根誤差

表2


0

また、すべての用語が非常に紛らわしいと感じています。なぜこれらの多くの指標があるのか​​を説明する必要があると強く感じています。

SSEおよびRMSEに関する私のメモは次のとおりです。

最初のメトリック:二乗誤差の合計(SSE)。その他の名前、残差平方和(RSS)、平方和の残差(SSR)。

最適化コミュニティに参加している場合、SSEが広く使用されています。それは最適化の目的であり、最適化は

最小化するβ バツβy2

そして、残差/誤差の項は e=バツβy、そして e2=eTe、これはSum of Squared Errors(SSE)と呼ばれます。

2番目のメトリック:二乗平均誤差(RMSE)。他の名前、二乗平均平方根偏差。

RMSEは

1Nバツβy=1NeTe

どこで N データポイントの数です。

上記で説明したSSEに加えてこのメトリックがある理由は次のとおりです。RMSEメトリックの利点は、より「正規化」されていることです。具体的には、SSEはデータの量に依存します。MSEはデータの量に依存しませんが、RMSEはエラーを同じ単位で表現しますy

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