R で rmse を計算する方法
二乗平均平方根誤差 (RMSE) は、回帰分析で予測値が観測値から平均してどの程度離れているかを示す尺度です。次のように計算されます。
RMSE = √[ Σ(P i – O i ) 2 / n ]
金:
- Σは「和」を意味する派手な記号です
- Piは、データセット内のi 番目の観測値の予測値です。
- O iは、データセット内のi 番目の観測値の観測値です。
- n はサンプルサイズです
このチュートリアルでは、R で RMSE を計算するために使用できる 2 つの方法について説明します。
方法 1: 独自の関数を作成する
実際のデータ値を含む列と予測データ値を含む列を含むデータセットがあるとします。
#create dataset data <- data.frame(actual=c(34, 37, 44, 47, 48, 48, 46, 43, 32, 27, 26, 24), predicted=c(37, 40, 46, 44, 46, 50, 45, 44, 34, 30, 22, 23)) #view dataset data actual predicted 1 34 37 2 37 40 3 44 46 4 47 44 5 48 46 6 48 50 7 46 45 8 43 44 9 32 34 10 27 30 11 26 22 12 24 23
RMSE を計算するには、次の関数を使用できます。
#calculate RMSE
sqrt(mean((data$actual - data$predicted)^2))
[1] 2.43242
平均二乗誤差は2.43242です。
方法 2: パッケージを使用する
次の構文を使用するMetricsパッケージのrmse()関数を使用して、同じデータセットの RMSE を計算することもできます。
rmse (実績、計画)
金:
- real:実数値
- 予測:予測値
この例で使用する構文は次のとおりです。
#load Metrics package library(Metrics) calculate RMSE rmse(data$actual, data$predicted) [1] 2.43242
平均二乗誤差は2.43242で、これは独自の関数を使用して以前に計算した値と一致します。
RMSEの解釈方法
RMSE は、回帰モデルがデータセットにどの程度適合できるかを確認するのに便利な方法です。
RMSE が大きいほど、予測値と観測値の差が大きくなり、回帰モデルのデータへの適合性が低下することを意味します。逆に、RMSE が小さいほど、モデルはデータにうまく適合できます。
2 つの異なるモデルの RMSE を比較して、どのモデルがデータに最も適合するかを確認することは特に便利です。