Statistics[LinearFit] - 線形モデル関数をデータに当てはめる
使い方
LinearFit(falg, X, Y, v, options)
LinearFit(fop, X, Y, options)
パラメータ
falg - リスト ( 代数的 ) またはベクトル ( 代数的 ) ; 代数形式の構成関数
X - ベクトルまたは行列 ; 独立変数 (s) の値
Y - ベクトル ; 従変数の値
v - 名前またはリスト ( 名前 ) ; 構成関数の独立変数の名前 (s)
fop - リスト ( 手続き ) またはベクトル ( 手続き ) ; 演算子形式の構成関数
options - ( オプション ) option を output, svdtolerance あるいは weights の一つとした option=value 形式の等式 (s) ; LinearFit コマンドのための指定
|
説明
|
|
•
|
LinearFit コマンドはモデルパラメータに関して線形のモデル関数を最小二乗誤差を最小とすることでデータに当てはめます。これは単純線形回帰と多重線形回帰のどちらも実行します。このコマンドは代数形式と演算子形式のどちらのモデル関数も扱うことができます。入力形式に関する詳細は Statistics/Regression/InputForms のヘルプページをご参照ください。
|
•
|
y を従変数、f を n 個の独立変数 x_1, x_2, ..., x_n のモデル関数としたモデル y = f(x_1, x_2, ..., x_n) を考えます。この関数は、j を 1...n とした構成関数 f_j(x_1, x_2, ..., x_n) の線形結合 a_1 * f_1 + a_2 * f_2 + ... + a_m * f_m となります。各データ点を (x_1, x_2, ..., x_n, y) に対する数値の (n+1)-組 とした k 個のデータ点を与えると、LinearFit コマンドは二乗残差が最小となる k の和となるモデルパラメータ a_1, a_2, ..., a_m の値を求めます。i 番目の残差は i 番目のデータ点での y - f(x_1, x_2, ..., x_n) 評価の値となります。
|
•
|
最初に呼び出される列において、最初のパラメータ falg は代数形式の構成関数のリストまたはベクトルとなります。各構成関数は独立変数 x_1, x_2, ..., x_n の代数表現となっています。
|
•
|
二番目のパラメータ X は独立変数の値を含む行列となります。行列の i 行には、j 列が全ての単独の変数 x_j の値を含んでいる間、i 番目のデータ点の n 個の値が含まれています。もしこれらが一つの独立変数ならば、X はベクトルか k × 1 行列のどちらかとすることができます。三つ目のパラメータ Y は k 個の従変数 y の値を含んだベクトルとなります。
|
•
|
四つ目のパラメータ v は falg による名前が使用されている独立変数のリストとなります。もしこれらが一つの独立変数のみからなる場合、v は単独の名前とすることができます。リストにある名前のオーダーは、独立変数の値が X の列となるように完全に正確なものでなければなりません。
|
•
|
二番目に呼び出される列において、最初のパラメータ fop は演算子形式の構成関数のリストまたはベクトルとなります。j 番目の構成関数は、独立変数 x_1, x_2, ..., x_n と返された単独の値 f_j(x_1, x_2, ..., x_n) で表された n 個の入力したパラメータをもつ手続きとなります。二番目のパラメータ X と三番目のパラメータ Y は、代数形式の入力に対する上記のものとなります。
|
•
|
デフォルトでは、最後のパラメータの値を含むモデル関数とパラメータの値を含むベクトルのどちらか一方が返され、入力形式に依存しています。追加した結果、あるいは様々な設定と結果のための疑問を許した解のモジュールは、output オプションを含んで得ることができます。詳細は Statistics/Regression/Solution のヘルプページをご参照ください。
|
•
|
データ点の荷重は weights オプションを通して与えることができます。
|
|
|
オプション
|
|
•
|
output = name あるいは string -- 解の形式を指定します。output オプションは名前 solutionmodule の値、あるいは以下の名前 ( あるいはそれらの名前のリスト ) のいずれか一つをとることができます。: AtkinsonTstatistic, confidenceintervals, CookDstatistic, degreesoffreedom, externallystandardizedresiduals, internallystandardizedresiduals, leastsquaresfunction, leverages, parametervalues, parametervector, residuals, residualmeansquare, residualstandarddeviation, residualsumofsquares, standarderrors, variancecovariancematrix. 詳細は Statistics/Regression/Solution をご参照ください。
|
•
|
svdtolerance = realcons(nonnegative) -- 特異値分解を実行するかどうかの決定に際した許容誤差を設定します。
|
•
|
weights = Vector -- データ点の荷重を設定します。
|
|
|
注意
|
|
•
|
LinearFit コマンドは、数値アルゴリズム群 (NAG) により設定された内部のライブラリによって、様々な計算法の手段を使用します。通常、計算法には QR 分解を使用します。方程式系が最大階数を持たない場合、特異値分解 (SVD) が実行されます。svdtolerance オプションは、SVD がいつ実行されるかを指定します。詳細は Statistics/Regression/Options のヘルプページをご参照ください。
|
•
|
最小二乗問題を解かれた場合の更なる詳細を得るには infolevel[Statistics] を 1 以上に設定してください。
|
|
|
例
|
|
>
|
X := Vector([1, 2, 3, 4, 5, 6], datatype=float):
Y := Vector([2, 3, 4, 3.5, 5.8, 7], datatype=float):
LinearFit([1, t, t^2], X, Y, t);
|
| (4.1) |
全ての結果を見るために output=solutionmodule オプションを使用します。
>
|
m := LinearFit([1, t, t^2], X, Y, t, output=solutionmodule);
|
| (4.2) |
| (4.3) |
|
|