与えられたデータセットに最も適した式を求めたいことがある.
Mathematica でこれを行う方法のひとつは
Fitを使うことである.
Fitは
{f1, f2, ...}形式のデータが与えられると連続する
fi が連続する整数点
{1, 2, ...}における関数の値に当たると仮定する.
Fitには関数の任意の点における値に相当するデータを与えることもできる.次元は1次元でも多次元でもよい.
Fitは関数のリストを取り,明確で効果的な手順でこれらの関数のどのような線形結合がデータの最高の最小2乗フィットを与えるかを求める.しかし,指定の関数の線形結合だけからなるのではない「非線形フィット」を求めたいこともあるだろう.その場合は
FindFitを使うとよい.
FindFitはいかなる形の関数でも取り,データに最適のフィットを与えるパラメータの値を求める.
デフォルトにより,
Fitと
FindFitは両方とも「最小2乗」フィットを生み出す.これは

を最小化すると定義することができる.ここで
ri はオリジナルの各データ点とフィットした値の差分を与える残差である.これとは別のノルムに基づいたフィットを考えることもできる.オプション
NormFunction->u を設定すると
FindFitは
u[r]を最小にするフィットを求めようとする.ここで
r は残差のリストである.デフォルトは
NormFunction->Normで最小2乗フィットに対応している.
FindFitは最適なフィットを与えるパラメータの値を求めるという形を取る.検索を始める点を指定しなければならないこともある.この指定は
{{a, a0}, {b, b0}, ...}の形式でパラメータを与えることで行う.
FindFitには検索方法をコントロールするためのたくさんのオプションがある.