SlideShare uma empresa Scribd logo
1 de 23
カルマンフィルタについて
学ぶ前の知識
• 平均値
1
𝑁
𝑖=1
𝑁
𝑥𝑖
• 上の例を以下の様に書く
– 𝑥
• 具体的な例
𝑥1 1
𝑥2 2
𝑥3 3
平均 2
学ぶ前の知識
• 分散
1
𝑁 − 1
𝑖=1
𝑁
𝑥𝑖 − 𝑥 2
• 上の例を以下の様に書く
– 𝑉𝑎𝑟 𝑥
– 𝜎𝑥
2
• 具体的な例
– 数値は先程と同様
𝑥1 = 1, 𝑥2 = 2,
𝑥3 = 3, 𝑥 = 2
𝑥1 − 𝑥 2 1
𝑥2 − 𝑥 2 0
𝑥3 − 𝑥 2 1
分散 1
学ぶ前の知識
• 共分散
1
𝑁 − 1
𝑖=1
𝑁
𝑥𝑖 − 𝑥 𝑦𝑖 − 𝑦
• 上の例を以下の様に書く
– Cov 𝑥, 𝑦
– 𝜎𝑥,𝑦
学ぶ前の知識
• 具体的な例
𝑥1 1 𝑦1 3
𝑥2 2 𝑦2 2
𝑥3 3 𝑦3 1
𝑥 2 𝑦 2
𝑥1 − 𝑥 𝑦1 − 𝑦 -1
𝑥2 − 𝑥 𝑦2 − 𝑦 0
𝑥3 − 𝑥 𝑦3 − 𝑦 -1
共分散 -1
二人の実験データをまとめ
• AさんとBさんが同じ鉛筆の長さを測る実験をしました
– Aさんは 定規 で100回
– Bさんはメジャーで1000回
• 結果は
– Aさんは175.0𝑚𝑚 ± 2.0𝑚𝑚
– Bさんは177.0𝑚𝑚 ± 5.0𝑚𝑚
• 二人の実験は同じなのでまとめるようにと言われました。
– しかし、平均値も分散値も異なります。
二人の実験データをまとめ
• これらは分散を重みとした
加重平均により求めることができます。
𝑤𝑖 =
1
𝜎𝑖
2
まとめた平均 =
𝑤𝑖 𝑥𝑖
𝑤𝑖
まとめた分散 =
1
𝑤𝑖
二人の実験データをまとめ
• AさんとBさんの例
– Aさんは175.0𝑚𝑚 ± 2.0𝑚𝑚 -Bさんは177.0𝑚𝑚 ± 5.0𝑚𝑚
𝑤 𝐴 =
1
22
= 0.25 , 𝑤 𝐵 =
1
52
= 0.04
まとめた平均 =
0.25 ∗ 175 + 0.04 ∗ 177
0.25 + 0.04
まとめた分散 =
1
0.25 + 0.04
最終的な誤差 = まとめた分散
二人の実験データをまとめ
• 結果二人の実験結果は
175.3𝑚𝑚 ± 1.9𝑚𝑚
• となり尤もらしい値に近づいた。
• ちなみに実際は
軸径 : 7.2mm
厚さ : 7.8mm
全長 :176mm
重さ : 6.6g
カルマンフィルタでは
• カルマンフィルタではこのような操作を積分中
の値に対して行い誤差を取り除く
– 例はドリフトがある計測器のドリフトは実装前後で
取り除かれていることが即座に分かる。
– それ以外は数式とセンサーの精度に依存する。
カルマンフィルタについて
• カルマンフィルタでは
これを数式と観測値で行う
動的システム 静的システム
センサ 数式 センサ 数式
動的システム
センサ ☓ ○ ○ ○
数式 ○ △ □ △
静的システム
センサ ○ □ ○ □
数式 ○ △ □ △
ここでの静的と動的の意味
• 静的システム
– 積分を必要としない
– 差分方程式を必要としない
– 過去の値を利用しない
• 動的システム
– 積分を必要とする
– 差分方程式を必要とする
– 過去の値を利用する
記号の意味について
• ○実システムで実装可能
– センサーの誤差が取り除かれる
• △シミュレーション
– 数式の誤差が取り除かれる
• □数式モデルの精度評価
– 数式の誤差が取り除かれる
• ☓実装不可能
– ドリフトが同じ方に推移した場合誤差は取り除かれない
△での分散の扱いについて
• 線形化に伴う誤差からの導出が可能
• 不明の場合
– 分散を0とすると計算時にエラーとなる
• ドリフト許容量を分散とする
• 実験により適宜設定する
• シミュレーションでは、自由にシステムを想定すること
が出来るため適当に設定しそれぞれの特徴を調べる
□での分散の扱いについて
• 線形化に伴う誤差からの導出が可能
• 不明な場合
– センサーが必ず静的システムに存在するため
• 誤差の最大値と最小値を 4𝜎~3𝜎 として
設定することが可能
○での分散の扱いについて
• 式とセンサーの場合
– 線形化に伴う誤差からの導出が可能
– □により得られた分散を利用する
• センサー同士の場合
– データシートに記載されている分散を利用する
– 実験により分散を求める
– 学ぶ前の知識を漸化式化し分散をオンラインで
推定する
平均値の漸化式
𝑥𝑖+1 =
𝑖 𝑥𝑖 + 𝑥𝑖+1
𝑖 + 1
𝑖 = 0,1,2, ⋯ , 𝑛
• 分散・共分散も偏差の平均と見れば
この式のみで定義にそって計算できる。
カルマンフィルタの応用
• 推定値と推定誤差が扱えれば複数のデータ
をまとめることが出来る
• 回帰とT値でも同様に計算が行える
• ノンパラメトリック手法とパラメトリック手法の
データをまとめることが期待できる
カルマンフィルタの問題点
• 行列の掛け算と逆行列の演算が
𝑂 𝑁3
のため行列をむやみの大きくできない
• モデルとモデル出力の式を間違えると
逆行列がすぐに計算できなくなる
• 大抵の場合、演算の途中式で単位行列に落
ち着いてしまい行列で演算する意味が希釈
になる
– ただし、センサーの軸の直交性を出す場合、そち
らの意味のほうが重要となる。
アルゴリズム行列計算
• 動的システムと静的システムの場合
 
 
 PKHIP
HxzKxx
RHPHPHK
QFFPP
T
T







1
アルゴリズム行列計算
• 静的システム同士の場合
 
 



HxzKxx
RHQHQHK T 1
記号の意味について
• Q:静的システムの共分散行列
• R:動的システムの共分散行列
• F:モデル
• K:カルマンゲイン
• H:出力行列
• X:モデル出力値
• z:観測値
• I:単位行列
カルマンフィルタの誤解
• 予測などと呼ばれているものはもともと現代
制御の空間状態表現で出力行列付きで更新
すれば行える標準的な機能だ。

Mais conteúdo relacionado

Destaque

状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
horihorio
 
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
. .
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
horihorio
 

Destaque (12)

ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリングベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
ベイジアンモデリングによるマーケティングサイエンス〜状態空間モデルを用いたモデリング
 
Ml ch7
Ml ch7Ml ch7
Ml ch7
 
状態空間モデル等による多変量時系列データ解析
状態空間モデル等による多変量時系列データ解析状態空間モデル等による多変量時系列データ解析
状態空間モデル等による多変量時系列データ解析
 
PyMC mcmc
PyMC mcmcPyMC mcmc
PyMC mcmc
 
時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17時系列解析の使い方 - TokyoWebMining #17
時系列解析の使い方 - TokyoWebMining #17
 
状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38状態空間モデルの考え方・使い方 - TokyoR #38
状態空間モデルの考え方・使い方 - TokyoR #38
 
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
分析のビジネス展開を考える―状態空間モデルを例に @TokyoWebMining #47
 
状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較状態空間モデルの実行方法と実行環境の比較
状態空間モデルの実行方法と実行環境の比較
 
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
『予測にいかす統計モデリングの基本』の売上データの分析をトレースしてみた
 
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
スパースモデリング、スパースコーディングとその数理(第11回WBA若手の会)
 
ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33ロジスティック回帰の考え方・使い方 - TokyoR #33
ロジスティック回帰の考え方・使い方 - TokyoR #33
 
機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話機械学習によるデータ分析まわりのお話
機械学習によるデータ分析まわりのお話
 

カルマンフィルタについて

Notas do Editor

  1. 真の値176mm+-σmm 分散は誤差σの二乗
  2. 実際はχ二条と最尤性原理を知っていてかつ微分が出来る技術が要求される。 導出は計測における誤差解析入門に任せる。
  3. となっている。
  4. ここでの動的と静的の違いは微積又は差分法の有無で、微積や差分法を利用するものを動的としている。 ○は実システムで実装可能 センサーの誤差が取り除かれる △はシミュレーション 数式の誤差が取り除かれる □は数式モデルの精度評価 数式の誤差が取り除かれる ☓は実装不可能 ドリフトが同じ方に推移した場合誤差は取り除かれない
  5. ここで、 Qは静的システム側の共分散行列、 Rは動的システム側の共分散行列です。 Fはモデルで Kはカルマンゲイン Hは出力行列 Xとzはモデル出力値と観測値 モデルが不要な場合は P=Qとして書き直すと K=QH(HQH^T+R)^-1 X=x^-+K(z^--Hx^-) となります。
  6. モデルが不要な場合は P=Qとして書き直すと K=QH(HQH^T+R)^-1 X=x^-+K(z^--Hx^-) となります。