質問するログイン新規登録

Q&A

解決済

1回答

282閲覧

時系列データの相関の確認について

gardsb

総合スコア16

AI(人工知能)

AI(人工知能)とは、言語の理解や推論、問題解決などの知的行動を人間に代わってコンピューターに行わせる技術のことです。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

0グッド

0クリップ

投稿2025/10/21 00:05

0

0

実現したいこと

時系列データの相関を確認する。

発生している問題・分からないこと

現在故障判定のaiを作ろうとしています。
まずは対象部品の時系列データに対して、推移の確認や相関の確認をしようと思います。
ここで質問なのですが、時系列データは単純に相関を見ても良いのでしょうか?

見せかけの回帰というのがあり、関係があるように見えるらしいのですが。これは回帰の時の話でしょうか?
https://www.salesanalytics.co.jp/datascience/datascience174/

非定常の判定が必要なのか、加工をした方が良いのかなどまよっています。

まとめ
単純に相関を見て良いのか?
見てはいけない場合、どうしたら良いのか?
を教えていただきたいです。
よろしくお願いします。

該当のソースコード

なし

試したこと・調べたこと

  • teratailやGoogle等で検索した
  • ソースコードを自分なりに変更した
  • 知人に聞いた
  • その他
上記の詳細・結果

見せかけの回帰が発生する危険がある。
しかし、相関を見るときに関係するのかはよくわからない。

補足

pythonでの実装を想定しています。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

meg_

2025/10/21 01:25

> まずは対象部品の時系列データに対して、推移の確認や相関の確認をしようと思います。 「対象部品の時系列データ」とは複数の変数の時系列データですか?
gardsb

2025/10/21 23:07

おっしゃる通り、複数の変数の時系列データです。
meg_

2025/10/22 13:29

> 非定常の判定が必要なのか、加工をした方が良いのかなどまよっています。 記事には「時系列データ分析では一般的に、データを定常化してから分析を行います。」とあり、これが答えではないでしょうか?理論面については専門書を当たるのが良いかと思います。
guest

回答1

0

ベストアンサー

meg_さんのコメントにもありますが、

  • 時系列データの取り扱いはかなり難度が高い
  • 「故障判定」が分類であれば良いですが、稀なことを検知する「異常検知」ですとこれまた何度が高い
    これらをやられる場合はきちんと専門書にあたられた方が良いと思います。

その上で、

時系列データは単純に相関を見ても良いのでしょうか?

かなり危険。というのが一応の回答です。

提示いただいた記事にも書いてありますし、

見せかけの回帰(Spurious regression)とは、2つの変数間に本質的な関連性がないにもかかわらず、統計的に有意な関連性が見られると誤って結論付けてしまう現象

時系列データへの回帰分析

それは例えば「本来ならば無関係の2つのデータに対して、有意な回帰係数が得られてしまう」という問題です。
こういう問題を「見せかけの回帰」と呼びます。

見せかけの回帰について(そして単位根過程・共和分など)
この記事ではRですがかなり詳細に例を示しています。

また私も書いておりますが、
ヤバいデータ分析(書籍・記事であまり扱われてないが重要なこと)#13.見せかけの回帰
これでは簡単に、ランダムな値でも見せかけの回帰で相関が出てしまうよ、ということです。

見せかけの回帰は本来、回帰の時の話ですが、本来無関係な時系列の値が見せかけの回帰をするということは相関を見ると、本来無関係な時系列の値が相関係数が高く出ることがある、ということです。

ですので、時系列データを単純に相関で比較して「AとBは相関がある」と判断するのは危険です。

これを避けるには単純には階差(今の値と一つ前の差分)の時系列データにして相関を見る
場合によっては2階以上の階差でないとダメな場合があります。
この判断の検定手法もあります。ただ、階差をとると本来の情報を落としてしまうという考えもあり、これだけで一つの研究分野です。

すごくざっくり申し上げると
時系列データの毎回の値が乱数で発生されそれを毎回足し合わせたような値(これを、ランダムウォークと呼びます)同士でも、見せかけの回帰(≒相関)が発生してしまう。
なので、今の値から前回の値を引くと毎回発生した上下動となる。見せかけの回帰であれば、これで乱数だ相関がないとわかる。
もし本当に特徴量AとBに相関があり、Aを回帰するときにBが有効であれば、階差をとったその回の値でも相関があるはず。というような考え方です。

現実にはAの値が遅れてBの値と相関する場合や
ご質問のように非定常の場合の悪影響もあります。

これらを正確に理解するためには、
https://logics-of-blue.com/time-series-regression/
この記事の方の著書である『Pythonではじめる時系列分析入門』は最低限として
https://tjo.hatenablog.com/entry/2013/04/23/190417
この記事でも引用されている『経済・ファイナンスデータの計量時系列分析』レベルは理解しておいた方がよろしいです。

まず、お試しやご自身の勉強とのことであれば、階差をとった値で相関を見てみることから始められるとよろしいかと。
クリティカルな場面で使われるのであれば、上記書の理解や専門家への依頼を検討された方がよろしいと思います。

投稿2025/10/26 06:56

aokikenichi

総合スコア2304

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.29%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問