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 ;
出力の 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 ;
出力には RMSE 値3.64093のみが表示されることに注意してください。
注: proc regのnoprint引数は、前のステップのように回帰結果出力全体を出力しないように SAS に指示します。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS で単純な線形回帰を実行する方法
SAS で重回帰を実行する方法
SAS で多項式回帰を実行する方法
SAS でロジスティック回帰を実行する方法