Statistics[Fit] - モデル関数をデータに当てはめる
使い方
Fit(f, X, Y, v, options)
パラメータ
f - 代数的関数 ; モデル関数
X - ベクトルか行列 ; 独立変数 (s) の値
Y - ベクトル ; 従変数の値
v - 名前かリスト ( 名前の ) ; 構成関数の独立変数の名前 (s)
options - ( オプション ) option を output または weights の一つとした option=value 形式の等式 (s) ; Fit コマンドのための指定
|
説明
|
|
•
|
Fit コマンドは最小二乗誤差を最小とすることでモデル関数をデータに当てはめます。y を従変数、f を n 個の独立変数 x_1, x_2, ..., x_n と m個のモデルパラメータ a_1, a_2, ..., a_m のモデル関数としたモデル y = f(x_1, x_2, ..., x_n; a_1, a_2, ... a_m) を考えます。各データ点を (x_1, x_2, ..., x_n, y) に対する数値の (n+1)-組 とした k 個のデータ点を与えると、Fit コマンドは二乗残差が最小となる k の和となるモデルパラメータの値を求めます。i 番目の残差は i 番目のデータ点での y - f(x_1, x_2, ..., x_n; a_1, a_1, ..., a_m) 評価の値となります。
|
•
|
最初のパラメータ f は、独立変数 x_1, x_2, ..., x_n とモデルパラメータ a_1, a_2, ..., a_m からなる代数表現となっています。
|
•
|
二番目のパラメータ X は、独立変数の値を含む行列となっています。行列の i 行には、j 列が全ての単独の変数 x_j の値を含んでいる間、i 番目のデータ点の n 個の値が含まれています。もしこれらが一つの独立変数ならば、X はベクトルか k × 1 行列のどちらかとすることができます。三つ目のパラメータ Y は k 個の従変数 y の値を含んだベクトルとなります。
|
•
|
四つ目のパラメータ v は f による名前が使用されている独立変数のリストとなります。もしこれらが一つの独立変数のみからなる場合、v は単独の名前とすることができます。リストにある名前のオーダーは、独立変数の値が X の列となるように完全に正確なものでなければなりません。
|
•
|
Fit コマンドは最後のパラメータの値、つまり独立変数の項を含んだモデル関数を返します。追加した結果、あるいは様々な設定と結果のための疑問を許した解のモジュールは、output オプションを含んで得ることができます。詳細は Statistics/Regression/Solution のヘルプページをご参照ください。
|
•
|
Fit コマンドは、モデル関数がモデルのパラメータについて線形であるか非線形であるかを決定します ( モデル関数は独立変数について非線形となれますが、モデルパラメータについては線形であることにご注意ください。 ) 。これは Statistics[LinearFit] あるいは Statistics[NonlinearFit] のどちらか一つによって呼び出すことができます。最も一般的に使用されたオプションは以下で説明されています。LinearFit または NonlinearFit によって認められた追加オプションは、直接それらのコマンドに通されます。
|
•
|
Fit コマンドは代数表現によるモデル関数のみを許可します。大きな柔軟性と効率性を許した異なった入力形式は、LinearFit および NonlinearFit コマンドによって提案されます。詳細は Input Forms のヘルプページをご参照ください。
|
|
|
オプション
|
|
•
|
output = leastsquaresfunction, parametervalues, あるいは solutionmodule -- 最小二乗関数、パラメータの値のベクトル、あるいは Statistics/Regression/Solution に記載されている解のモジュールを返します。
|
•
|
weights -- データ点の荷重を設定します。
|
|
|
注意
|
|
•
|
Fit コマンドは、数値アルゴリズム群 (NAG) により設定された内部のライブラリによって、様々な計算法の手段を使用します。内在的な演算処理は浮動小数を用いて行われます。; 故に全てのデータ点は、問題が完全な値を含んでいたとしても、型 realcons をもたなければならず、全ての返された解は浮動小数でなければなりません。 Statistics パッケージの数値演算処理に関する詳細は Statistics/Computation をご参照ください。
|
•
|
ソルバーの過程に関するメッセージに関しては infolevel[Statistics] を 1 以上で確認してください。特に userinfo メッセージは、LinearFit コマンドおよび NonlinearFit コマンドが使われているか否かを示します。
|
|
|
例
|
|
>
|
X := Vector([1, 2, 3, 4, 5, 6], datatype=float):
Y := Vector([2, 3, 4.8, 10.2, 15.6, 30.9], datatype=float):
|
パラメータに関して線形であるモデルを当てはめます。
>
|
Fit(a+b*t+c*t^2, X, Y, t);
|
| (4.1) |
パラメータに関して非線形であるモデルを当て嵌めます。
>
|
Fit(a+b*exp(c*t), X, Y, t);
|
| (4.2) |
|
|