プログラミングと機械学習のメモ
日付: カテゴリ: SAS
前回の続きです。
今回は、hpregで線形回帰を実施する方法を紹介します。
前回と同じように、学習するためのデータと予測を適用するためのデータを用意しておきます。
data BASEBALL;
set sashelp.BASEBALL;
run;
data BASEBALL_test;
set sashelp.BASEBALL;
if _n_ < 30 then output;
drop logSalary;
run;
hpregで線形回帰をするには、以下のようにします。
%LET PREDICT_DIR = <予測モデル出力ディレクトリ>;
proc hpreg data=BASEBALL;
class league division;
model logSalary = natbat
nhits
nhome
nruns
yrmajor
nouts
nassts
nerror
league
division
natbat * league /STB VIF;
/* selection method=stepwise; */
code file="&PREDICT_DIR./hpreg_predict.sas";
run;
proc hpregでもmodelステートメントは使用することができます。
proc regで違う点を以下に書いておきます。
ここでは、proc regと異なる部分を解説していきます。
hpregで出力したコードを使用して、予測します。
data BASEBALL_test_predict;
set BASEBALL_test;
%include "&PREDICT_DIR./hpreg_predict.sas";
run;
%includeを使用することで、出力したコードをそのまま使用することができます。
以上で、「BASEBALL_test_predict」に予測値がつきます。
結局proc regとproc hpregどっちを使えば良いのか。
以下が大きな違いになります。
自分は予測結果がどうなっているかを重視したいのでproc regを使いますが、そこはお好みで。。。
今回もSASで回帰分析を実行する方法を記載しました。
需要があれば、他のSASによる分析手法も書いていきたいです。