関数 > データ解析 > 曲線適合 > 例: 非線形回帰 2
例: 非線形回帰 2
LeastSquaresFit関数を使用して非線形回帰を実行します。LeastSquaresFit ソルバは、非線形回帰問題を解く場合に最も柔軟性が高い方法です。このソルバでは、任意の依存パラメータの制約方程式、パラメータの下限と上限、x の値の標準偏差、計算の信頼限界を指定できます。
LeastSquaresFit
1. データセットを定義します。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
このデータは NIST の Web サイトに掲載されている例から抜粋されています。このデータは次の方程式を使用して 14 桁の精度で生成されています。
クリックしてこの式をコピー
2. 適合関数を定義します。
クリックしてこの式をコピー
上記の個々のパラメータは、ベクトル β の成分です。ベクトルの成分でなく、独立変数名を使用して入力関数を指定することもできます。
クリックしてこの式をコピー
3. 推定値を指定します。
クリックしてこの式をコピー
4. パラメータの信頼限界を定義します。
クリックしてこの式をコピー
5. LeastSquaresFit 関数を呼び出します。
クリックしてこの式をコピー
このソルバでは、逐次 2 次計画法 (SQP) を使用して最小二乗問題の解が求められます。追加の変数を導入することで、元の問題が汎用等式制約付き非線形計画問題に変換されます。これは一般的にはその他の手法よりも高速で安定性の高い手法です。
6. LeastSquaresFit 関数によって返された出力ベクトルを表示します。
クリックしてこの式をコピー
出力の 1 列目には適合パラメータの値が格納されています。2 列目にはパラメータの信頼区間の左側境界が格納され、3 列目には右側境界が格納されています。
信頼水準 95% でのパラメータの信頼区間の幅がかなり広くなっているので、この適合は困難であり、個々のパラメータが大きく変化する可能性があることがわかります。この結果、適合パラメータの値は NIST の Web サイトに掲載されている正確な値とは異なっています。
クリックしてこの式をコピー クリックしてこの式をコピー
7. データ、最小二乗適合、NIST のデータを利用した適合をプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
8. 最小二乗適合を元のデータと比較します。
クリックしてこの式をコピー
クリックしてこの式をコピー
適合は収束に近づいていますが、収束許容誤差を調整することで良好な結果が得られる場合があります。このためには、LeastSquaresFit 関数のいずれかのオプションの引数を指定します。
制約条件、標準偏差、許容誤差
LeastSquaresFit では、オプションの引数を指定できます。
標準偏差ベクトル
下限と上限の行列
精度
オプションのいずれかの引数を単独で使用することも可能ですが、複数の引数を入力する場合、指定する順序が重要です。
1. 1 つのデータ値を摂動して誤測定をシミュレートします。
クリックしてこの式をコピー
クリックしてこの式をコピー
2. 適合の値の下限と上限を指定します。
クリックしてこの式をコピー
この場合には下限と上限がわからないので、下限と上限はとりうるパラメータ値の十分外側に設定しています。
3. y の各値の標準偏差のベクトルを設定して外れ値をマスクします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
108 という大きな値の標準偏差によって、誤った測定値が計算から実質的に除去されています。
LeastSquaresFit 関数の引数として標準偏差のベクトルを指定した場合、ソルバによって次の関数が最小化されます。
クリックしてこの式をコピー
ある点における標準偏差が 0 の場合、その点では元の偏差がない関数が使用され、StdYi が 1 に設定されます。
4. 計算により厳格な収束許容誤差が適用されるように精度を設定します (デフォルトは 10-7)。
クリックしてこの式をコピー
5. 標準偏差を指定する方法と指定しない方法で LeastSquaresFit 関数を呼び出します。
クリックしてこの式をコピー
クリックしてこの式をコピー
信頼限界が大きすぎるので、マスクしていない計算は失敗します。
新しいパラメータは NIST の値に近くなります。
クリックしてこの式をコピー
クリックしてこの式をコピー
6. 外れ値とマスクした適合を含むデータをプロットします。
クリックしてこの式をコピー
クリックしてこの式をコピー
クリックしてこの式をコピー
参考文献
この例で用いたデータは、NIST の Statistical Reference Datasets アーカイブに記載されている Lanczos, C., Applied Analysis, Prentice Hall, 1956 (ページ 272 から 280) から抜粋したものです。
これは役に立ちましたか?