Sas で r 二乗を計算する方法
R 二乗(多くの場合r2 と表記されます) は、線形回帰モデルが一連のデータにどの程度適合するかを示す尺度です。
この値は、予測変数によって説明できる応答変数の分散の割合を表します。
r 2の値の範囲は 0 から 1 です。
- 値 0 は、応答変数が予測変数によってまったく説明できないことを示します。
- 値 1 は、応答変数が予測変数によって誤差なく完全に説明できることを示します。
次のステップバイステップの例は、SAS で単純な線形回帰モデルの R 二乗値を計算する方法を示しています。
ステップ 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 ;
出力の R 二乗値は 0.8310 であることに注意してください。
これは、試験の得点の変動の83.1%が勉強時間によって説明できることを意味します。
ステップ 3: 回帰モデルから R 二乗値を抽出する
このモデルの R 二乗値のみを表示し、他の出力結果を表示しない場合は、次のコードを使用できます。
/*fit simple linear regression model*/ proc reg data =exam_data outest =outest noprint ; model score = hours / rsquare ; run ; quit ; /*print R-squared value of model*/ proc print data =outest; var _RSQ_; run ;
R 二乗値0.83098のみが出力に表示されることに注意してください。
注: proc regのnoprint引数は、前のステップのように回帰結果出力全体を出力しないように SAS に指示します。
追加リソース
次のチュートリアルでは、SAS で他の一般的なタスクを実行する方法について説明します。
SAS で単純な線形回帰を実行する方法
SAS で重回帰を実行する方法
SAS で多項式回帰を実行する方法
SAS でロジスティック回帰を実行する方法