FAQ-257 複数の線形項を使って回帰を実行し、解析解を得るにはどうしたら良いですか

最終更新日:2015/02/04

数式に複数の線形項が含まれていれば、数式の解析解を得ることができます。NLFitを使って、反復解を得るのではなく、異なる独立変数( x_1, x_2, x_3 \, など)として線形項を取り扱い、線形多重回帰ツールを使って解析解を得ることができます。ここでのポイントは、ワークシートに新規列をいくつか作成し、関数の線形項に従って、そこにデータを入力し、そして、新しいデータで線形多重回帰を実行します。

例えば次の関数に分析的解法がほしいとします。

y=a*x+b*x^2+c*e^x \,

この関数は次のように表すことができます。

y=a*x_1+b*x_2+c*x_3 \,

ここで x_2=x^2 \,x_3=e^x\,になります.

そして、ワークシートに新しい列を2列追加し、2つの項 x^2 \,, e^x \, に従ってそれぞれの列にデータを入力します。複数の線形回帰が条件に合わせて実行され、分析的解法が算出されます。詳細な手順は以下の通りです。

  1. 新しいワークブックを開き、Samples\Curve Fitting\ Exponential Growth.datファイルをインポートします。
  2. B 列を選択し、右クリックします。そして、挿入コマンドを2回選択して、列Bの前に2列挿入します。
  3. 新規の列をX列とします。それを選択します。右クリックし、ショートカットメニューから列XY属性の設定:X列を選びます。
  4. 2番目の列を選択し、右クリックします。ショートカットメニューから列値の設定を選びます。値の設定ダイアログでcol(A)^2を数式として入力します。適用をクリックしてデータを出力します。
  5. 値の設定ダイアログは閉じないでください。3番目の列のヘッディングをクリックします。これでこの列の値を設定できるようになりました。ここでは、数式 exp(col(A)) を入力します。OKをクリックします。
  6. ワークシートのすべての列を選択し、解析:フィット:線形多重回帰と選択して多重回帰ダイアログを開きます。フィットオプショングループで、 切片固定 チェックボックスにチェックを付け、切片固定編集ボックスに0を入力します。OK をクリックしてフィットを実行します。
  7. フィット結果は次のようになります。
    MLRParameters1.png
    各パラメータは a = -0.08256, b = 0.18566, c = 1.18432であることを示しています。

キーワード: 回帰, フィット, 線形多重回帰, 解析解, 反復解