最適化計算2 楕円の当てはめ 理論編

前回の下記投稿にひきつづき,今回は楕円の当てはめです.
daily-tech.hatenablog.com

1.楕円当てはめ問題

前回の投稿では,取得したデータをプロットし,そのプロットに対して直線を当てはめました.今回はデータに対して楕円を当てはめます.イメージとしては下記のような感じです.
f:id:rkoichi2001:20180331114913j:plain

前回の投稿では「一番それっぽい直線」を求めるために,最小二乗法を使いました.今回の楕円のケースでは,「一番それっぽい楕円」を求めるために下記の複数の方法を試します.

1.最小二乗法
2.最尤推定

で,インプットとなる取得データとアウトプットとなる楕円の方程式は下記のようになります.
f:id:rkoichi2001:20180331214740j:plain

上式を見てみると,結局パラメータは増えているものの,直線当てはめの場合と似たような形の式になっていることがわかります.パラメータの正規化条件も加えて,下記のように整理します.
f:id:rkoichi2001:20180331212701j:plain

2.最小二乗法

最小二乗法を用いる場合考え方はシンプルで,直線当てはめの場合と同じ感じで式を立てます.つまり,取得データを楕円の方程式に代入し,この総和を最小にするようなパラメータを決めます.
f:id:rkoichi2001:20180331213928j:plain

上式は二次形式になっているので,直線当てはめの場合と同じように,実対称行列 MLS に対する最小固有値に対応する固有ベクトルが求めるパラメータベクトルになります.つまり,,,
f:id:rkoichi2001:20180331214335j:plain

ただーし,楕円の当てはめに対しては上記の最小二乗法では精度がそれほど出ません.下記エントリで最尤推定に関して扱いましたが,この時は直線の当てはめだったので "Ax + By + C = 0" というのが満たすべき式でした.ここで,"取得データ x, y が持つ誤差は互いに独立である"という過程のもと,尤度を最大化した結果が最小二乗法でした.
daily-tech.hatenablog.com

今回の楕円当てはめの場合では,x2,y2,xy,という項がありますが,この項に生じる誤差は明らかに独立ではありません.x, y がそれぞれ持つ独立な誤差に依存しています.このことより,楕円の当てはめに関しては最小二乗法と最尤推定法が異なります.

3.最尤推定

じゃあ,最尤推定法はどうなるのか?という話ですが,工夫して式展開することによって見かけの確率変数を作り出します.まず,取得データの座標 (x と y の両方) に対して期待値0,分散が同一の独立な誤差が加わると考え,下記のようにあらわします.
f:id:rkoichi2001:20180331220728j:plain

上式を楕円の式に代入します.
f:id:rkoichi2001:20180331223211j:plain

上式を求める過程で,真値が楕円の方程式を完璧に満たすことと,誤差の二次の項は十分小さいとして無視しました.残った項を観察すると,楕円の方程式は下記の確率分布に従うことがわかります.
f:id:rkoichi2001:20180331224014j:plain
一点大事な点ですが,楕円の場合,分散が位置によって異なることがわかります.

上記の分散を共分散行列を用いて表現すると,下記のようになります.
f:id:rkoichi2001:20180331224909j:plain

確率変数を下記のように見なすと,
f:id:rkoichi2001:20180331225622j:plain

最尤推定法から求まる評価式 J は下記のように定義されます.この評価式のことをサンプソン誤差といいます.
f:id:rkoichi2001:20180331225950j:plain

よって,最尤推定法によって楕円当てはめを行う場合,上記評価式(サンプソン誤差)を最小にするようなパラメータセットを見つける必要がありますが,サンプソン誤差を最小にする方法としては,下記エントリで扱った Fundamental Numerical Scheme を用いて解くことができます.
daily-tech.hatenablog.com