๊ณ„์ธต์  ์ง‘๊ณ„๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก ํŽธํ–ฅ ์™„ํ™”

์ด ํŽ˜์ด์ง€์—์„œ๋Š” ๊ณ„์ธต์  ์˜ˆ์ธก์ด ๋ฌด์—‡์ธ์ง€ ์„ค๋ช…ํ•˜๊ณ  ์˜ˆ์ธก ๋ชจ๋ธ์˜ ํŽธํ–ฅ์„ ์ค„์ด๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ํ•™์Šต ์ „๋žต์„ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์˜ˆ์ธก ๋ชจ๋ธ์„ ํ•™์Šตํ•  ๋•Œ ๊ณ„์ธต์  ์˜ˆ์ธก์„ ๊ตฌ์„ฑํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๊ด€ํ•œ ์ž์„ธํ•œ ์•ˆ๋‚ด๋Š” ์˜ˆ์ธก ๋ชจ๋ธ ํ•™์Šต์„ ์ฐธ๊ณ ํ•˜์„ธ์š”.

๊ณ„์ธต์  ์˜ˆ์ธก์ด๋ž€?

์‹œ๊ณ„์—ด์€ ์ข…์ข… ์ค‘์ฒฉ๋œ ๊ณ„์ธต ๊ตฌ์กฐ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์†Œ๋งค์—…์ฒด์—์„œ ํŒ๋งคํ•˜๋Š” ์ œํ’ˆ์˜ ์ „์ฒด ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ์ œํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์นดํ…Œ๊ณ ๋ฆฌ๋Š” ๊ฐœ๋ณ„ ์ œํ’ˆ์œผ๋กœ ๋” ์„ธ๋ถ„ํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ–ฅํ›„ ํŒ๋งค๋ฅผ ์˜ˆ์ธกํ•  ๋•Œ ์นดํ…Œ๊ณ ๋ฆฌ ์ œํ’ˆ์˜ ์˜ˆ์ธก์€ ์นดํ…Œ๊ณ ๋ฆฌ ์ž์ฒด์™€ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋”ฐ๋ผ ์˜ฌ๋ผ๊ฐ€๋ฉด์„œ ์˜ˆ์ธก์— ํ•ฉ์‚ฐ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ œํ’ˆ ๋ฐ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๊ณ„์ธต ๊ตฌ์กฐ

๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹จ์ผ ์‹œ๊ณ„์—ด์˜ ์‹œ๊ฐ„ ์ธก์ •๊ธฐ์ค€๋„ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋‚˜ํƒ€๋‚ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์ผ ๊ธฐ์ค€ ๊ฐœ๋ณ„ ์ œํ’ˆ์˜ ์˜ˆ์ƒ ํŒ๋งค๋Ÿ‰์€ ์ œํ’ˆ์˜ ์ฃผ๊ฐ„ ํŒ๋งค ์˜ˆ์ธก์— ํ•ฉ์‚ฐ๋ฉ๋‹ˆ๋‹ค. ๋‹ค์Œ ๊ทธ๋ฆผ์€ ์ด ๊ทธ๋ฃน๊ณผ ์‹œ๊ฐ„์  ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๋งคํŠธ๋ฆญ์Šค๋กœ ๋ณด์—ฌ์ค๋‹ˆ๋‹ค.

์‹œ๊ณ„์—ด ํ–‰๋ ฌ

๊ณ„์ธต์  ์˜ˆ์ธก์—๋Š” ์„ธ ๊ฐ€์ง€ ๋ชฉํ‘œ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ์ „์ฒด ํŽธํ–ฅ์„ ์ค„์—ฌ ๋ชจ๋“  ์‹œ๊ณ„์—ด(์ด ํŒ๋งค)์—์„œ ์ธก์ •ํ•ญ๋ชฉ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ์‹œ๊ฐ„์  ํŽธํ–ฅ์„ ์ค„์—ฌ ๋ฒ”์œ„(์‹œ์ฆŒ ํŒ๋งค)์—์„œ ์ธก์ •ํ•ญ๋ชฉ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ฃน ์ˆ˜์ค€ ํŽธํ–ฅ์„ ์ค„์—ฌ ์‹œ๊ณ„์—ด ๊ทธ๋ฃน(ํ•ญ๋ชฉ ํŒ๋งค)์— ๋Œ€ํ•œ ์ธก์ •ํ•ญ๋ชฉ์„ ๊ฐœ์„ ํ•ฉ๋‹ˆ๋‹ค.

Vertex AI์—์„œ ๊ณ„์ธต์  ์˜ˆ์ธก์€ ์ง‘๊ณ„๋œ ์˜ˆ์ธก์— ๋Œ€ํ•œ ์ถ”๊ฐ€ ์†์‹ค์„ ํ†ตํ•ฉํ•˜์—ฌ ์‹œ๊ณ„์—ด์˜ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค.

Hierarchical loss = (1 x loss) +
                    (temporal total weight x temporal total loss) +
                    (group total weight x group total loss) +
                    (group temporal total weight x group temporal total loss)

์˜ˆ๋ฅผ ๋“ค์–ด ๊ณ„์ธต์  ๊ทธ๋ฃน์ด '์นดํ…Œ๊ณ ๋ฆฌ'์ธ ๊ฒฝ์šฐ '์นดํ…Œ๊ณ ๋ฆฌ' ์ˆ˜์ค€์˜ ์˜ˆ์ธก์€ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋ชจ๋“  '์ œํ’ˆ'์— ๋Œ€ํ•œ ์˜ˆ์ธก์˜ ํ•ฉ๊ณ„์ž…๋‹ˆ๋‹ค. ๋ชจ๋ธ์˜ ๋ชฉํ‘œ๊ฐ€ ํ‰๊ท  ์ ˆ๋Œ€ ์˜ค์ฐจ(MAE)์ธ ๊ฒฝ์šฐ ์†์‹ค์—๋Š” '์ œํ’ˆ' ๋ฐ '์นดํ…Œ๊ณ ๋ฆฌ' ์ˆ˜์ค€์˜ ์˜ˆ์ธก์— ๋Œ€ํ•œ MAE๊ฐ€ ํฌํ•จ๋ฉ๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ณ„์ธต ๊ตฌ์กฐ์˜ ์—ฌ๋Ÿฌ ์ˆ˜์ค€์—์„œ ์˜ˆ์ธก์˜ ์ผ๊ด€์„ฑ์„ ๊ฐœ์„ ํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋˜๋ฉฐ, ๊ฒฝ์šฐ์— ๋”ฐ๋ผ ์ตœํ•˜์œ„ ์ˆ˜์ค€์˜ ์ธก์ •ํ•ญ๋ชฉ๋„ ๊ฐœ์„ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ชจ๋ธ ํ•™์Šต์„ ์œ„ํ•œ ๊ณ„์ธต์  ์ง‘๊ณ„ ๊ตฌ์„ฑ

์˜ˆ์ธก ๋ชจ๋ธ์„ ํ•™์Šต์‹œํ‚ฌ ๋•Œ Vertex AI SDK์—์„œ AutoMLForecastingTrainingJob์„ ๊ตฌ์„ฑํ•˜๊ฑฐ๋‚˜ Vertex AI API์—์„œ hierarchyConfig๋ฅผ ๊ตฌ์„ฑํ•˜์—ฌ ๊ณ„์ธต์  ์ง‘๊ณ„๋ฅผ ๊ตฌ์„ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

AutoMLForecastingTrainingJob ๋ฐ hierarchyConfig์— ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ํŒŒ๋ผ๋ฏธํ„ฐ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

  • group_columns
  • group_total_weight
  • temporal_total_weight
  • group_temporal_total_weight

์ด ํŒŒ๋ผ๋ฏธํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด ๊ทธ๋ฃน ๋ฐ ์‹œ๊ฐ„ ์ง‘๊ณ„ ์†์‹ค์˜ ๋‹ค์–‘ํ•œ ์กฐํ•ฉ์ด ํ—ˆ์šฉ๋ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ๊ฐ€์ค‘์น˜๋ฅผ ํ• ๋‹นํ•˜์—ฌ ๊ฐœ๋ณ„ ์†์‹ค์— ๋น„ํ•ด ์ง‘๊ณ„ ์†์‹ค์„ ์ตœ์†Œํ™”ํ•˜๋Š” ์šฐ์„ ์ˆœ์œ„๋ฅผ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๊ฐ€์ค‘์น˜๊ฐ€ 2.0์œผ๋กœ ์„ค์ •๋œ ๊ฒฝ์šฐ ๊ฐ€์ค‘์น˜๊ฐ€ ๊ฐœ๋ณ„ ์†์‹ค์˜ ๋‘ ๋ฐฐ๊ฐ€ ๋ฉ๋‹ˆ๋‹ค.

group_columns

๊ณ„์ธต ๊ตฌ์กฐ ์ˆ˜์ค€์˜ ๊ทธ๋ฃนํ™”๋ฅผ ์‹๋ณ„ํ•˜๋Š” ํ•™์Šต ์ž…๋ ฅ ํ…Œ์ด๋ธ”์˜ ์—ด ์ด๋ฆ„์ž…๋‹ˆ๋‹ค. ์—ด์€ time_series_attribute_columns์—ฌ์•ผ ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฃน ์—ด์ด ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ์‹œ๊ณ„์—ด์ด ๋™์ผํ•œ ๊ทธ๋ฃน์˜ ์ผ๋ถ€๋กœ ์ทจ๊ธ‰๋˜๋ฉฐ ๋ชจ๋“  ์‹œ๊ณ„์—ด์—์„œ ์ง‘๊ณ„๋ฉ๋‹ˆ๋‹ค.

group_total_weight

๊ฐœ๋ณ„ ์†์‹ค์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ ๊ทธ๋ฃน ์ง‘๊ณ„ ์†์‹ค์˜ ๊ฐ€์ค‘์น˜์ž…๋‹ˆ๋‹ค. 0.0์œผ๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

temporal_total_weight

๊ฐœ๋ณ„ ์†์‹ค์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์‹œ๊ฐ„ ์ง‘๊ณ„ ์†์‹ค์˜ ๊ฐ€์ค‘์น˜์ž…๋‹ˆ๋‹ค. 0.0์œผ๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค.

group_temporal_total_weight

๊ฐœ๋ณ„ ์†์‹ค์„ ๊ธฐ์ค€์œผ๋กœ ํ•œ ์ด(๊ทธ๋ฃน x ์‹œ๊ฐ„) ์ง‘๊ณ„ ์†์‹ค์˜ ๊ฐ€์ค‘์น˜์ž…๋‹ˆ๋‹ค. 0.0์œผ๋กœ ์„ค์ •ํ•˜๊ฑฐ๋‚˜ ์„ค์ •ํ•˜์ง€ ์•Š์œผ๋ฉด ์‚ฌ์šฉ ์ค‘์ง€๋ฉ๋‹ˆ๋‹ค. ๊ทธ๋ฃน ์—ด์ด ์„ค์ •๋˜์ง€ ์•Š์œผ๋ฉด ๋ชจ๋“  ์‹œ๊ณ„์—ด์ด ๋™์ผํ•œ ๊ทธ๋ฃน์˜ ์ผ๋ถ€๋กœ ์ทจ๊ธ‰๋˜๋ฉฐ ๋ชจ๋“  ์‹œ๊ณ„์—ด์—์„œ ์ง‘๊ณ„๋ฉ๋‹ˆ๋‹ค.

ํŽธํ–ฅ ์ค„์ด๊ธฐ ์ „๋žต

๊ฐ€์ค‘์น˜๊ฐ€ 10.0์ธ ํ•œ ๊ฐ€์ง€ ์œ ํ˜•์˜ ์ง‘๊ณ„(๊ทธ๋ฃน ๋˜๋Š” ์‹œ๊ฐ„)๋กœ ์‹œ์ž‘ํ•œ ๋‹ค์Œ ๊ฒฐ๊ณผ์— ๋”ฐ๋ผ ๊ฐ’์„ ์ ˆ๋ฐ˜ ๋˜๋Š” ๋‘ ๋ฐฐ๋กœ ๋Š˜๋ ค๋ณด์„ธ์š”.

์ „๋ฐ˜์ ์ธ ํŽธํ–ฅ ์ค„์ด๊ธฐ

์ œํ’ˆ x ๋งค์žฅ x ๋‚ ์งœ ๊ธฐ์ค€์—์„œ ๊ฐ€์ค‘์น˜๊ฐ€ ์ ์šฉ๋œ ์ ˆ๋Œ€ ๋ฐฑ๋ถ„์œจ ์˜ค์ฐจ(WAPE)๋ฅผ ์˜ˆ์ธก ์ธก์ •ํ•ญ๋ชฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋ฉด ๋งค์žฅ ๊ฐ„ ์žฌ๊ณ  ๋ถ„๋ฐฐ์— ๋Œ€ํ•œ ์„ธ๋ถ„ํ™”๋œ ์˜ˆ์ธก์—์„œ๋Š” ์˜ˆ์ธก์ด ํ•ฉ์‚ฐ ๊ธฐ์ค€์œผ๋กœ ๋˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด ์ „๋ฐ˜์ ์ธ ํŽธํ–ฅ์„ ๋ณด์™„ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๋ณด์„ธ์š”.

  • group_total_weight๋ฅผ 10.0๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • group_columns๋Š” ์„ค์ •ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘ก๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๋Š” ์„ค์ •ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘ก๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ชจ๋“  ์‹œ๊ณ„์—ด์„ ์ง‘๊ณ„ํ•˜์—ฌ ์ „๋ฐ˜์ ์ธ ํŽธํ–ฅ์„ ์ค„์ž…๋‹ˆ๋‹ค.

์‹œ๊ฐ„์  ํŽธํ–ฅ ์ค„์ด๊ธฐ

์žฅ๊ธฐ์ ์ธ ๊ณ„ํš์—์„œ ์ œํ’ˆ x ๋ฆฌ์ „ x ์ฃผ ๊ธฐ์ค€์œผ๋กœ ์˜ˆ์ธก์„ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ์ง€๋งŒ ์‹œ์ฆŒ๋ณ„ ํ•ฉ๊ณ„๋ฅผ ๊ธฐ์ค€์œผ๋กœ ๊ด€๋ จ ์ธก์ •ํ•ญ๋ชฉ์„ ์ธก์ •ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‹œ๊ฐ„์  ํŽธํ–ฅ์„ ๋ณด์™„ํ•˜๋ ค๋ฉด ๋‹ค์Œ๊ณผ ๊ฐ™์ด ํ•ด๋ณด์„ธ์š”.

  • temporal_total_weight๋ฅผ 10.0๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • group_columns๋Š” ์„ค์ •ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘ก๋‹ˆ๋‹ค.
  • ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๋Š” ์„ค์ •ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘ก๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์‹œ๊ณ„์—ด ๋ฒ”์œ„์˜ ๋ชจ๋“  ๋‚ ์งœ ๋™์•ˆ ์ง‘๊ณ„๋˜๊ณ  ์‹œ๊ฐ„์  ํŽธํ–ฅ์ด ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

๊ทธ๋ฃน ์ˆ˜์ค€ ํŽธํ–ฅ ์ค„์ด๊ธฐ

๋ณด์ถฉ ๋‹จ๊ณ„์—์„œ ๋‹ค๋ชฉ์  ์˜ˆ์ธก์˜ ๊ฒฝ์šฐ ์ œํ’ˆ x ๋งค์žฅ x ๋‚ ์งœ ๋˜๋Š” ์ฃผ ์ˆ˜์ค€์—์„œ ์„ธ๋ถ„ํ™”๋œ ์˜ˆ์ธก๊ฐ’์„ ์ œํ’ˆ x ์œ ํ†ต ์„ผํ„ฐ x ์œ ํ†ต ๋˜๋Š” ์ œํ’ˆ ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‚ ์งœ ๊ธฐ์ค€ x ์ œํ’ˆ ์ฃผ๋ฌธ ๋‚ ์งœ ๊ธฐ์ค€๊นŒ์ง€ ์ง‘๊ณ„ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ ค๋ฉด ๋‹ค์Œ์„ ์ˆ˜ํ–‰ํ•˜์„ธ์š”.

  • group_total_weight๋ฅผ 10.0๋กœ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค.
  • group_columns๋ฅผ ์„ค์ •ํ•ฉ๋‹ˆ๋‹ค(์˜ˆ: ['region'] ๋˜๋Š” ['region', 'category']). ์—ฌ๋Ÿฌ ๊ทธ๋ฃน ์—ด์„ ์„ค์ •ํ•˜๋ฉด ํ•ฉ์‚ฐ๋œ ๊ฐ’์„ ์‚ฌ์šฉํ•˜์—ฌ ๊ทธ๋ฃน์„ ์ •์˜ํ•ฉ๋‹ˆ๋‹ค. ์ตœ์ƒ์˜ ๊ฒฐ๊ณผ๋ฅผ ์–ป์œผ๋ ค๋ฉด ๊ณ ์œ ํ•œ ๊ฒฐํ•ฉ ๊ฐ’์ด 100๊ฐœ ์ดํ•˜์ธ ๊ทธ๋ฃน ์—ด์„ ์‚ฌ์šฉํ•˜์„ธ์š”.
  • ๋‹ค๋ฅธ ๊ฐ€์ค‘์น˜๋Š” ์„ค์ •ํ•˜์ง€ ์•Š์€ ์ƒํƒœ๋กœ ๋‘ก๋‹ˆ๋‹ค.

์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฐ™์€ ๋‚ ์งœ์˜ ๋™์ผํ•œ ๊ทธ๋ฃน์— ์žˆ๋Š” ๋ชจ๋“  ์‹œ๊ณ„์—ด ๋™์•ˆ ์ง‘๊ณ„ํ•˜์—ฌ ๊ทธ๋ฃน ์ˆ˜์ค€์˜ ํŽธํ–ฅ์„ ์ค„์ž…๋‹ˆ๋‹ค.

ํ•œ๋„

  • ์‹œ๊ณ„์—ด ์ง‘๊ณ„์˜ ์ˆ˜์ค€์€ 1๊ฐœ๋งŒ ์ง€์›๋ฉ๋‹ˆ๋‹ค. 'product, store'์™€ ๊ฐ™์ด 2๊ฐœ ์ด์ƒ์˜ ๊ทธ๋ฃนํ™” ์—ด์ด ์ง€์ •๋œ ๊ฒฝ์šฐ ์‹œ๊ณ„์—ด์€ 'product'์™€ 'store' ๋ชจ๋‘์— ๋™์ผํ•œ ๊ฐ’์„ ๊ณต์œ ํ•˜๋Š” ๊ฒฝ์šฐ์—๋งŒ ๊ฐ™์€ ๊ทธ๋ฃน์— ์†ํ•ฉ๋‹ˆ๋‹ค.
  • 100๊ฐœ ์ดํ•˜์˜ ๊ทธ๋ฃน์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.

๋‹ค์Œ ๋‹จ๊ณ„