はじめに
4次元の多項式の非線形回帰を行います。
実行動画(3分20秒)
■テスト環境
Windows 11
SPSS Statistics 29.0.1 Standard Edition
データの入力
テストデータを読み込みます。
以下のようにxとyのデータが読み込めました。
データの可視化
「散布図/ドット」を選び、散布図を選んでキャンバスにドラッグアンドドロップします。
変数「x」をx軸に、変数「y」をy軸に設定します。
非線形回帰分析
以下のような4次関数の多項式を想定します。
\alpha+\beta1x+\beta2x^{2}+\beta3x^{3}+\beta4x^{4}
「従属変数」に「y」を設定します。
「モデル式」に以下を設定します
a+b1*x+b2*x**2+b3*x**3+b4*x**4
「パラメーター」ボタンを押して、推定したいパラメーターとその初期値を定義します。ここでは初期値は全て0で始めています。
「保存」ボタンをクリックし、「予測値」と「残差」を出力するように設定します。
「パラメータ推定値」をみると各パラメーターの推定値がでています。
「分散分析表」の下部にはR2乗値がでています。ここでは「0.972」ですのでかなり当てはまりがよい結果でした。
結果の可視化
「グラフ」_「図表ビルダー」を起動します。
前回の散布図の設定が残っていますので、予測結果も重ねて表示してみます。
次に今度は残差「Residuals」と予測値「Predicted Values」の関係を確認します。
変数「Predicted Values」をx軸に、変数「Residuals」をy軸に設定してグラフを表示します。
サンプル
サンプルデータ
サンプルSYNTAX
DATASET ACTIVATE データセット6.
* 非線型回帰分析.
MODEL PROGRAM a=0 b1=0 b2=0 b3=0 b4=0.
COMPUTE PRED_=a+b1*x+b2*x**2+b3*x**3+b4*x**4.
NLR y
/OUTFILE='C:\Users\503615~1\AppData\Local\Temp\spss20516\SPSSFNLR.TMP'
/PRED PRED_
/SAVE PRED RESID
/CRITERIA SSCONVERGENCE 1E-8 PCON 1E-8.
参考
非線型回帰 - IBM Documentation
【機械学習入門】実験データの解析に役立つ非線形回帰分析を利用してみよう
こちらの記事で作成されていたデータを流用させていただきました。