単純移動平均について
時系列に無限に発生するデータのうち、最近の何個かの平均を求め続けたい。例えば最近の10個の移動平均を求めるなら
移動平均=(Pm+Pm-1+Pm-2+・・・・・+Pm-9)/10
で求められますが、これを計算するためにはPmからPm-9まで10個のデータを記憶しておく場所が必要になります。
マイコンでは連続して沢山の記憶域を確保するのが困難なので、これを連続域を使用しないように手抜きして
新10個の合計=現10個の合計ー現10個の平均+新データ
新10個の平均=新10個の合計/10
で計算できれば大きな記憶域が不要になるので、10個ではなくて1000個の移動平均でもマイコンで計算できるようになるはずです。
そこでお聞きしたいのは、このような手法で本来の単純移動平均と同等の効果が期待できるかということです。
私が欲しいのは時系列データの長時間変化の傾向が知りたいのです。そのために短時間の変化は大きな流れの中に埋没させてしまいたい。それだけの要求なので、これでも何とか使い物になるかと期待しているのですが。
工学部系でして数学に弱いもので、よろしくお願いします。
A 回答 (4件)
- 最新から表示
- 回答順に表示
No.4
- 回答日時:
> どんな分野で使い物になるのか興味があります。
> もし、私のデータがそのような傾向があればと予想する材料にもなります。
> よろしければ、再度どのような分野かご教示ください。
ネットワーク分野です。
ネットワークで用いられるTCPでは、
データを転送する時に転送データをある程度小さな塊に分割し、
その塊を転送します。
この塊のうち、いくつかがデータ受信者に届かなかった場合は
届かなかったデータを再転送します。
しかしデータが届かないという事はネットワークが過負荷になっている可能性があります。
そんな時にすぐ再転送してしまうとネットワークがさらに過負荷になりますし、
再びデータの塊が消失してしまうかもしれません。
適切な時間待機して再転送を行うため、
TCPでは往復時間(RTT)というものを用いて再転送時間を決めています。
TCPでは受信者がデータの塊を受け取ると、受信者は送信者に応答を返します。
この時、送信者がデータの塊を送ってから応答が帰ってくるまでにかかる時間がRTTです。
RTTが短くなってくれば、その時はネットワーク負荷が軽い可能性があります。
この場合はすぐに再転送しても問題ないかも知れません。
RTTが長くなってくれば、その時はネットワーク負荷が高い可能性があります。
この場合は少し時間をおいてから再転送した方が良いかも知れません。
TCPではRTTの平均値(のようなもの)を求めるために、次の計算式を使っています。
(最新RTT平均値) = t(旧RTT平均値) + (1-t)(計測RTT値)
元のTCPではtの値は0.9が推奨されていたと思います。
他にもt = 1/8を用いる場合もあります
(t = 1/8ならシフト演算で割り算ができるため)。
この再転送の話では「全時間のネットワーク負荷」よりも
「最近の時間のネットワーク負荷」の方が大事になってくると思います。
なのである程度旧データの傾向が弱くなっても良いのかもしれません。
懐かしいお話をありがとうございます。昔、TAOという組織に属していた頃にネットワークの勉強をしていた頃に再転送までの時間はランダムに決定すると聞いていた記憶がありますが、そんな実情があったとは。
それでも私との違いは0.9の重み付けをしている点ですね。大変参考になりました。
No.3
- 回答日時:
その時系列に、誤差を乗っけてみます。
P[m] = (1 + ε[m]) (0.85) P[m-1] ,
ε[m] は -0.5 ~ 0.5 くらいの大きさで
何かランダムっぽい感じのデータ
である場合を考えましょう。
m が大きめの値のとき、P[m] に対する影響は、
ε[m] と ε[1] のどちらが大きいですか?
色々とヒントをいただけるのですが、そのセンスがないのでピンときません。
一般に雑音が大きくなれば信号が埋もれてS/Nは悪くなりますが、10個の記憶域を使う移動平均と比べてS/Nが更に悪くなると言われているのでしょうか。
実は、お二人の回答からデータによっては使えない場合が起きそうなのに、私のデータが未知の状態なので両方やってみるしかないと思い始めています。
少ない記憶域をやりくりすれば64個ほど確保できそうです。ただ、64個では瞬間的なノイズが1/64にしかならないのが不満です。
No.2
- 回答日時:
その方法だと、最初のほうのデータの影響が、
指数減衰するとはいえ、後々まで残ります。
Pm 自身が、9/10 倍よりも早く指数減衰する系列
だった場合に何が起こるか、考えてみると
面白いかもしれません。
早速のレスポンスありがとうございます。
>Pm 自身が、9/10 倍よりも早く指数減衰する系列だった場合に何が起こるか、考えてみると面白いかもしれません。
私の頭では考えても分からないので、実際にEXCELでグラフを書いてみました。
Pm=0.85*Pm-1 で発生させた200個くらいの数列です。
その結果、原データから少し遅れて、原データと似たようなカーブで減衰しただけで、何が面白いか理解できませんでした。
よろしければ、再度何が面白いかご教示ください。
ただ、最初のほうのデータの影響が尾を引くのが私のケースで有効なのか悪影響なのか。
まだ、自分が扱うデータがどのように発生してくるか予想できないので自分でも困っています。
No.1
- 回答日時:
> 新10個の合計=現10個の合計ー現10個の平均+新データ
> 新10個の平均=新10個の合計/10
> で計算できれば大きな記憶域が不要になるので、10個ではなくて1000個の移動平均でもマイコンで計算できるようになるはずです。
質問者さんの提案している式はもっと簡略化できます。
まず、上の式の「現10個の合計 - 現10個の平均」の部分ですが、これは
現10個の合計 - 現10個の平均
= 9(現10個の平均)
という風に変形できます。
あとは質問者さんが提案している2式をまとめてしまって、
(新10個の平均) = 0.9(現10個の平均) + 0.1(新データ)
としてしまえば良いと思います。
こうすれば現在の平均値と新データのみで、
新しい平均値を計算する事が出来ます。
> そこでお聞きしたいのは、このような手法で本来の単純移動平均と同等の効果が期待できるかということです。
ある状況によっては単純移動平均と大差ない結果がでるかもしれませんが、
別の状況では大きく結果が異なるかもしれません。
> 私が欲しいのは時系列データの長時間変化の傾向が知りたいのです。そのために短時間の変化は大きな流れの中に埋没させてしまいたい。それだけの要求なので、これでも何とか使い物になるかと期待しているのですが。
今回の計算式だと過去のデータがどんどん0.9倍されてしまいます。
つまり過去のデータの影響は指数関数的に減少していきます。
なので最近のデータの影響がやや強くなる傾向が出るはずです。
結局のところ、納得できる結果が得られるかどうかは
実際に試してみるまで分からないと思います。
一応、質問者さんが考えている方法は既に別の分野で使われたりしています。
面白い考え方をありがとうございます。
残念ながら私が使っているマイコンには乗除算命令がありません。それでシフト命令で代行しますので2のべき乗で乗除することしか考えていませんでした。
>結局のところ、納得できる結果が得られるかどうかは実際に試してみるまで分からないと思います。
自分でも扱うデータの素性が予想できないので、結局試してみるしかなさそうですね。
>質問者さんが考えている方法は既に別の分野で使われたりしています。
どんな分野で使い物になるのか興味があります。もし、私のデータがそのような傾向があればと予想する材料にもなります。よろしければ、再度どのような分野かご教示ください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・街中で見かけて「グッときた人」の思い出
- ・「一気に最後まで読んだ」本、教えて下さい!
- ・幼稚園時代「何組」でしたか?
- ・激凹みから立ち直る方法
- ・1つだけ過去を変えられるとしたら?
- ・【あるあるbot連動企画】あるあるbotに投稿したけど採用されなかったあるある募集
- ・【あるあるbot連動企画】フォロワー20万人のアカウントであなたのあるあるを披露してみませんか?
- ・映画のエンドロール観る派?観ない派?
- ・海外旅行から帰ってきたら、まず何を食べる?
- ・誕生日にもらった意外なもの
- ・天使と悪魔選手権
- ・ちょっと先の未来クイズ第2問
- ・【大喜利】【投稿~9/7】 ロボットの住む世界で流行ってる罰ゲームとは?
- ・推しミネラルウォーターはありますか?
- ・都道府県穴埋めゲーム
- ・この人頭いいなと思ったエピソード
- ・準・究極の選択
- ・ゆるやかでぃべーと タイムマシンを破壊すべきか。
- ・歩いた自慢大会
- ・許せない心理テスト
- ・字面がカッコいい英単語
- ・これ何て呼びますか Part2
- ・人生で一番思い出に残ってる靴
- ・ゆるやかでぃべーと すべての高校生はアルバイトをするべきだ。
- ・初めて自分の家と他人の家が違う、と意識した時
- ・単二電池
- ・チョコミントアイス
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「未使用」と「不使用」ってど...
-
データ用HDDの別のPCへの乗せ替え
-
PCの内蔵メモリにデータは残る?
-
白黒写真を黒いドットの正円で...
-
ネットカフェから、メールでき...
-
ワードの差し込み印刷のデータ...
-
プロ野球の球団別の残塁数を載...
-
日本通信の当月利用データ量は...
-
パレート図等で「N=100」とあ...
-
インスタの設定について。 イン...
-
高速フーリエ変換でデータ数が...
-
フーリエ変換のデータの補間に...
-
三角関数を含んだモデル式での...
-
シミュレーション仮説は、仮説...
-
ガラケーの電話帳を印刷したい...
-
d’の求め方
-
正規化(時間)
-
Excelの“並び替え”で文字コード...
-
時代はSSDなのにネットの最近の...
-
個人データと保有個人データの違い
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「未使用」と「不使用」ってど...
-
高速フーリエ変換でデータ数が...
-
PCの内蔵メモリにデータは残る?
-
日本通信の当月利用データ量は...
-
パレート図等で「N=100」とあ...
-
XMLデータってなんですか?
-
ネットカフェから、メールでき...
-
インスタの設定について。 イン...
-
データ用HDDの別のPCへの乗せ替え
-
エクセルのグラフのデータ系列...
-
エクセルで縦に並んだデータを...
-
Excel Webクエリ
-
Excelの“並び替え”で文字コード...
-
電子辞書の画面をPCに映すには
-
ワードの差し込み印刷のデータ...
-
職務質問で聞かれたデータはど...
-
表計算: 多次元の表を作りたい
-
相関行列作成時の数字以外のデ...
-
Excel グラフで数値の正と負の...
-
フーリエ変換のデータの補間に...
おすすめ情報