移動平均いろいろ – Moving Average


20081018-Movingaverage

iPhone ぐるぐるがあんまし安定しないやつ、コメントもらったのでつっこんで調べてみたわけよ。移動平均 (Moving Average) にもいろいろあるみたいで。

んでもともと実装してたやつはどうやら指数加重移動平均 (EMA: Exponetial Moving Average) っぽい。あれですよ、Flash でよくやる動きをスムーズにするやつ、

posX = (currentX - posX) * 0.1 + posX;

みたいなの。自然と移動平均つかってたんやんっていう。

んでまあいろいろある移動平均がどーちがうねんっていうのを見るのにちょっとコードを書いてみたソースコード)わけですね。白いのが理想的なライン。そのまわりにちらばってる白いのがノイズが入ったセンサーからの値っぽいやつ。結果は見ればわかるですが、加重移動平均と指数加重移動平均ってあーんまし変わらんのね、まー、パラメータの取り方にもよるとおもうけど。どっちかつーと加重移動平均のほうが安定?みたいな。

とりあえず加重移動平均を組み込んでみるかなあ。

ローパスフィルタ系も調べてみたのだけどちーと難しくって放置。またの機会に調べるとしよう。