季節性やその他のパタ​​ーンが変化する時系列に対処する方法は?


22

バックグラウンド

私は、エネルギーメーターの測定値の時系列データセットに取り組んでいます。シリーズの長さはメートルによって異なります-私が数年持っているものもあれば、数ヶ月しかいないものもあります。

私が取り組んできたものの1つは、これらの時系列のクラスタリングです。私の仕事は今のところ学術的であり、データの他の分析も行っていますが、クラスタリングを実行するという特定の目標があります。

さまざまな機能(週末と平日で使用される割合、異なる時間ブロックで使用される割合など)を計算する初期作業を行いました。その後、動的タイムワーピング(DTW)を使用して異なるシリーズ間の距離を取得し、差分値に基づいてクラスタリングを検討することに進み、これに関連するいくつかの論文を見つけました。

質問

特定のシリーズの季節性の変化により、クラスタリングが不正確になりますか?もしそうなら、どのように対処しますか?

私の懸念は、時系列のパターンが変更された場合、DTWによって取得された距離が誤解を招く可能性があることです。これにより、誤ったクラスタリングが発生する可能性があります。

上記が不明な場合は、次の例を検討してください。

例1

メーターの真夜中から午前8時までの測定値が低く、次の1時間は測定値が急激に増加し、午前9時から午後5時まで高値を維持し、次の1時間にわたって急激に減少し、午後6時から深夜まで低値を維持します。メーターは、このパターンを毎日数か月間一貫して継続しますが、読み取り値が1日を通して一貫したレベルにとどまるパターンに変わります。

例2

メーターは、ほぼ毎月消費されるエネルギー量を示します。数年後、夏季のエネルギー使用量が通常の量に戻る前のパターンに変わります。

可能な方向

  • 私は、時系列全体を比較し続けることができるかどうか疑問に思っていましたが、パターンを大幅に変更する場合は、それらを分割し、別のシリーズと見なします。ただし、これを行うには、そのような変更を検出できる必要があります。また、これが適切な方法なのか、データを操作するのかわからないだけです。
  • また、データを分割し、それを多くの別個の時系列として考慮することも検討しました。たとえば、毎日/メーターの組み合わせを個別のシリーズと考えることができます。ただし、毎週/毎月/毎年のパターンを検討する場合は、同様に行う必要があります。私が考えて、これは動作しますが、それは潜在的にかなり厄介だと私は欠けていることにもっと良い方法があるのなら、私はこの道を行くことを憎みます。

さらなる注記

これらは、コメントに出てきたもの、またはコメントが原因で私が考えたもので、関連性があるかもしれません。関連情報を取得するためにすべてを読み通す必要がないように、ここに配置しています。

  • 私はPythonで作業していますが、Rの方が適している場所にはrpyがあります。私は必ずしもPythonの答えを探しているわけではありません-誰かが実際に何をすべきかについての答えを持っているなら、実装の詳細を自分で理解して幸せです。
  • 私はたくさんの「ラフドラフト」コードを実行しています。DTWをいくつか実行したり、いくつかの異なるタイプのクラスタリングを実行したりしています。本当に探しているのは、距離を見つける前にデータを処理する方法、クラスタリングを実行する方法などに関連しています。
  • これらの論文は時系列とDTWについて特に有益であり、トピック領域の背景が必要な場合に役立つことがあります:http : //www.cs.ucr.edu/~eamonn/selected_publications.htm

+1非常に素晴らしい質問であり、これほど多くの熱意を見るのは素晴らしいことです!あなたはあなたの質問を少し絞ることができると思うので、他の人に読んでもらい、そしてあなたに答えを与えるように誘います。
ルーベンス14

@ルーベンスありがとう!私は今夜​​家に帰ったときにやり直します。この時点でどうやって得たのか、そしてその理由についての情報を含めるのに役立つ場所を確認できます。長くなりすぎるのではないかと心配しましたが、背景を分離して、読みにくくなるのを避けるためにもう少し質問します。
ジョーダグラス14

「純粋な統計」の質問ではないかもしれませんが、純粋な統計の答えが必要です。あなたはそれについて純粋な統計用語で考えることができるまで苦労します。
Spacedman 14

@Spacedman-人々が答える最善の方法であると感じるあらゆる方法で答えを歓迎しますが、まだ理解していない式や統計的概念への参照に答えが重い場合はさらに質問があるかもしれないという警告があります。
ジョーダグラス14

ジョーはあなたの質問に対する正しい答えを見つけましたか?私は同じ状況にあり、助けが必要です。ありがとう
-LSola

回答:


14

あなたの質問を読んだ後、私は時系列クラスタリング動的時間ワーピング(DTW)のトピックに興味を持ちました。だから、私は限られた検索を実行し、基本的な理解(私にとって)と私見関連の次のセット(あなたのため)を思いついた。この記事がお役に立てば幸いですが、このトピックの実用的な側面に興味があったので、私は意図的に研究論文を読み飛ばしたことに留意してください。

リソース:


1
これらの多くは、私が検討してきたリソースです。たとえば、ポイント2および4で作業の修正版を実装したので、おそらく同じようなページにいます。そして、私が知っていることの大部分は、Eamonn Keoghの論文またはそれらに基づく記事に基づいています。しかし、ここにはまだ読んでいないものがいくつかあり、自転車共有時系列クラスタリングに関するものは興味深いです-ありがとう!私の質問に具体的に答えるものは見当たりませんが、読んでいる間に何かを見逃した場合は指摘してください。
ジョーダグラス14

1
また、もしあなたがまだこれを面白いと感じているなら、Keoghの論文は本当に読む価値があります。驚くほど読みやすく、多くのデータセットの使用に焦点を当てており、誰かがすべての実験を再現できる十分な情報を提供しているため、非常に実用的です。最新のものは興味深いものであり、私の質問で脇に追い込まれたときに私が自分の道を進めていたものです。cs.ucr.edu/~eamonn/selected_publications.htm
ジョーダグラス14

1
@JoDouglass:どういたしまして!私はあなたの質問に直接答えるつもりはありませんでしたが(トピックに関する知識が限られているため)、役に立つと思われました。素敵なコメントと参考資料をありがとう-私は論文を閲覧し、より良いアイデアを得ようとします。学ぶべきことがたくさんありますが、それは少し圧倒的です。
アレクサンドルブレフ14

1
圧倒的です、私はしばらくの間、このトピックを選択するために自分自身を蹴っていました!私はそこに着いているように感じますが、学ぶことは本当に面白かったです。私はやらなければならないことの大まかなバージョンとしていくつかのことを実行していますが、今はモデルを実行する前にデータを処理する方法を理解することについてのことだと思います。私が言及した最近のKeoghの論文を読んで以来、時系列の平均化について議論した最初の自転車共有リンクは私にとって興味深いものです。
ジョーダグラス14

1
@JoDouglass:「圧倒的」と言ったとき、データサイエンスドメイン全体(特にAI / MLと統計を含む)を意味していました。私は見つけることがまだだリソース提示し、高レベルの各種の議論のアプローチおよび/または方法などのテーマに統合され、包括的、まだ倹約フレームワークを
アレクサンドルブレフ14

4

季節のパターンだけをマイニングしたい場合は、自己相関を調べます。季節のパターンを学習して予測できるモデルを探しているなら、Holt-Wintersは良い出発点であり、ARIMAはフォローアップするのに良いことでしょう。 ここ[pdf]は、私を立ち上げたチュートリアルです。


この作業は、純粋に実用的というよりは、(今のところ)学術的です。私は非常に遅いまたは将来の予測を行うかもしれませんが、今のところ過去のデータを調査することにもっと興味があります。クラスタリングはそれ自体が目標であり、その点を超えて検討したいアイデアもあります。
ジョーダグラス14

申し訳ありませんが、Enterキーを押してください。私は自己相関をある程度調べて、かなり前にデータのサブセットでそれを実行しましたが、それから何が得られるのかははっきりしませんでした。データはかなりうるさいです。季節性のパターンは、視覚化では時々明らかですが、タイミングが不正確です。そのため、似たようなパターンを探しているかもしれませんが、スケジュールが合っていません。そのようなデータでは自己相関が問題になる可能性が高いと言われましたが、その中に価値があれば、もう一度調べてみてください。季節性だけを見つけたくはありませんが、それを理解することが目標です。
ジョーダグラス14

少なくとも2.5までのチュートリアルを実行してください。アカデミック環境に特に適したRを使用します。これは、探しているものとまったく同じように聞こえる自己相関を教えてくれます(何を見ているのかわからない、またはデータが実際にノイズが多いために適合しなかったかどうかはわかりません)。ノイズが問題である場合、指数平滑法はそれを支援する1つの方法であり、holt-wintersモデルの一部として学習されます。それがすべてあなたに答えを与えない場合でも、それは確かにあなたの次のステップの道をより明確にするでしょう。
TheGrimmScientist

私はチュートリアルを読みましたが、それはほとんど私がすでに知っていることを乗り越えます。私は実際にPythonで働いており、Rに切り替えることには少し遠すぎますが、Pythonライブラリで見つけることができないものがある場合に備えて、ある時点でrpyをつかむつもりでした。私が言うように、クラスタリングがそれ自体で目標であると言うように、質問を書き直しました。私は行くために全く異なる方向を探していません。私はチュートリアルが怖いですtは本当に私の質問に答えます。
ジョーダグラス14
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.