MATLAB およびオプション製品のCurve Fitting Toolbox、Optimization Toolbox、Statistics and Machine Learning Toolboxでは、データを関数に近似する方法をいくつか提供しています。製品ごとの主な方法を以下に紹介します
1. MATLAB
MATLAB でデータフィッティングに関する代表的なものとして、以下のものが挙げられます。
■ 関数 polyfit による多項式近似関数
polyfit では、データと次数を指定して、多項式に近似することができます。多項式の係数は、最小二乗法により求められます。 ■ バックスラッシュ演算子(\)
連立方程式(y=X*A)を考え、バックスラッシュ演算子(\)を用いて X\y とすることで、最小二乗法による線形モデルへの近似を行うことができます。この方法では、非多項式項を持つ線形モデルへの近似を行うこともできます。 ■「基本的なフィッティング」ツールの利用
2次元プロットでは、「基本的なフィッティング」ツールを用いると、グラフィカルユーザインタフェースによる操作で、補間(スプライン、エルミート)や多項式 (10次まで)への近似を行うことができます。この方法では、結果をグラフィックスですぐに確認でき、残差を表示することもできます。「基本的なフィッティング」ツールは、Figureウィンドウの「ツール」メニューから「基本的なフィッティング」を選択することで起動できます。 ■ 最小化関数 fminbnd、fminsearch の利用
- fminbnd ・・範囲を指定した1変数の最小化(黄金分割法と放物線補間法
- fminsearch・・制約のない多変数関数の最小化(Nelder-Mead Simplex法)
2. Curve Fitting Toolbox
Curve Fitting Toolbox は、曲線や曲面をデータにフィッティングするための専用のツールとして、グラフィカルユーザインタフェース(GUI)とMATLAB関数を提供しています。ツールボックスのライブラリ式(線形、非線形、多項式等)やカスタム式へのフィッティングを行うことができます。線形最小二乗、非線形最小二乗、重み付き最小二乗、制約付き最小二乗、ロバストな近似に対応しています。 3. Optimization Toolbox
Optimization Toolbox は、関数の最小化(最大化)行うための製品で、柔軟に問題設定を行うことができます。パラメータに対して線形制約や非線形制約を満たしながら目的関数を最小化(最大化)するパラメータを見つけるための関数が提供されていることが特徴です。 ■ 関数 lsqlin 制約のもとで、最小二乗法により線形関数を求めることができます。 4. Statistics and Machine Learning Toolbox
本件に関しては、詳しい情報をこちらにご用意しています。