1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

時系列データの周期性・スペクトル解析GUIアプリ(TimeSeriesSpectralGUI_r009)を作成しました

1
Posted at

時系列データの周期性・スペクトル解析GUIアプリ(TimeSeriesSpectralGUI_r009)を作成しました

はじめに

防災・水理水文分野では、雨量、水位、流量、潮位、地下水位、気温、WBGT、各種センサー値など、多くのデータが時系列として蓄積されています。これらのデータには、日周期・季節周期のような繰り返し変動だけでなく、降雨に対する河川水位の遅れ、上流から下流への伝播、潮位の影響、イベント時だけに現れる応答変化などが含まれることがあります。

一方で、時系列グラフを目視するだけでは、

  • どの周期成分が強いのか
  • 2つの時系列がどの周期帯で連動しているのか
  • 片方の変化に対して、もう片方が何時間程度遅れて反応しているのか
  • 洪水時や強雨時だけ応答特性が変わっていないか

といった点を定量的に把握するのは簡単ではありません。

TimeSeriesSpectralGUI_r009 は、CSV形式の時系列データを読み込み、周期性、2系列間の連動性、位相差、時間遅れをGUI上で確認するための解析支援アプリです。自己相関、パワースペクトル、クロススペクトル、コヒーレンス、移動窓解析、簡易ウェーブレット解析を組み合わせることで、時系列データの特徴を短時間で把握できるようにしています。

防災・水理水文分野では、例えば以下のような用途を想定しています。

  • 雨量と河川水位・流量の応答遅れの確認
  • 上流水位と下流水位の伝播時間の把握
  • 地下水位と降雨の遅れ応答の確認
  • 潮位と河川水位の周期的な関係の確認
  • センサー異常、ノイズ、欠測影響の確認
  • AIによる水位・流量予測モデルを作成する前の探索的データ解析

このGUIアプリは、解析条件の設定、グラフ表示、結果表、Markdownレポート出力までを一つの画面で扱えるようにしています。専門的な解析コードを書かなくても、CSVを読み込み、列を選択し、解析結果を図と表で確認できる点を重視しています。


このアプリでできること

主な機能は以下のとおりです。

  • CSV時系列データの読み込み
  • 欠測値補間、トレンド除去、標準化などの前処理
  • 自己相関による周期性確認
  • パワースペクトル解析
  • クロススペクトル解析
  • コヒーレンス、位相差、時間差の表示
  • 移動窓解析による時間変化の確認
  • 簡易Morletウェーブレット解析
  • 解析結果表の表示
  • 図付きMarkdownレポート出力
  • 使用方法のMarkdown出力

また、このアプリでは、単独時系列の周期性だけでなく、2つの系列の関係を確認できます。

例えば、以下のような用途を想定しています。

  • 上流水位と下流水位の伝播時間解析
  • 雨量と河川水位の応答遅れ解析
  • 潮位と河川水位の周期関係解析
  • 地下水位と降雨の応答解析
  • 気温とWBGTの周期性・遅れ確認
  • センサー時系列の同期性や異常期間の確認

入力データ形式

入力はCSV形式です。1行目をヘッダーとして読み込みます。

time,upstream,downstream,rainfall
0,0.12,0.10,0.0
1,0.20,0.12,1.2
2,0.24,0.18,3.5

時間列は、数値または日時文字列に対応します。
数値の場合は経過時間、日時文字列の場合は先頭時刻からの経過時間として解析します。


基本的な操作手順

  1. ZIPファイルをこちらからダウンロードする
  2. ZIPを任意のフォルダに解凍する
  3. EXEファイルを実行する
  4. CSVファイルを読み込む
  5. 時間列、X系列、Y系列を指定する
  6. 解析条件を確認する
  7. 「解析実行」を押す
  8. 各タブで結果を確認する
  9. 必要に応じてMarkdownレポートを出力する

インストールは、ZIPを解凍してEXEファイルを実行するだけです。

TimeSeriesSpectralGUI_r009の起動時の画面
Screenshot 2026-05-21 141917.png


主なタブ

時系列

元データと前処理後の時系列を確認します。
欠測、異常値、変動タイミング、遅れの有無を目視で確認できます。

Screenshot 2026-05-21 142044.png

自己相関

時系列を時間方向にずらしたときの類似性を確認します。
24時間周期、12時間周期、数日スケールの周期などを探すときに使います。

Screenshot 2026-05-21 142050.png

パワースペクトル

時系列に含まれる周期成分の強さを確認します。
ピークがある周期は、卓越周期の候補になります。

Screenshot 2026-05-21 142055.png

クロススペクトル

X系列とY系列が、どの周期で連動しているかを確認します。
コヒーレンスが高い周期では、2系列が同じ周期成分で強く関係している可能性があります。

また、位相差を時間差に換算することで、Y系列がX系列に対してどの程度遅れているかを確認できます。

Screenshot 2026-05-21 142102.png

移動窓解析

一定期間の窓をずらしながら解析します。
これにより、全期間平均では見えにくい、イベント時だけの応答変化や時間遅れの変化を確認できます。

Screenshot 2026-05-21 142107.png

ウェーブレット解析

横軸を時間、縦軸を周期として、いつ・どの周期成分が強かったかをヒートマップで確認します。
非定常な時系列の解析に向いています。

Screenshot 2026-05-21 142112.png

レポート

解析結果をもとに、Markdown形式のレポートを自動生成します。
図付きレポートとして出力できるため、報告書作成やメモ整理に利用しやすいです。

Screenshot 2026-05-21 142122.png

使用方法

アプリの使用方法について詳しく説明しています。

Screenshot 2026-05-21 142137.png


注意点

スペクトル解析や位相差の解釈では、以下に注意が必要です。

  • データ長が短いと長周期の解釈は不安定になります。
  • コヒーレンスが低い周期での位相差や時間差は信頼しすぎない方が安全です。
  • 時間差は周期ごとの目安であり、常に一定の固定遅れを意味するとは限りません。
  • 豪雨や洪水などの非定常イベントでは、全期間解析だけでなく移動窓解析やウェーブレット解析も併用する方がよいです。

まとめ

TimeSeriesSpectralGUI_r009 は、時系列データの周期性、2系列間の連動性、時間遅れをGUI上で確認するためのプロトタイプです。

水理・水文、防災、環境計測、センサーデータ解析などで、時系列の特徴を短時間で把握したい場合に使いやすい構成を目指しました。

今後は、実データへの適用例、多地点の時系列データへの拡張、解析条件テンプレート、AIによる解釈支援などを拡張していくと、より実務向けのツールとして発展できそうです。


関連リンク

周期性・スペクトル解析を理解する際に参考になるリンクです。

基礎・Pythonライブラリ

用語の理解

防災・水理水文分野での関連データ


以上です。

本アプリは、時系列データをただグラフで眺めるだけでなく、周期性、連動性、時間遅れを確認するための入口として利用できます。防災・水理水文分野では、観測データの理解、異常検知、AI予測モデルの前処理などに活用できる可能性があります。

1
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?