Sas で rmse を計算する方法


回帰モデルがデータセットにどの程度適合しているかを評価する 1 つの方法は、平均二乗誤差を計算することです。これは、モデルの予測値とデータセットの実際の値の間の平均距離を示す指標です。

RMSE が低いほど、特定のモデルはデータセットに「適合」できます。

平均二乗誤差を求める公式 ( RMSEと略されることがよくあります) は次のとおりです。

RMSE =Σ(P i – O i ) 2 / n

金:

  • Σは「和」を表す記号です
  • Pi、データセット内のi 番目の観測値の予測値です。
  • O iは、データセット内のi 番目の観測値の観測値です。
  • n はサンプルサイズです

次のステップバイステップの例は、SAS で単純な線形回帰モデルの RMSE を計算する方法を示しています。

ステップ 1: データを作成する

この例では、15 人の学生の合計学習時間数と最終試験の成績を含むデータセットを作成します。

時間を予測変数として、スコアを応答変数として使用して、単純な線形回帰モデルを近似します。

次のコードは、SAS でこのデータセットを作成する方法を示しています。

 /*create dataset*/
data exam_data;
    input hours score;
    datalines ;
1 64
2 66
4 76
5 73
5 74
6 81
6 83
7 82
8 80
10 88
11 84
11 82
12 91
12 93
14 89
;
run ;

/*view dataset*/
proc print data =exam_data;

ステップ 2: 単純な線形回帰モデルを当てはめる

次に、 proc reg を使用して単純な線形回帰モデルを当てはめます。

 /*fit simple linear regression model*/
proc reg data =exam_data;
    model score = hours;
run ; 

SAS の単純な線形回帰出力

出力の RMSE は3.64093であることに注意してください。

ステップ 3: 回帰モデルから RMSE を抽出する

このモデルの RMSE のみを表示し、他の出力結果を表示しない場合は、次のコードを使用できます。

 /*fit simple linear regression model*/
proc reg data =exam_data outest =outest noprint ;
    model score = hours / rmse ;
run ;
quit ;

/*print RMSE of model*/
proc print data =outest;
    var _RMSE_;
run ; 

SAS で RMSE を計算する

出力には RMSE 値3.64093のみが表示されることに注意してください。

: proc regnoprint引数は、前のステップのように回帰結果出力全体を出力しないように SAS に指示します。

追加リソース

次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。

SAS で単純な線形回帰を実行する方法
SAS で重回帰を実行する方法
SAS で多項式回帰を実行する方法
SAS でロジスティック回帰を実行する方法

コメントを追加する

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