๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๐ŸŽธ ๊ธฐํƒ€/๐ŸŽƒ ์˜์–ด

[Blog] DeepAR: Mastering Time-Series Forecasting with Deep Learning

by isdawell 2023. 2. 7.
728x90

https://medium.com/towards-data-science/deepar-mastering-time-series-forecasting-with-deep-learning-bc717771ce85

 

DeepAR: Mastering Time-Series Forecasting with Deep Learning

Amazonโ€™s autoregressive deep network

towardsdatascience.com

 

 

 

 

๐Ÿ‘€ Summary 


 

โ–ธ DeepAR : Amazon's autoregressive deep network (work on multiple time series

    โ€ข first successful model to combine Deep learning with traditional Probabilistic Forecasting 

 

 

https://arxiv.org/pdf/1704.04110.pdf

 

 

 

 

๐Ÿ”น ๋‹ค๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด

 

โ€ข  ๊ฐ ์‹œ๊ฐ„ ๋‹จ์œ„๋งˆ๋‹ค ์—ฌ๋Ÿฌ ๊ฐœ์˜ ๊ฐ’์„ ๊ฐ€์ง€๋Š” ๋ฐ์ดํ„ฐ. ํ•˜๋‚˜์˜ ๋ณ€์ˆ˜๊ฐ€ ์•„๋‹Œ 2๊ฐœ ์ด์ƒ์˜ ๋ณ€์ˆ˜์˜ ์‹œ๊ณ„์—ด์„ ์ด์šฉํ•ด ๊ฐ ๋ณ€์ˆ˜๊ฐ„ ์‹œ๊ณ„์—ด์— ๋”ฐ๋ผ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ์ •๋„๋ฅผ ํŒŒ์•…. 

โ€ข  ๋‹จ๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด๊ณผ ๋‹ค๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด์˜ ์ฐจ์ด๋Š”, ์˜ˆ์ธก์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ์‹œ๊ณ„์—ด ๋ณ€์ˆ˜๋ฅผ X๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, X ๋ณ€์ˆ˜์˜ ์‹œ๊ณ„์—ด ์ˆ˜์— ์žˆ๋‹ค. X์˜ ์‹œ๊ณ„์—ด์ด 1๊ฐœ์ด๋ฉด ๋‹จ๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด์ด๊ณ  2๊ฐœ ์ด์ƒ์ด๋ฉด ๋‹ค๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด์ด๋‹ค. ์˜ˆ์ธกํ•˜๊ณ ์ž ํ•˜๋Š” ๋ณ€์ˆ˜์™€ ์ƒ๊ด€์—†์ด X์˜ ๊ฐœ์ˆ˜๊ฐ€ ์ค‘์š”ํ•˜๋‹ค. ๋‹จ์ผ ์‹œ๊ณ„์—ด์˜ ๊ณผ๊ฑฐ๊ฐ’ (X_t-1) ์„ ์ด์šฉํ•ด ๊ทธ ์‹œ๊ณ„์—ด์˜ ๋ฏธ๋ž˜๊ฐ’ (X_t) ๋ฅผ ์˜ˆ์ธกํ•˜๋Š” ๋ถ„์„์„ ๋‹จ๋ณ€๋Ÿ‰ ์‹œ๊ณ„์—ด ๋ถ„์„์ด๋ผ ํ•œ๋‹ค. ์˜ˆ์ธกํ•˜๊ณ ์ž ํ•˜๋Š” ๋ณ€์ˆ˜๋Š” ๋ฌด์กฐ๊ฑด 1๊ฐœ์ด๋‹ค. 

 

https://m.blog.naver.com/2sat/221168219214

 

[์‹œ๊ณ„์—ด ๋ถ„์„์˜ ๊ธฐ์ดˆ] ์‹œ๊ณ„์—ด ๋ชจํ˜•์˜ ์ข…๋ฅ˜-2

[์‹œ๊ณ„์—ด ๋ถ„์„์˜ ๊ธฐ์ดˆ] ์‹œ๊ณ„์—ด ๋ชจํ˜•์˜ ์ข…๋ฅ˜-2  (1) ํˆฌ์ž…๋œ ๋ณ€์ˆ˜์˜ ๊ฐœ์ˆ˜์— ๋”ฐ๋ผ     &nb...

blog.naver.com

 

 

โ€ข  Multiple time series VS Multivariate time series 

 

โ†ช ์˜ˆ์‹œ๋กœ ์‰ฝ๊ฒŒ ์„ค๋ช…ํ•˜์ž๋ฉด, ๋งŒ์•ฝ ์—ฌ๋Ÿฌ ์ง‘๋‹จ์˜ ํ™˜์ž๋“ค์˜ ์ฒด์ค‘์„ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด, ๊ฐ ํ™˜์ž๋งˆ๋‹ค ๋งค์ผ ์ฒด์ค‘ ๊ฐ’์„ ์ธก์ •ํ•˜๊ฒŒ ๋˜๋ฉด์„œ ๊ฐ ํ™˜์ž๋ณ„๋กœ ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๊ฐ€ ์–ป์–ด์ง€๊ฒŒ ๋  ๊ฒƒ์ธ๋ฐ, ์ด๊ฒƒ์ด ๋ฐ”๋กœ Multiple time series ์ด๋‹ค. ๋ฐ˜๋ฉด, ํŠน์ • ํ™˜์ž ํ•œ๋ช…์˜ ๊ฑด๊ฐ•์ƒํƒœ๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋ง ํ•˜๋Š” ์ƒํ™ฉ์ด๋ผ๋ฉด, ํ™˜์ž์˜ ๋งค์ผ ์ฒด์ค‘, ์ฒด์˜จ, ํ˜ˆ์••, ์ฝœ๋ ˆ์Šคํ…Œ๋กค ์ˆ˜์น˜ ๋“ฑ์„ ์ธก์ •ํ•˜๊ณ  ๊ณ ๋ คํ•ด์•ผ ํ•˜๋Š”๋ฐ ์ด๊ฒƒ์ด ๋ฐ”๋กœ Multivariate time series ์ด๋‹ค. 

 

 

 

 

๐Ÿ”น DeepAR

 

โžฐ DeepAR ์˜ ํŠน์ง• 

 

โ€ข  Multiple time series ๋ฅผ ์ง€์›ํ•˜๋Š” ๋ชจ๋ธ๋กœ, global ํ•œ ํŠน์„ฑ์„ ํ•™์Šตํ•ด ์˜ˆ์ธก ์„ฑ๋Šฅ์„ ๋†’์ธ๋‹ค. 

โ€ข  Extra covariates (features) ๋ฅผ ์ง€์›ํ•œ๋‹ค. ๊ฐ€๋ น ๊ธฐ์˜จ์„ ์˜ˆ์ธกํ•œ๋‹ค๊ณ  ํ–ˆ์„ ๋•Œ, ์Šต๋„, ๊ธฐ์•• ๋“ฑ์˜ ๋ณ€์ˆ˜๋ฅผ ์ถ”๊ฐ€ํ•ด์„œ ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 

โ€ข  ๋‹จ์ผํ•œ ์˜ˆ์ธก๊ฐ’์„ ๊ฒฐ๊ณผ๋กœ ๋‚ด๋ฑ‰์ง€ ์•Š๊ณ , Probabilistic output ์„ ๊ฒฐ๊ณผ๋กœ ๊ฐ€์ ธ์˜จ๋‹ค. 

โ€ข  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์‹œ๊ณ„์—ด์„ ๊ฐ€์ง€๊ณ  ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๊ฐ ์‹œ๊ณ„์—ด ๊ฐ„์˜ ์œ ์‚ฌ์„ฑ์„ ๊ณต์œ ํ•˜์—ฌ, ์ด์ „์— ํ•™์Šต๋˜์ง€ ์•Š์€ ๋ฐ์ดํ„ฐ๋„ ์˜ˆ์ธก์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. 

 

 

โžฐ LSTM in Deep AR

 

โ€ข  DeepAR ์€ Probabilistic ํ•œ ๊ฒฐ๊ณผ๋ฅผ ๋‚ด๋ฑ‰๊ธฐ ์œ„ํ•ด LSTM ๋„คํŠธ์›Œํฌ ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•œ๋‹ค. LSTM ๋ฅผ ์ง์ ‘์ ์œผ๋กœ ์‚ฌ์šฉํ•˜๊ธฐ ๋ณด๋‹จ, ๊ฐ€์šฐ์‹œ์•ˆ ๊ฐ€๋Šฅ๋„ ํ•จ์ˆ˜๋ฅผ ๋งค๊ฐœ๋ณ€์ˆ˜ํ™” (parameterize) ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. ์ฆ‰, ๊ฐ€์šฐ์‹œ์•ˆ ํ•จ์ˆ˜์˜  ฮธ = (ฮผ, ฯƒ) ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์ถ”์ •ํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•œ๋‹ค. 

 

โ€ข  ์ž์—ฐ์–ด์ฒ˜๋ฆฌ ๋ถ„์•ผ์—์„œ Transformer ๊ตฌ์กฐ๊ฐ€ ์ง€๋ฐฐ์ ์ด๋‚˜ ์‹œ๊ณ„์—ด ๋ถ„์•ผ, local temporal data (์‹œ๊ฐ„ ๋ฐ์ดํ„ฐ) ๋ฅผ ๋‹ค๋ฃฐ ๋•, LSTM ์˜ ์„ฑ๋Šฅ์ด ํ›จ์”ฌ ๋” ๋›ฐ์–ด๋‚˜๋‹ค. 

 

LSTM in encoder-decoder topology

 

 

โžฐ  DeepAR ์˜ ๊ตฌ์กฐ in traning 

 

 

โ†ช ์‹œ๊ณ„์—ด i ์— ๋Œ€ํ•ด ํŠน์ • time step t ์— ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด๋ณด์ž. 

 

(1) LSTM cell ์€ feature ๋ณ€์ˆ˜ x(i,t) ์™€ ๋ชฉ์  ๋ณ€์ˆ˜ z(i, t-1) ์„ ์ž…๋ ฅ์œผ๋กœ ๋ฐ›๋Š”๋‹ค. ๋˜ํ•œ hidden state ์ธ h(i, t-1) ์„ ์ด์ „ time step ๊ฒฐ๊ณผ๋กœ๋ถ€ํ„ฐ ์ „๋‹ฌ ๋ฐ›๋Š”๋‹ค. 

(2) LSTM cell ์€ h(i,t) ๋ฅผ ๊ฒฐ๊ณผ๋กœ ๋‚ด๋ฑ‰๊ณ  ๋‹ค์Œ time step ์— ์ด ๊ฐ’์„ ์ „๋‹ฌํ•œ๋‹ค. 

(3) h(i,t) ๋ฅผ ๊ณ„์‚ฐํ•  ๋•Œ, ฮผ, ฯƒ ๋„ ๊ณ„์‚ฐ๋˜๋Š”๋ฐ, ์ด๋Š” ๊ฐ€์šฐ์‹œ์•ˆ ๊ฐ€๋Šฅ๋„ ํ•จ์ˆ˜ p(y_i|ฮธ_i)= l(z_i,t|ฮ˜ฮน,t) ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์ด ๋œ๋‹ค. ๋ชจ๋ธ์€ ๋ชฉ์  ๋ณ€์ˆ˜ z(i,t) ๊ฐ€ ์‹ค์ œ ์ •๋‹ต๊ฐ’๊ณผ ๊ฐ€๊นŒ์šธ ์ˆ˜ ์žˆ๋„๋ก ํ•˜๋Š” ๋ชจ์ˆ˜๋ฅผ ์ฐพ๊ธฐ ์œ„ํ•ด ํ•™์Šต์„ ์ง„ํ–‰ํ•œ๋‹ค. 

 

โ†ช DeepAR ์€ ๊ฐ time ๋งˆ๋‹ค ๋‹จ์ผํ•œ data point ์„ ๋Œ€์ƒ์œผ๋กœ ํ•™์Šต์„ ์ง„ํ–‰ํ•˜๊ธฐ ๋•Œ๋ฌธ์— autoregressive (AR, ์ž๊ธฐํšŒ๊ท€๋ชจ๋ธ : ๋ณ€์ˆ˜์˜ ๊ณผ๊ฑฐ ๊ฐ’์˜ ์„ ํ˜• ์กฐํ•ฉ์„ ์ด์šฉํ•ด ๊ด€์‹ฌ์žˆ๋Š” ๋ณ€์ˆ˜๋ฅผ ์˜ˆ์ธก) ๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค. 

 

 

 

โžฐ  DeepAR ์˜ ๊ตฌ์กฐ in inference 

 

 

โ†ช inference ๋‹จ๊ณ„์—์„œ๋Š” ์ด์ „ ๋‹จ๊ณ„์˜ predicted output (training ์„ ํ†ตํ•ด ํ•™์Šต๋œ ๋ชจ๋ธ๋กœ๋ถ€ํ„ฐ ์–ป์–ด์ง„ sample) ์„ ๋‹ค์Œ ๋‹จ๊ณ„์˜ input ์œผ๋กœ ํ™œ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•œ๋‹ค. 

 

 

 

 

โžฐ Gaussian Likelihood 

 

โ€ข  MLE ๋ชฉํ‘œ : sample data ๋ฅผ ๋” ์ž˜ ์„ค๋ช…ํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ํ™•๋ฅ ๋ถ„ํฌ์˜ ์ตœ์ ์˜ ํŒŒ๋ผ๋ฏธํ„ฐ ๊ฐ’์„ ์ฐพ๋Š” ๋ฐฉ๋ฒ• 

โ€ข  ๊ฐ€์šฐ์‹œ์•ˆ (์ •๊ทœ) ๋ถ„ํฌ ๋Š”  ฮผ ์™€ ฯƒ ๋ฅผ ๋ชจ์ˆ˜๋กœ ๊ฐ–๋Š” ๋ถ„ํฌ์ด๋‹ค. 

 

(Blog image)

 

โ€ข  ๋ชจ์ˆ˜ ์ถ”์ • ๋‹จ๊ณ„๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. LSTM cell ์ด hidden state h(t) ๋ฅผ ๊ณ„์‚ฐํ•œ ํ›„, ฮผ ๋ฅผ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด dense layer W_ฮผ ๋ฅผ ํ†ต๊ณผํ•œ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ  ฯƒ์— ๋Œ€ํ•ด์„œ๋„ dense layer W_ ฯƒ ๋ฅผ ํ†ต๊ณผํ•œ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์–ป์€ ๋ชจ์ˆ˜ ๊ฐ’์œผ๋กœ ๊ฐ€์šฐ์‹œ์•ˆ ๋ถ„ํฌ๋ฅผ ์ƒ์„ฑํ•˜์—ฌ sample ์„ ๋งŒ๋“ ๋‹ค. ์ด sample ๊ฐ’์ด ์‹ค์ œ ์ •๋‹ต ๊ด€์ธก๊ฐ’ z(i,t) ์™€ ์–ผ๋งˆ๋‹ค ์œ ์‚ฌํ•œ์ง€ ๊ณ„์‚ฐํ•˜๋ฉด์„œ training ์ด ์ด์–ด์ง„๋‹ค. LSTM cell ์˜ ๊ฐ€์ค‘์น˜์™€ 2๊ฐœ์˜ dense layer W_ฮผ , W_ ฯƒ ๋Š” ์—ญ์ „ํŒŒ๋ฅผ ํ†ตํ•ด ๊ฐ’์ด ์—…๋ฐ์ดํŠธ ๋œ๋‹ค. inference ๋‹จ๊ณ„์—์„œ๋Š” z(i,t) ๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š์Œ์— ์ฃผ์˜ํ•˜์ž. 

 

 

 

โžฐ Auto Scaling 

 

โ€ข  ์—ฌ๋Ÿฌ ๊ฐœ์˜ ์ด์งˆ์ ์ธ time series ๋ฅผ ๋‹ค๋ฃจ๋Š” ๊ฒƒ์€ ๊นŒ๋‹ค๋กญ๋‹ค. ๊ฐ€๋ น ์ƒํ’ˆ ๋งค์ถœ ๋ฐ์ดํ„ฐ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด, ํŠน์ • ์ƒํ’ˆ์˜ ๋งค์ถœ ๋‹จ์œ„๋Š” ์ฒœ์›๋Œ€ ์ผ ์ˆ˜ ์žˆ๊ณ , ๋‹ค๋ฅธ ์ƒํ’ˆ์˜ ๋งค์ถœ ๋‹จ์œ„๋Š” ๋ช‡์‹ญ์–ต ๋‹จ์œ„์ผ ์ˆ˜๋„ ์žˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋‹จ์œ„์˜ ์ฐจ์ด๋Š” ๋ชจ๋ธ์ด ํ•™์Šตํ•  ๋•Œ ๋ฐฉํ•ด๊ฐ€ ๋  ์ˆ˜ ์žˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด DeepAR ์€ auto-scaling ๋ฉ”์ปค๋‹ˆ์ฆ˜์„ ๋„์ž…ํ•œ๋‹ค. ๊ฐ time step t ๋งˆ๋‹ค ๊ฒฐ๊ณผ๋กœ ๋„์ถœ๋˜๋Š” z(i,t) ๋ฅผ v(i) ๋กœ rescaling ํ•ด์ค€๋‹ค. 

 

auto scaling output Vi

 

โ€ข  DeepAR ์€ auto-scaling ์œผ๋กœ ์ž๋™์ ์œผ๋กœ ์ •๊ทœํ™”๋ฅผ ํ•ด์ฃผ์ง€๋งŒ, ์ž…๋ ฅ์œผ๋กœ ๋„ฃ๊ธฐ ์ „์— ๋จผ์ € ์ง์ ‘ ์ •๊ทœํ™”๋ฅผ ํ•ด์ฃผ๋ฉด ๋ชจ๋ธ์˜ ์„ฑ๋Šฅ์ด ํ›จ์”ฌ ํ–ฅ์ƒ๋  ์ˆ˜ ์žˆ๋‹ค๋Š” ์ ์„ ์ฐธ๊ณ ํ•˜์ž. 

 

 

 

โžฐ ์žฅ๋‹จ์  

 

โ€ข  DeepAR ์€ ARIMA ์™€ ๊ฐ™์€ ์ „ํ†ต์ ์ธ ์‹œ๊ณ„์—ด ๋ชจํ˜•๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋›ฐ์–ด๋‚˜๋ฉฐ, ์ •์ƒ์„ฑ ๋ณ€ํ™˜๊ณผ ๊ฐ™์€ ์ถ”๊ฐ€์ ์ธ feature preprocessing ๊ณผ์ •์ด ํ•„์š” ์—†๋‹ค๋Š” ์žฅ์ ์ด ์žˆ๋‹ค. 

โ€ข  DeepAR ๋ชจ๋ธ์ด ๋“ฑ์žฅํ•˜๊ณ  ๋‚˜์„œ, Temporal Fusion Transformer (TFT) ๊ฐ™์€ ๋ชจ๋ธ๋“ค์ด ๋“ฑ์žฅํ–ˆ๋Š”๋ฐ, ์ด ๋‘˜์˜ ์ฐจ์ด์ ์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์ž. 

 

โ†ช Multiple time series : DeepAR ์€ ๊ฐ ์‹œ๊ณ„์—ด ์ž„๋ฒ ๋”ฉ์„ ๋ถ„๋ฆฌํ•ด ๊ณ„์‚ฐํ•˜๊ณ  ์ด๋ฅผ LSTM ์˜ feature ๋กœ ํ™œ์šฉํ•ด ์„œ๋กœ๋‹ค๋ฅธ ์‹œ๊ณ„์—ด ๋ฐ์ดํ„ฐ๋ฅผ ๊ตฌ๋ณ„ํ•  ์ˆ˜ ์žˆ๋‹ค. TFT ๋„ LSTM ๊ตฌ์กฐ๋ฅผ ์‚ฌ์šฉํ•˜์ง€๋งŒ, TFT ๋Š” ์ž„๋ฒ ๋”ฉ์„ LSTM ์˜ ์ดˆ๊ธฐ hidden state h_0 ์„ ๊ตฌ์„ฑํ•˜๊ธฐ ์œ„ํ•ด ํ™œ์šฉํ•œ๋‹ค๋Š” ์ ์—์„œ ์ฐจ์ด๊ฐ€ ์กด์žฌํ•œ๋‹ค.

 

โ†ช Type of Forecasting : TFT ๋Š” AR ๋ชจ๋ธ์ด ์•„๋‹ˆ๋‹ค. TFT ๋Š” multi-horizon forecasing model ์ด๋‹ค. ๋”ฐ๋ผ์„œ AR ๋ชจ๋ธ์ฒ˜๋Ÿผ one by one ์œผ๋กœ output ์„ ์ œ๊ณตํ•˜์ง€ ์•Š๊ณ  ํ•œ๋ฒˆ์— prediction ๊ฐ’์„ ๋‚ด๋†“๋Š”๋‹ค. 

 

 

 

 

 

๐Ÿ“š Vocab 


โ€ข natively  :  ๊ธฐ๋ณธ์ ์œผ๋กœ 

โ€ข milestone : ์ค‘์š”ํ•œ ๋‹จ๊ณ„ 

โ€ข intervals : ๊ฐ„๊ฒฉ, ์‚ฌ์ด, ์Œ์ • 

โ€ข decisively : ๊ฒฐ์ •์ ์œผ๋กœ 

โ€ข versatile : ๋ณ€ํ•˜๊ธฐ ์‰ฌ์šด 

 

 

 

 

 

 

728x90

๋Œ“๊ธ€