大学教授のショップ [ホリエモンのメルマガで副業として1番 に紹介されました!] 大学教授のショップ [ホリエモンのメルマガで副業として1番 に紹介されました!]

R用 10の回帰分析手法を一気に実行して結果を比較する!ダブルクロスバリデーションによる評価付きのプログラム・コード

データを準備するだけで、Rで10の回帰分析手法を一気に実行して結果を比較したり、ダブルクロスバリデーションにより評価したりするプログラム・コードです。
10の回帰分析手法はこちらです。
1. 最小二乗法による重回帰 (Ordinary Linear Regression, OLR もしくはMultiple Linear Regression, MLR)
2. 部分的最小二乗法 (Partial Least Squares, PLS) http://univprof.com/archives/16-02-25-2888514.html
3. リッジ回帰 (Ridge Regression, RR)
4. Least Absolute Shrinkage and Selection Operator (LASSO) http://univprof.com/archives/16-06-04-3692121.html
5. Elastic Net (EN)
6. 線形サポートベクター回帰 (Linear Support Vector Regression, LSVR)
7. 非線形サポートベクター回帰 (Non-Linear Support Vector Regression, NLSVR) http://univprof.com/archives/16-05-01-2850729.html
8. 決定木 (Decision Tree, DT) http://univprof.com/archives/16-05-25-3464187.html
9. ランダムフォレスト (Random Forest, RF) http://univprof.com/archives/16-04-06-2889192.html
10. Gaussian Process (GP) http://univprof.com/archives/16-06-24-4207217.html

このように代表的な回帰分析手法が揃っております。一通りのデータ分析・解析ができるってことです。

もちろん、クロスバリデーションにより、
■PLSの成分数
■RRにおけるL2正則化項の重み
■LASSOにおけるL1正則化項の重み
■ENにおけるL1正則化項の重み・L2正則化項の重み
■LSVRにおけるC・ε
■NLSVRにおけるC・ε・γ
■DTにおける決定木の深さ
■RFにおける各決定木で使う説明変数の割合
を最適化しており、その結果も出力されます (RFにおいてはアルゴリズムの特性上、OOB (Out-Of-Bag) での最適化結果になります)。
1.のOLS・MLRから6.のLSVRまでの6つの手法は線形の回帰分析手法ですので、それぞれの標準回帰係数の値も出力されます。6つを並べて各変数の係数を比べることができます。
最後は、ダブルクロスバリデーション http://univprof.com/archives/16-06-12-3889388.html により各手法の予測性能を評価します。つまり、至れり尽くせりなプログラムになっております。
ダブルクロスバリデーションにはサンプル数が多いと少し時間がかかるため、ダブルクロスバリデーションを省略することもできます。目的変数の実測値と予測値とのプロットは数が多くなるため、それらを表示するかどうかも選択できます。

以下のURLからzipファイルをダウンロードしてください。
http://univprofblog.html.xdomain.jp/code/regall_analysis_all_e_r_pass.zip
購入していただくと、zipファイルを解凍するためのパスワードが表示されます。

こちらのページ https://note.mu/notes/n58399e0a9471 の無料部分や(有料部分はここで購入するプログラムと同じです)、ダブルクロスバリデーションについてはこちらのページ http://univprof.com/archives/16-06-12-3889388.html もご覧ください。

このプログラムはcsvファイルによってデータのやり取りをします。csvファイルのデータ形式およびサンプルデータについては下のURLのページをご覧ください。
https://note.mu/univprof/n/n694487325cb1

プログラムを実行するときのR環境については下のURLのページをご覧ください。
https://note.mu/univprof/n/nb07629b23252

また下のURLのzipファイルもダウンロードして下さい。
http://univprofblog.html.xdomain.jp/code/R_scripts_functions.zip
解凍すると必要なスクリプトと関数があります(こちらは無料です)。解凍した後に、回帰分析手法のプログラムのディレクトリ(フォルダ)と同じところにすべてのファイルを置いてください。

あとは購入されたプログラムを実行するだけです。

計算終了後、自動的に結果が画面に出てきて、以下のcsvファイルが保存されます。
■CalculatedY.csv ・・・ それぞれの回帰分析手法におけるモデル構築用データの目的変数の計算値
■PredictedYcv.csv ・・・ それぞれの回帰分析手法におけるモデル構築用データの目的変数のクロスバリデーション予測値
■PredictedY1.csv ・・・ それぞれの回帰分析手法における予測用データ1の目的変数の予測値
■PredictedY2.csv ・・・ それぞれの回帰分析手法における予測用データ2の目的変数の予測値
■StatisticsAll.csv ・・・ それぞれの回帰分析手法におけるモデル構築用データのr^2・RMSE、クロスバリデーション後のr^2cv・RMSEcv、予測用データ1のr^2pred・RMSEpredの値
■StandardRegressionCoefficients.csv ・・・ 線形回帰分析手法(OLS, PLS, RR, LASSO, NE, LSVR)における標準回帰係数
■PredictedYdcv.csv ・・・ それぞれの回帰分析手法におけるモデル構築用データの目的変数のダブルクロスバリデーション予測値 http://univprof.com/archives/16-06-12-3889388.html (省略も可能)
■StatisticsDcvAll.csv ・・・ それぞれの回帰分析手法におけるモデル構築用データのダブルクロスバリデーション後のr^2dcv・RMSEdcvの値 (省略も可能)