3次元フィッティング
松田裕幸@Mathematica研究会 2011.9.10
なんらかの理由で入手できない欠損データを類推したい。既存データからフィッテング関数を求め、この関数を用い欠損値を知る。記号処理と数式処理の連携 の好例。
In[59]:=
In[60]:=
Out[60]=
補間用の多項式(ここでは4次)を用意。
In[61]:=
Out[61]=
関数Fit(最小二乗法:補間用多項式の線形の組合せにおいて被補間点からの分散値の二乗の和が最小になるようにす
る)で補間多項式を求める。
In[62]:=
Out[62]=
In[45]:=
Out[45]=
元データから不作為に10個のデータを取り除いた場合の補間の様子を見る。
In[67]:=
Out[67]=
元データから不作為に100個のデータを取り除いた場合の補間の様子を見る。 In[68]:=
Out[68]=
補間に関する統計情報を見る。 In[40]:=
Out[40]=
In[41]:=
Out[41]=
In[42]:=
Out[42]=
補間精度をあげるポイントについて (Mathematica Helpより引用)
ここに,ガウス分布のランダムな摂動からのデータがある:
In[43]:=
Out[44]=
これは多項式の標準基底を与える関数である:
In[47]:=
In[48]:=
Out[48]=
次数が高くなる多項式について計算したフィットを示す:
In[49]:=
Out[49]=
問題はベキが高くなると係数が非常に小さくなる点である:
In[50]:=
Out[50]=
基底をスケールされシフトされた値で与えると問題の助けになる:
In[51]:=
Out[51]=
おまけ FindCurvePath In[256]:=
Out[257]=
In[258]:=
Out[258]=
Created with Wolfram Mathematica 8.0