Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
予測モデルがポンコツになった日_PyLadiesTokyo10May2020-LT
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
kanan
May 10, 2020
Programming
470
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
予測モデルがポンコツになった日_PyLadiesTokyo10May2020-LT
kanan
May 10, 2020
More Decks by kanan
See All by kanan
Pythonデータ分析コトハジメinFukuoka
kanan
0
160
Pythonデータ分析コトハジメin静岡
kanan
0
140
Python超入門データ分析編-PyLadiesCaravan広島2nd-
kanan
0
150
PyLadiesCaravan_in_苫小牧
kanan
0
180
Python超入門_データ分析編in青森
kanan
0
230
Pythonデータ分析コトハジメin愛知3rd
kanan
1
190
PyLadiesCaravan in 大阪
kanan
0
330
PyLadiesCaravan in 名古屋Returns
kanan
0
220
PyLadiesCaravan in 愛媛(Python入門データ分析編)
kanan
0
380
Other Decks in Programming
See All in Programming
『寄り添うラジオ』をAIで作る 体験価値から逆算した、会話しないUXと品質設計
theoriatec2024
3
180
【高い買い物LT会】初任給で話題の国産フィジカルAIを買った話
akagami
PRO
0
170
Go × SIMDで高速化するベクトル検索 ~ルーフラインモデルでSIMDが効く境界を探れ! ~
po3rin
1
2.7k
iOS 27でニュースアプリはどう変わる!? 〜日経電子版の新機能対応と、開発事例から〜
lynnswap
1
9.9k
モジュールの視点からSwiftを読み解く #iosdc
s_shimotori
0
190
AI活用は、個人から組織へ|マルチプレイヤーエージェントハーネス「QM」の社内活用事例 / AI use is moving from individuals to orgs
rkaga
1
160
MVNOの申込からeSIM開通までをiOSアプリでつなぐ- 本人確認・MNP・通信事業者基盤をまたぐ実装
satotakeshi
0
460
AgentCore CLI で進化した AWS での AI エージェントの作り方 : 必要な機能を必要な時に
icoxfog417
PRO
3
370
The Past, Present, and Future of Enterprise Java
ivargrimstad
0
510
JPUG勉強会 OSSデータベースの内部構造を理解しよう(第2回)
oga5
0
270
難しいけど、読めた。- OSSの入口に立った話。
sts11142
0
120
モバイル交通系ICへのチャージ実例から考える、クロスプラットフォーム開発におけるiOS実機テスト設計とCI運用
yusuga
1
540
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
22k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Testing 201, or: Great Expectations
jmmastey
46
8.3k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
Visualization
eitanlees
152
17k
Scaling GitHub
holman
464
140k
So, you think you're a good person
axbom
PRO
2
2.2k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Ruling the World: When Life Gets Gamed
codingconduct
0
350
Joys of Absence: A Defence of Solitary Play
codingconduct
1
530
Marketing to machines
jonoalderson
1
5.8k
Transcript
予測モデルがポンコツになった日 PyLadies Tokyo MeetUp 10MAY2020 KANAN
Who am I ? • データ分析屋 研修講師 あたりやってます • PyLadies
Caravan STAFF • 意外だと思うけど、お酒が大好き • 趣味は宴、きゃんぷ、島旅 • 剣舞はじめて1年経ちました Name : KANAN(かなん) @Addition_quince https://www.facebook.com/kanae.ymst @_kanan_0518
はなすこと ✅ 1年前時系列分析の勉強で状態空間モデルやってみた ✅ 今、同じモデルで予測してみた
PyLadies Tokyo Advent Calendar 2019 当時、状態空間モデルの勉強をしてたので、 自分のビールの飲酒量を時系列データとして見てみた的なブログ。 自己相関や時系列の成分分解をやった ✅ 時系列データで自分の生活と向き合う(05DEC2019)
✅ https://asunasa.hatenablog.com/entry/2019/12/05/121918
時系列分析の大別 • 古典的手法(統計モデル以前):指数平滑か、Holt-Winters法 等 ◦ 時系列データの特徴の一部のみに焦点を当てた計算手法 ◦ 「過去と未来が似ている」「トレンドと周期性とホワイトノイズに分割できる」等
• 統計モデル:ARIMA, SARIMA, Box-Jenkins法, VAR, GARCH 等 ◦ 古典的手法を統計によって拡張、単純な構造で線形定常性データは精度が向上 ◦ 得られたデータの解釈や「予測の外れ具合」への言及など様々な活用が可能に • 状態空間モデル ◦ 古典的手法や統計手法のさらなる拡張 ◦ 目に見えない「状態」を用いることで、時系列データをより柔軟にモデル化が可能 • 曲線フィッティング:prophet, 機械学習手法 等 ◦ 膨大な計算量を短時間に行えることにより、古典的手法を拡張 ◦ 例えば曲線による表現により特徴量設計が自動推定可能になるなど • ニューラルネットワーク:LSTM 等 ◦ 長期的な依存関係を学習することができるようになる
使ったライブラリ StatsModelsは、 統計モデルの推定や統計的検定などを実施するライブラリ。 時系列系の手法もはいってる。
KANANの日々のビール飲酒量 期間は01FEB2019 - 30APR2019。 あくまでビールだけ。他のお酒は含まない。 多い日は3.0㍑飲む日も。
MEAN 1,149.438202 ㎖ STANDARD DEVIETION 818.448310 ㎖ KANANのビール飲酒量は 正規分布に従うとすると 1.1㍑を平均として±0.8㍑(0.3㍑〜1.9㍑)の間に
期間中60%が含まれるということになる。
実際は正規分布なわけない。 あ。でもわりといい感じ。
※飲酒は用法・用量を守って正しくお使いください。 ビール最高!
自己相関と 偏自己相関 ▪自己相関 statsmodels.tsa.stattools. acf ▪偏自己相関 statsmodels.tsa.stattools. pacf 若干7の周期性がありそう
時系列データの 成分分解 ▪成分分解 statsmodels.tsa.seasonal. seasonal_decompose • オリジナルデータ • トレンド成分 •
季節成分 • 残差 やはり7の周期性を検出 季節成分 < 残差 なのでやはり季節性は若干
ブログの内容はここまで。
状態空間モデルで予測してみた ▪状態空間モデル satsmodels.tsa.UnobservedComponents • 状態空間モデル ◦ 時系列データの中に隠れた因果関係を発見し、それをモデル化
状態空間モデルで予測してみた
状態空間モデル ローカルレベル ▪上のグラフ 黒い線⇨実測値 青い線⇨1観測点先の推定値 水色の帯⇨推定値の 95%信頼区間 ▪下のグラフ 青い線⇨推定した状態 (平滑化済)
水色の帯⇨推定値の 95%信頼区間
予測結果 完全新規の予測
予測結果
前の状態が更新されないから、動かない予測に ファッ!? (゜Д゜;) “ あかん”
ローカルレベルモデル
状態空間モデル ローカルレベル 季節性=7
予測結果 完全新規の予測
状態空間モデルは外生変数も扱える ✅ スケジュール表からその日がどんな日だったか抽出 ✅ 効きそうなものをフラグにしてみた
プラス(+)に働きそうな要素 ✅ TechEVENT と ぱーりー(大人数の飲み会)
マイナス(−)に働きそうな要素 ✅ 日本酒&WINE と 剣舞稽古 と 会社の勉強会(KanaLab.)
状態空間モデル ローカルレベル 季節性=7 多変量
None
予測結果 完全新規の予測 (説明変数だけ投入)
それっぽい動きをちゃんとしている ここで時系列ではなく線形回帰でいけそうなことに気づく “ 良い感じ”
時は流れ、2020年。 ✅ 当時作ったモデルのまま予測し続けてみた ✅ 1FEB2020 - 9MAY2020 あたりをみてみる
予測が・・・
理由を考えてみる 大人数の宴会自粛 TechイベントがONLINE移行 剣舞の稽古一時中止 会社の勉強会自粛 テレワーク開始(自宅飲酒開始) 日本酒・ワインの飲酒増加
ハイボールのコスパに気づく COVID-19影響で 失われたあたり前だった日常
まとめ • 状態空間モデルでのビール飲酒量予測 ◦ 状態空間モデルはやはり柔軟な推定ができそう ◦ 時系列特有の成分(季節性など)調整や外生変数投入で精度もあがる ◦
でもやはり短期的予測には良いが、長期的予測は難しい ◦ 実際は常々直近の過去データを入れながら状態推定するのが正解 • データ構造が変わるとモデルがぽんこつになる ◦ 時系列分析のみでなく、どんな手法のモデルも過去のデータに依存 ◦ 生活習慣が変わる=データ構造が変わる ◦ データ構造が変わるとモデルが正しく予測できなくなる(モデルの劣化) ◦ COVID-19で経済構造が変化 ⇨ モデルの再構築が必要かもしれない
※飲酒は用法・用量を守って正しくお使いください。 でもやっぱりビール最高!
Thank you