Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
1
九州大学大学院システム情報科学研究院
データサイエンス実践特別講座
データサイエンス概論第一
第5回 時系列データの解析
システム情報科学研究院情報知能工学部門
内田誠一
2
データサイエンス概論第一の内容
 データとは
 データのベクトル表現と集合
 平均と分散
 データ間の距離
 データ間の類似度
 データのクラスタリング
(グルーピング)
 線形代数に基づくデータ解析の基礎
 主成分分析と因...
3
フーリエ解析
ベクトルの分解と合成がわかっていれば,恐れるに足らず!
時系列データもベクトル.同様に分解合成できるんです.
44
【再掲】時々刻々と得られる系列データ
=時系列データ
 動画像
 行動,ジェスチャ,歩行,ゲーム操作
 音声信号.対話系列
 心拍数変化,呼気量変化
 環境中のNOx濃度変化,気温変化
 10年ごとに測定した世界人口
時間
姿...
5
周波数=繰り返し周期の逆数
周波数低い
周波数高い
6
驚きの事実:時系列データは,
周波数の異なるsin波・cos波の和に分解可能!
=
+
+
+
...
時間 t
t
t
t
どんなに
不規則そうな
時系列データでも
規則的な成分に
完全に分解できる!
7
思い出そう...
材料セット
𝒆1, … , 𝒆𝑖, … , 𝒆 𝑑
カレー𝒙
𝛼𝑖 = 𝒙 ∙ 𝒆𝑖 ⋮
→ 𝛼1 グラム
→ 𝛼𝑖 グラム
⋮
→ 𝛼 𝑑 グラム
レシピ(分析結果)
𝛼𝑖 𝒆𝑖
あの味を完璧に再現できた!
8
全く同じ話です
材料セット
𝒆1, … , 𝒆𝑖, … , 𝒆 𝑑
時系列カレー𝒙
𝛼𝑖 = 𝒙 ∙ 𝒆𝑖 ⋮
→ 𝛼1 グラム
→ 𝛼𝑖 グラム
⋮
→ 𝛼 𝑑 グラム
レシピ(分析結果)
𝛼𝑖 𝒆𝑖
あの時系列カレーを完璧に
再現できた...
9
要するにこれがレシピです
9
低周波数 高周波数
10
レシピをいじって「味」の調節:
グラフィックイコライザー
10
Modified from Rodrigo César@ Wikimedia “Stereo graphic equalizer”
⋮
→ 𝛼1 グラム
→ 𝛼𝑖 グラム
⋮...
11
特定周波数成分の抽出
=ベクトルの分解と同じく「内積」
同じ時刻同士で
掛け合わせたものを
足し合わせる!
𝑥 𝑡 cos 𝜔𝑡 𝑑𝑡
cos 𝜔𝑡
𝑥 𝑡
𝑡
時刻𝑡を変えながら全部足す
12
参考:フーリエ変換
𝑥 𝑡 と cos 𝜔𝑡 の内積 𝑥 𝑡 と sin 𝜔𝑡 の内積
𝑋 𝜔 = 𝑥 𝑡 cos 𝜔𝑡 − 𝑗 sin 𝜔𝑡 𝑑𝑡
= 𝑥 𝑡 cos 𝜔𝑡 𝑑𝑡 − 𝑗 𝑥 𝑡 sin 𝜔𝑡 𝑑𝑡
𝑑𝑡 ↔ 時刻𝑡を変...
13
参考:フーリエ逆変換
分量(レシピ) 各材料
𝑥 𝑡 = 𝑋 𝜔 cos 𝜔𝑡 + 𝑗 sin 𝜔𝑡 𝑑𝜔
𝑑𝜔 ↔ 材料𝜔を変えながら全部足す
1414
参考:フーリエ基底
cos/sin関数に分解して戻る
=cos/sin関数は「完備正規直交基底」
フーリエ基底とも呼ばれます
他にもいろいろな完備正規直交基底が存在
以前見た以下のものは2次元離散cos関数
http://ww...
15
時系列データ間の距離
時系列データもベクトル.だから距離が測れる.
ただし長さが違う2データの距離を測るには,ちょっと一工夫必要
16
時系列データ間の距離を測る(1/3)
時間
時系列データ𝑌
時系列データ𝑋
ユークリッド距離などで差異・類似度を定量化可能
17
時系列データ間の距離を測る(2/3)
非線形伸縮
時間
データ長の違い
× × × ×
時系列データ𝑌
時系列データ𝑋
通常の距離尺度は利用できない!
18
時系列データ間の距離を測る(3/3)
適切な時刻対応が得られれば
長さが異なっても距離が測れる!
時間
時系列データ𝑌
時系列データ𝑋
1919
【再掲】距離がわかると何に使えるか?
実は超便利! (1/2)
データ間の比較が定量的にできる
「𝒙と𝒚は全然違う/結構似ている」 「𝒙と𝒚は28ぐらい違う」
「𝒙にとっては,𝒚よりも𝒛のほうが似ている」
データ集合のグルーピ...
2020
【再掲】距離がわかると何に使えるか?
実は超便利! (2/2)
データの「認識」ができる
登録されている画像データ中で, 画像𝒙に最も似ているものは「リン
ゴ」だった
→ 「画像 𝒙 はリンゴ」と判断
近似精度が測れる
データ...
21
Ex. 時系列データのクラスタリング
すべての2系列間
の類似度を求める
いくつのクラスタが形成
されるかも重要な知見
22
適切な時刻対応はどうやったら見つかるか?
適切な時刻対応が得られれば
長さが異なっても距離が測れる!
時間
時系列データ𝑌
時系列データ𝑋
23
適切な時刻対応はどうやったら見つかるか?
以下のような格子面を考えてみる
Y
時間
時間
X
24
Y
時間
時間
X
適切な時刻対応はどうやったら見つかるか?
時刻対応が「経路」としてあらわされる
𝑋と𝑌の間の時刻対応
X
Y
25
Y
時間
時間
X
適切な時刻対応はどうやったら見つかるか?
時刻対応が「経路」としてあらわされる
別の時刻対応
X
Y
別の経路
26
適切な時刻対応はどうやったら見つかるか?
「適切な時刻対応」=「低コストな経路」
X
Y
27
Y
時間
X
適切な時刻対応はどうやったら見つかるか?
「適切な時刻対応」=「低コストな経路」
経路上のコストの総和
=時系列𝑋, 𝑌間の距離
これを最小にする経路
=ベスト!
28
時間
すべての経路を総当たり?
ナンセンス!
𝑋の長さ=𝑌の長さ = 10でも,1010
通りの経路
(実際にはもっと少ないが,それでも相当の選択肢)
29
最適経路は簡単に求まる:
動的計画法
29
5 5 5 1 5
2 2 0 5 0
0 0 2 5 2
2 2 0 5 0
0
End
Start
5
i
j
30
5 5 1 5
2 0 5 0
0 2 5 2
2 0 5 0
0
最適経路は簡単に求まる:
動的計画法
30
5+∞
2+∞
0+0
2+∞
i
j
31
0
最適経路は簡単に求まる:
動的計画法
31
5 5 1 5
2 0 5 0
0 2 5 2
2 0 5 0∞
∞
∞
0
i
j
32
0
最適経路は簡単に求まる:
動的計画法
32
5+0 5 1 5
2+0 0 5 0
0+0 2 5 2
2+∞ 0 5 0∞
∞
∞
0
i
j
33
0
最適経路は簡単に求まる:
動的計画法
33
5 5 1 5
2 0 5 0
0 2 5 2
∞ 0 5 0∞
∞
∞
0
i
j
34
0
最適経路は簡単に求まる:
動的計画法
34
5 5+0 1 5
2 0+0 5 0
0 2+0 5 2
∞ 0+2 5 0∞
∞
∞
0
i
j
35
0
最適経路は簡単に求まる:
動的計画法
35
5 5 1 5
2 0 5 0
0 2 5 2
∞ 2 5 0∞
∞
∞
0
i
j
36
0
最適経路は簡単に求まる:
動的計画法
36
5 5 1+0 5
2 0 5+0 0
0 2 5+2 2
∞ 2 5+0 0∞
∞
∞
0
i
j
37
0
最適経路は簡単に求まる:
動的計画法
37
5 5 1 5
2 0 5 0
0 2 7 2
∞ 2 5 0∞
∞
∞
0
i
j
38
0
最適経路は簡単に求まる:
動的計画法
38
5 5 1 5+1
2 0 5 0+5
0 2 7 2+7
∞ 2 5 0+1∞
∞
∞
0
i
j
39
0
最適経路は簡単に求まる:
動的計画法
39
5 5 1 6
2 0 5 5
0 2 7 9
∞ 2 5 1∞
∞
∞
0
i
j
40
0
最適経路は簡単に求まる:
動的計画法
40
5 5 1 6
2 0 5 5
0 2 7 9
∞ 2 5 1∞
∞
∞
0
i
j
1
最小
コスト
41
6
5
9
5
7
5
5
2
2
0
最適経路は簡単に求まる:
動的計画法
41
1
0
0
5
2
∞ 1∞
∞
∞
0
i
j
1
最小コスト
=𝑋, 𝑌間の
距離
最適経路
42
適切な時刻対応が求まった
=時間変動が求まった
時間
時系列データ𝑌
時系列データ𝑋
𝑌に比べて速度半分
4343
2点の補足
以上の方法は,分野によって色々な呼ばれ方をします
Dynamic time warping (DTW)
編集距離 (edit distance)
非線形マッチング (nonlinear matching)
弾性マ...
Upcoming SlideShare
Loading in …5
×

データサイエンス概論第一 5 時系列データの解析

3,052 views

Published on

九州大学大学院システム情報科学研究院「データサイエンス実践特別講座」が贈る,数理・情報系『でない』学生さんのための「データサイエンス講義

Published in: Data & Analytics
  • Be the first to comment

データサイエンス概論第一 5 時系列データの解析

  1. 1. 1 九州大学大学院システム情報科学研究院 データサイエンス実践特別講座 データサイエンス概論第一 第5回 時系列データの解析 システム情報科学研究院情報知能工学部門 内田誠一
  2. 2. 2 データサイエンス概論第一の内容  データとは  データのベクトル表現と集合  平均と分散  データ間の距離  データ間の類似度  データのクラスタリング (グルーピング)  線形代数に基づくデータ解析の基礎  主成分分析と因子分析  回帰分析  相関・頻度・ヒストグラム  確率と確率分布  信頼区間と統計的検定  時系列データの解析  異常検出
  3. 3. 3 フーリエ解析 ベクトルの分解と合成がわかっていれば,恐れるに足らず! 時系列データもベクトル.同様に分解合成できるんです.
  4. 4. 44 【再掲】時々刻々と得られる系列データ =時系列データ  動画像  行動,ジェスチャ,歩行,ゲーム操作  音声信号.対話系列  心拍数変化,呼気量変化  環境中のNOx濃度変化,気温変化  10年ごとに測定した世界人口 時間 姿勢(左手高さ)
  5. 5. 5 周波数=繰り返し周期の逆数 周波数低い 周波数高い
  6. 6. 6 驚きの事実:時系列データは, 周波数の異なるsin波・cos波の和に分解可能! = + + + ... 時間 t t t t どんなに 不規則そうな 時系列データでも 規則的な成分に 完全に分解できる!
  7. 7. 7 思い出そう... 材料セット 𝒆1, … , 𝒆𝑖, … , 𝒆 𝑑 カレー𝒙 𝛼𝑖 = 𝒙 ∙ 𝒆𝑖 ⋮ → 𝛼1 グラム → 𝛼𝑖 グラム ⋮ → 𝛼 𝑑 グラム レシピ(分析結果) 𝛼𝑖 𝒆𝑖 あの味を完璧に再現できた!
  8. 8. 8 全く同じ話です 材料セット 𝒆1, … , 𝒆𝑖, … , 𝒆 𝑑 時系列カレー𝒙 𝛼𝑖 = 𝒙 ∙ 𝒆𝑖 ⋮ → 𝛼1 グラム → 𝛼𝑖 グラム ⋮ → 𝛼 𝑑 グラム レシピ(分析結果) 𝛼𝑖 𝒆𝑖 あの時系列カレーを完璧に 再現できた! 時間 t
  9. 9. 9 要するにこれがレシピです 9 低周波数 高周波数
  10. 10. 10 レシピをいじって「味」の調節: グラフィックイコライザー 10 Modified from Rodrigo César@ Wikimedia “Stereo graphic equalizer” ⋮ → 𝛼1 グラム → 𝛼𝑖 グラム ⋮ → 𝛼 𝑑 グラム レシピ(分析結果) ちょっと増やす ちょっと減らす かなり減らす
  11. 11. 11 特定周波数成分の抽出 =ベクトルの分解と同じく「内積」 同じ時刻同士で 掛け合わせたものを 足し合わせる! 𝑥 𝑡 cos 𝜔𝑡 𝑑𝑡 cos 𝜔𝑡 𝑥 𝑡 𝑡 時刻𝑡を変えながら全部足す
  12. 12. 12 参考:フーリエ変換 𝑥 𝑡 と cos 𝜔𝑡 の内積 𝑥 𝑡 と sin 𝜔𝑡 の内積 𝑋 𝜔 = 𝑥 𝑡 cos 𝜔𝑡 − 𝑗 sin 𝜔𝑡 𝑑𝑡 = 𝑥 𝑡 cos 𝜔𝑡 𝑑𝑡 − 𝑗 𝑥 𝑡 sin 𝜔𝑡 𝑑𝑡 𝑑𝑡 ↔ 時刻𝑡を変えながら全部足す
  13. 13. 13 参考:フーリエ逆変換 分量(レシピ) 各材料 𝑥 𝑡 = 𝑋 𝜔 cos 𝜔𝑡 + 𝑗 sin 𝜔𝑡 𝑑𝜔 𝑑𝜔 ↔ 材料𝜔を変えながら全部足す
  14. 14. 1414 参考:フーリエ基底 cos/sin関数に分解して戻る =cos/sin関数は「完備正規直交基底」 フーリエ基底とも呼ばれます 他にもいろいろな完備正規直交基底が存在 以前見た以下のものは2次元離散cos関数 http://www.matsusaka-u.ac.jp/~okumura/compression/dct.html
  15. 15. 15 時系列データ間の距離 時系列データもベクトル.だから距離が測れる. ただし長さが違う2データの距離を測るには,ちょっと一工夫必要
  16. 16. 16 時系列データ間の距離を測る(1/3) 時間 時系列データ𝑌 時系列データ𝑋 ユークリッド距離などで差異・類似度を定量化可能
  17. 17. 17 時系列データ間の距離を測る(2/3) 非線形伸縮 時間 データ長の違い × × × × 時系列データ𝑌 時系列データ𝑋 通常の距離尺度は利用できない!
  18. 18. 18 時系列データ間の距離を測る(3/3) 適切な時刻対応が得られれば 長さが異なっても距離が測れる! 時間 時系列データ𝑌 時系列データ𝑋
  19. 19. 1919 【再掲】距離がわかると何に使えるか? 実は超便利! (1/2) データ間の比較が定量的にできる 「𝒙と𝒚は全然違う/結構似ている」 「𝒙と𝒚は28ぐらい違う」 「𝒙にとっては,𝒚よりも𝒛のほうが似ている」 データ集合のグルーピングができる 似たものとどおしでグループを作る データの異常度が測れる 他に似たデータがたくさんあれば正常, 一つもなければ異常 [Goldstein, Uchida, PLoSONE, 2016]
  20. 20. 2020 【再掲】距離がわかると何に使えるか? 実は超便利! (2/2) データの「認識」ができる 登録されている画像データ中で, 画像𝒙に最も似ているものは「リン ゴ」だった → 「画像 𝒙 はリンゴ」と判断 近似精度が測れる データ 𝒙を 𝒚で近似(代用)した時の誤差 → 𝒙 と 𝒚の距離に等し い ... and more!
  21. 21. 21 Ex. 時系列データのクラスタリング すべての2系列間 の類似度を求める いくつのクラスタが形成 されるかも重要な知見
  22. 22. 22 適切な時刻対応はどうやったら見つかるか? 適切な時刻対応が得られれば 長さが異なっても距離が測れる! 時間 時系列データ𝑌 時系列データ𝑋
  23. 23. 23 適切な時刻対応はどうやったら見つかるか? 以下のような格子面を考えてみる Y 時間 時間 X
  24. 24. 24 Y 時間 時間 X 適切な時刻対応はどうやったら見つかるか? 時刻対応が「経路」としてあらわされる 𝑋と𝑌の間の時刻対応 X Y
  25. 25. 25 Y 時間 時間 X 適切な時刻対応はどうやったら見つかるか? 時刻対応が「経路」としてあらわされる 別の時刻対応 X Y 別の経路
  26. 26. 26 適切な時刻対応はどうやったら見つかるか? 「適切な時刻対応」=「低コストな経路」 X Y
  27. 27. 27 Y 時間 X 適切な時刻対応はどうやったら見つかるか? 「適切な時刻対応」=「低コストな経路」 経路上のコストの総和 =時系列𝑋, 𝑌間の距離 これを最小にする経路 =ベスト!
  28. 28. 28 時間 すべての経路を総当たり? ナンセンス! 𝑋の長さ=𝑌の長さ = 10でも,1010 通りの経路 (実際にはもっと少ないが,それでも相当の選択肢)
  29. 29. 29 最適経路は簡単に求まる: 動的計画法 29 5 5 5 1 5 2 2 0 5 0 0 0 2 5 2 2 2 0 5 0 0 End Start 5 i j
  30. 30. 30 5 5 1 5 2 0 5 0 0 2 5 2 2 0 5 0 0 最適経路は簡単に求まる: 動的計画法 30 5+∞ 2+∞ 0+0 2+∞ i j
  31. 31. 31 0 最適経路は簡単に求まる: 動的計画法 31 5 5 1 5 2 0 5 0 0 2 5 2 2 0 5 0∞ ∞ ∞ 0 i j
  32. 32. 32 0 最適経路は簡単に求まる: 動的計画法 32 5+0 5 1 5 2+0 0 5 0 0+0 2 5 2 2+∞ 0 5 0∞ ∞ ∞ 0 i j
  33. 33. 33 0 最適経路は簡単に求まる: 動的計画法 33 5 5 1 5 2 0 5 0 0 2 5 2 ∞ 0 5 0∞ ∞ ∞ 0 i j
  34. 34. 34 0 最適経路は簡単に求まる: 動的計画法 34 5 5+0 1 5 2 0+0 5 0 0 2+0 5 2 ∞ 0+2 5 0∞ ∞ ∞ 0 i j
  35. 35. 35 0 最適経路は簡単に求まる: 動的計画法 35 5 5 1 5 2 0 5 0 0 2 5 2 ∞ 2 5 0∞ ∞ ∞ 0 i j
  36. 36. 36 0 最適経路は簡単に求まる: 動的計画法 36 5 5 1+0 5 2 0 5+0 0 0 2 5+2 2 ∞ 2 5+0 0∞ ∞ ∞ 0 i j
  37. 37. 37 0 最適経路は簡単に求まる: 動的計画法 37 5 5 1 5 2 0 5 0 0 2 7 2 ∞ 2 5 0∞ ∞ ∞ 0 i j
  38. 38. 38 0 最適経路は簡単に求まる: 動的計画法 38 5 5 1 5+1 2 0 5 0+5 0 2 7 2+7 ∞ 2 5 0+1∞ ∞ ∞ 0 i j
  39. 39. 39 0 最適経路は簡単に求まる: 動的計画法 39 5 5 1 6 2 0 5 5 0 2 7 9 ∞ 2 5 1∞ ∞ ∞ 0 i j
  40. 40. 40 0 最適経路は簡単に求まる: 動的計画法 40 5 5 1 6 2 0 5 5 0 2 7 9 ∞ 2 5 1∞ ∞ ∞ 0 i j 1 最小 コスト
  41. 41. 41 6 5 9 5 7 5 5 2 2 0 最適経路は簡単に求まる: 動的計画法 41 1 0 0 5 2 ∞ 1∞ ∞ ∞ 0 i j 1 最小コスト =𝑋, 𝑌間の 距離 最適経路
  42. 42. 42 適切な時刻対応が求まった =時間変動が求まった 時間 時系列データ𝑌 時系列データ𝑋 𝑌に比べて速度半分
  43. 43. 4343 2点の補足 以上の方法は,分野によって色々な呼ばれ方をします Dynamic time warping (DTW) 編集距離 (edit distance) 非線形マッチング (nonlinear matching) 弾性マッチング (elastic matching) アライメント (alignment) DPマッチング(Dynamic programming matching) 「時系列」ではない一般的な「系列データ」にも使えます 文字列や記号列にも DNAの塩基配列にも

×