毎日の向こうに

仕事/趣味、そしてそれらに使っているパソコン(主にMacOSX),写真,旅行のことなど書いています.


テーマ:

このようなぎざぎざの時系列を平滑化する方法の1つに移動平均を計算する方法がある。
np.convolve を利用する。
ぎざぎざのデータがあるとする。

sun

[0.25, 0.25, 0.25, 0.25] という列(カーネル関数)を時系列データに畳み込み(コンボリューション)計算をする。

kernel = np.ones(4)/4

で array([ 0.25,  0.25,  0.25,  0.25]) を作成できる。
畳み込み計算は

smoothed = np.convolve(dataarray, kernel, mode='same')

とする。

plt.plot(smoothed)
plt.show()

smoothed

ぎざぎざがましになっている。

mode = 'same' を指定したので、convolve 前後の時系列データの長さは等しくなるようにたたみ込みを行う。
このとき、時系列データの両端でたたみ込みが完全に行えない部分生じるためバイアスが係っていることに注意する。
mode = 'valid' とすると、カーネルが時系列データに完全にオーバーラップできる部分から畳み込みがはじまるため、結果の時系列データは元よりも短くなる。が端点のバイアスない。
mode = 'full' も 'same' 同様端点にバイアスがかかる。この場合は、結果の時系列データは元よりも長くなる。



AD
いいね!した人  |  コメント(0)  |  リブログ(0)

おやささんの読者になろう

ブログの更新情報が受け取れて、アクセスが簡単になります

AD

Ameba人気のブログ

Amebaトピックス

      ランキング

      • 総合
      • 新登場
      • 急上昇
      • トレンド

      ブログをはじめる

      たくさんの芸能人・有名人が
      書いているAmebaブログを
      無料で簡単にはじめることができます。

      公式トップブロガーへ応募

      多くの方にご紹介したいブログを
      執筆する方を「公式トップブロガー」
      として認定しております。

      芸能人・有名人ブログを開設

      Amebaブログでは、芸能人・有名人ブログを
      ご希望される著名人の方/事務所様を
      随時募集しております。