背景

まずは、分散、標準偏差、正規分布、推定値、正確度、精度、平均値、期待値、確率変数など、いくつかの基本的な用語について説明したいと思います。

このチュートリアルの読者の多くは、基本的な統計学に精通しているかと思います。しかし、このチュートリアルの冒頭では、カルマンフィルターがどのように機能するかを理解するために必要な数学的背景について説明します。もし、あなたがこのトピックに慣れているのであれば、遠慮なく読み飛ばして次のセクションに進んでください。

平均値と期待値

平均値 期待値 は密接に関連する用語ですが、違いがあります。

例えば、5つの硬貨(2つの5セント硬貨と3つの10セント硬貨)が与えられたとき、私たちは硬貨の値の平均を考えることで、平均値を簡単に計算できます。

Coins
\[ V_{mean}= \frac{1}{N} \sum _{n=1}^{N}V_{n}= \frac{1}{5} \left( 5+5+10+10+10 \right) = 8cent \]

しかしながら、上記の値を期待値として定義することはできません。なぜなら、システムの状態量(ここでは硬貨の値)は未知ではなく、平均値の計算に母集団全体(5つの硬貨すべて)を使っているからです。

カルマンフィルタの本
例に基づくカルマンフィルタ解説ガイド

では、同じ人が体重測定を5回行ったときの体重測定値(79.8 kg, 80 kg, 80.1 kg, 79.8 kg, 80.2kg)を考えましょう。

Man on scales

これらの測定値は、体重計のランダムな測定誤差によって様々な値を取ります。体重は未知の値であるため、私たちは真の体重を知りません。しかし、それらの測定値を平均化することで体重を推定することはできます。

\[ W= \frac{1}{N} \sum _{n=1}^{N}W_{n}= \frac{1}{5} \left( 79.8+80+80.1+79.8+80.2 \right) =79.98kg \]

ここで得られた推定値は、彼の体重の期待値です。

平均値は通常、ギリシャ文字 μ で表されます。

期待値は通常、 E で表されます。

分散と標準偏差

分散は、データセットの平均値からの広がりを示す尺度です。

標準偏差は、分散の平方根です。

標準偏差はギリシャ文字 \( \sigma \) (シグマ)で表されます。したがって、分散は \( \sigma ^{2} \) で表されます。

例えば、2つの高校のバスケットボールチームの身長を比較したいとします。次の表は、各チームの選手の身長と平均値を示しています。

Player 1 Player 2 Player 3 Player 4 Player 5 平均値
Team A 1.89m 2.1m 1.75m 1.98m 1.85m 1.914m
Team B 1.94m 1.9m 1.97m 1.89m 1.87m 1.914m

見てわかるように、両チームの平均身長は同じです。では、身長の分散を調べてみましょう。

分散はデータセットの広がりを測るものなので、データセットの平均からの偏差を考えたいと思います。各変数から平均値を引くことで、各変数の平均値からの偏差を計算することができます。

ここで、身長を \( x \) 、身長の平均値をギリシャ文字 \( \mu \) で示します。各変数の平均値からの偏差は次のようになります。

\[ x_{n}- \mu = x_{n}-1.914m \]

次の表は、各変数の平均値からの偏差を示したものです。

Player 1 Player 2 Player 3 Player 4 Player 5
Team A -0.024m 0.186m -0.164m 0.066m -0.064m
Team B 0.026m -0.014m 0.056m -0.024m -0.044m

いくつかの値は負になっています。負の値を取り除くために、平均値からの偏差の2乗を考えましょう。

\[ \left( x_{n}- \mu \right) ^{2} = \left( x_{n}- 1.914m \right) ^{2} \]

次の表は、各変数の平均値からの偏差の2乗を示したものです。

Player 1 Player 2 Player 3 Player 4 Player 5
Team A 0.000576m2 0.034596m2 0.026896m2 0.004356m2 0.004096m2
Team B 0.000676m2 0.000196m2 0.003136m2 0.000576m2 0.001936m2

データセットの分散を計算するためには、平均値からの偏差の2乗の平均を求めます。

\[ \sigma ^{2}= \frac{1}{N} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2} \]

チームAの場合、分散は次のようになります。

\[ \sigma _{A}^{2} = \frac{1}{N} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2}= \frac{1}{5} \left( 0.000576+ 0.034596+ 0.026896+ 0.004356+ 0.004096 \right) = 0.014m^{2} \]

チームBの場合、分散は次のようになります。

\[ \sigma _{B}^{2} = \frac{1}{N} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2}= \frac{1}{5} \left( 0.000676+ 0.000196+ 0.003136+ 0.000576+ 0.001936 \right) = 0.0013m^{2} \]

両方のチームの平均身長は同じでしたが、チームAの身長の散らばりは、チームBにくらべて大きいことがわかります。これは、チームAの選手はボールハンドラー、センター、ガードなど様々なポジションのプレーヤーがいる一方、チームBの選手は多様性がないことを意味しています。

分散の単位はメートルの2乗であるため、標準偏差を使用する方が便利です。先ほど述べたように、標準偏差は分散の平方根です。

\[ \sigma =\sqrt[]{\frac{1}{N} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2}} \]

チームAの選手の身長の標準偏差は、0.12 mです。

チームBの選手の身長の標準偏差は、0.036 mです。

今、全国の高校のバスケットボール選手における、身長の平均値と分散を計算したいとします。これはとても大変なことです。なぜなら、全ての高校の全ての選手に関するデータを集める必要があるからです。

一方で、大きな標本を用意し、その標本を用いて計算することで、私たちは選手の身長の平均値と分散を推定することができます。

正確な推定をするためには、選手をランダムに100人選んで、それ標本とすれば十分です。

しかしながら、標本を用いて母集団の分散を推定する場合、分散の計算式は少し変化します。\( N \) で除算する代わりに、\( N-1 \)で除算します。

\[ \sigma ^{2}= \frac{1}{N-1} \sum _{n=1}^{N} \left( x_{n}- \mu \right) ^{2} \]

この \( N-1 \) の要素をベッセルの補正(Bessel's correction)と呼びます。

上式の数学的な証明は、visiondummyWikipedia を参照してください。

正規分布

多くの自然現象は 正規分布 に従うことが知られています。正規分布は、数学者カール・フリードリヒ・ガウスにちなんで ガウス分布 とも呼ばれ、次の式で表されます:

\[ f \left( x; \mu , \sigma ^{2} \right) = \frac{1}{\sqrt[]{2 \pi \sigma ^{2}}}e^{\frac{- \left( x- \mu \right) ^{2}}{2 \sigma ^{2}}} \]

ガウス曲線は、正規分布の 確率密度関数(PDF) とも呼ばれます。

次のグラフは、3つの都市 A・B・C におけるピザの配達時間の PDF を示しています。

ガウス分布
  • 都市 A の平均配達時間は 30 分、標準偏差は 5 分です。
  • 都市 B の平均配達時間は 40 分、標準偏差は 5 分です。
  • 都市 C の平均配達時間は 30 分、標準偏差は 10 分です。

都市 A と都市 B のピザ配達時間のガウス曲線は形が同じですが、その中心は異なります。つまり都市 A では、都市 B より平均で 10 分早くピザが届きます。一方、配達時間のばらつきは同じです。

都市 A と都市 C のガウス曲線の中心は同じですが、形が異なります。したがって、平均配達時間はどちらの都市でも同じですが、ばらつき(分散)は異なります。

次のグラフは、正規分布の割合を示しています。

標準偏差
  • 都市 A の配達時間の 68.26% は \( \mu \pm \sigma \)(25〜35 分)の範囲にあります。
  • 都市 A の配達時間の 95.44% は \( \mu \pm 2\sigma \)(20〜40 分)の範囲にあります。
  • 都市 A の配達時間の 99.74% は \( \mu \pm 3\sigma \)(15〜45 分)の範囲にあります。

通常、測定誤差は正規分布に従います。カルマンフィルタの設計では、測定誤差が正規分布であると仮定します。

確率変数

確率変数 はシステムの隠れた状態を表します。確率変数とは、ランダムな実験から得られる取り得る値の集合です。

確率変数には連続型と離散型があります:

  • 連続型確率変数は、バッテリーの充電時間やマラソンの完走時間のように、特定の範囲内で任意の値を取ることができます。
  • 離散型確率変数は、ウェブサイト訪問者数やクラスの学生数のように、数えられる値を取ります。

確率変数は確率密度関数によって表されます。本テキストでは、確率密度関数は次の値で特徴づけられます:

  • \( \mu_{\scriptscriptstyle \!X} \) – 測定値列の平均。
  • \(\sigma_{\scriptscriptstyle \!X}^{2} \) – 測定値列の分散。

推定・精度・精密度

推定 とは、システムの隠れた状態を評価することです。例えば、航空機の真の位置は観測者から見えません。レーダーなどのセンサーを使って航空機の位置を推定できます。複数のセンサーを使用し、高度な推定・追跡アルゴリズム(カルマンフィルタなど)を適用することで、推定は大幅に改善されます。測定値や計算された値はすべて推定値です。

精度(Accuracy) とは、測定値が真値にどれだけ近いかを示します。

精密度(Precision) とは、同じパラメータを何度も測定したときのばらつきを示します。精度と精密度は推定の基盤を構成します。

次の図は、精度と精密度を示しています。

Accuracy and Precision

高精密度のシステムは測定の分散(不確かさ)が小さく、低精密度のシステムは分散が大きいです。ランダムな測定誤差がこの分散を生みます。

精度が低いシステムは バイアス(偏り) を持つシステムと呼ばれ、測定に体系的誤差が含まれています。

分散の影響は、測定値を平均化または平滑化することで大幅に減らすことができます。例えば、ランダム誤差を含む温度計で温度を測る場合、複数回測定して平均を取ることができます。誤差がランダムであるため、いくつかの測定値は真値より上、いくつかは下になります。平均値は真値に近づきます。測定回数が多いほど、推定値は真値に近づきます。

一方、バイアスのある温度計は、推定値に常に一定の体系的誤差を生じさせます。

本チュートリアルの全ての例は、非バイアス のシステムを想定しています。

まとめ

次の図は、測定の統計的な見方を示しています。

Statistical view of the measurement

測定値は 確率変数 であり、確率密度関数(PDF) によって記述されます。

測定値の平均は、確率変数の 期待値 です。

測定値の平均と真値の差は、測定の精度(Accuracy) であり、バイアス体系的測定誤差 とも呼ばれます。

分布の広がりは 測定の精密度(Precision) であり、測定ノイズランダム誤差、または 測定不確かさ とも呼ばれます。

カルマンフィルタの本
例に基づくカルマンフィルタ解説ガイド