Ժամանակային շարքերի կանխատեսում

Ժամանակային շարքերի կանխատեսումը մեքենայական ուսուցման ուղղություն է, որը պատմական տվյալների հիման վրա ապագա արժեքի գնահատման գործընթաց է իրականացնում։ Ժամանակային  շարքերի վերլուծությունը ներառում է ժամանակային շարքերի արդեն առկա տվյալների վերլուծության մեթոդներ` իմաստալից վիճակագրություն ստանալու համար։ Ժամանակային շարքը տվյալների կետերի այն շարքն է, որը դասավորված է ժամանակագրական հաջորդականությամբ։ Ժամանակային շարքերում ժամանակը հաճախ հանդես է գալիս որպես անկախ փոփոխական  և նպատակը սովորաբար ապագայի արժեքների կանխատեսումներ անելն է և տվյալների այլ բնութագրեր արդյունահանելը։ Այսպես ասած ժամանակային շարքերի կանխատեսումը նախորդ դիտարկված արժեքների հիման վրա ապագա արժեքները կանխատեսող մոդելի օգտագործումն է։ Մեքենայական ուսուցման այս ուղղույթունը կարևոր դեր է խաղում տարբեր ոլորտներում բիզնեսի որոշումների կայացման գործում։
ժամանակային շարքերի կանխատեսումը ունի բազմաթիվ նրբերանգներ, որոնք այն տարբերում են սովորական մեքենայական ուսուցումից։ Տվյալների մշակումից մինչև մոդելի հաստատում։
ժամանակային շարքերի կանխատեսումը օգնում է բիզնեսին կայացնել տեղեկացված բիզնեսի որոշումներ, քանի որ այն կարող է հիմնված լինել պատմական տվյալների օրինաչափությունների վրա։ Այն կարող է օգտագործվել ապագա պայմանների և իրադարձությունների կանխատեսման համար։ Որպես օրինակ վերցնենք հյուրանոցը։ Եթե համակարգողը լավ պատկերացնում է, թե գալիք ամռանը քանի հյուրընկալող է սպասում, նրանք կարող են օգտագործել այս պատկերացումները աշխատակազմի կառավարման, բյուջեի կամ նույնիսկ հաստատության ընդլայնման համար։ Նմանապես, ապագա իրադարձությունների վստահ ընկալումը կարող է օգուտ բերել արդյունաբերության և խնդիրների լայն շրջանակին ՝ սկսած ավանդական գյուղատնտեսությունից մինչև պահանջարկվող փոխադրումներ և այլն։


== Ժամանակային շարքերի տվյալները ==
Ժամանակային շարքը ժամանակի ընթացքում գրանցված տվյալների կետերի հաջորդականությունն է։ Հետևաբար, ժամանակային շարքերի տվյալների հետ գործ ունենալիս հերթականությունը կարևոր է։ Հետևապես, ժամանակային շարքի արժեքները կախվածություն են արտահայտում ժամանակից։ Սա նշանակում է՝ եթե փոխենք ժամանակային շարքի հերթականությունը, մենք կարող ենք փոխել տվյալների իմաստը։
Սովորաբար ժամանակային շարքերի տվյալները ունեն հետևյալ հատկությունները․

Տվյալները չափվում են հաջորդաբար և ժամանակի հավասար հատվածներում
Յուրաքանչյուր ժամանակային միավոր ունի առավելագույնը մեկ տվյալների չափումԺամանակային շարքերի կանխատեսում հիմնական նպատակներն են․

Բացահայտել օրինաչափությունները, որոնք բացատրում են ժամանակային շարքերի վարքը
Օգտագործել այդ օրինաչափություները՝ ապագա նոր արժեքներ կանխատեսելու համար


== Պարզ կանխատեսման մեթոդներ ==
Ժամանակային շարքերի կանխատեսումն ունի ալգորիթմների հարուստ ընտանիք։ Ամենահիմնականներից մի քանիսը ներառում են.

Միջինի մեթոդըՇարժվող միջին մեթոդը«Միամիտ» մեթոդ
Այս ալգորիթմները պարզ են հասկանալու համար։ Յուրաքանչյուրը վերցնում է տարբեր ենթադրություն՝ նոր արժեքներ կանխատեսելու համար։ Միջինի մեթոդը ենթադրում է, որ ապագա իրադարձությունը լավագույնս նկարագրվում է անցյալի բոլոր իրադարձությունների միջին ցուցանիշով։ Շարժվող միջինը լայնորեն օգտագործվող տեխնիկական ցուցանիշ է, որը հարթեցնում է տվյալների ծայրահեղ միտումները`զտելով« աղմուկը» պատահական կարճաժամկետ գների տատանումներից:Շարժվող միջինների ամենատարածված կիրառություններից է ՝ միտման մոտավոր ուղղությունը պարզելը։ Անցյալ բոլոր իրադարձությունների միջինը օգտագործելու փոխարեն, այն կանխատեսում է նոր իրադարձություն ՝ որպես միջինը վերջին արժեքների կանխորոշված ​​քանակի նկատմամբ։ Եվ, այսպես ասած «միամիտ» մեթոդը, որը  ենթադրում է՝ հաջորդ իրադարձությունը հավասար կլինի ամենավերջինին։


== Ժամանակային շարքերի օրինաչափությունները ==
Այնուամենայնիվ, վերը թվարված պարզ մեթոդները անշուշտ լավ կանխատեսում չեն ստանա։ Հետևաբար, օրինակ ձեր բիզնեսի որոշումները կարող են հաճախ ավելի վատ ստացվել, քան սպասում էիք։ Այդ մեթոդները հաշվի չեն առնում բազմաթիվ տատանումներ, որոնք սովորաբար առկա են ժամանակային շարքերի տվյալների մեջ։ Հետևաբար, հարցն իրականում այն է, թե ինչպե՞ս կարող ենք ավելի լավ կանխատեսման մեթոդներ օգտագործել։ Դրա համար դիտարկվում են այն հիմնական օրինաչափությունները, որոնք սովորաբար առկա են ժամանակային շարքերում։ 
Ժամանակային շարքերի տվյալների մեծ մասը սովորաբար ունենում են գոնե մեկը այս երեք տեսակ ձևերից ՝ միտում (թրենդ), սեզոնայնություն և / կամ ցիկլեր։ Համառոտ նկարագրենք յուրաքանյչյուրը․


=== Միտում ===

Միտումը նկարագրում է ժամանակային շարքի ընդհանուր վարքագիծը։ Եթե ժամանակային շարքը ժամանակի երկարաժամկետ  ընթացքում այն դրսևորում է դրական թեքություն, այն ունի վերելքի (տե՛ս նկար 1) միտում։ Եթե դրա փոխարեն այն դրսևորում է է ընդհանուր բացասական թեքություն, ապա այն ունի անկման (տե՛ս նկար 2) միտում։ Այդպիսի միտման օրիանկներ ներկայացված են նկարներում՝ ներկայացնող Առողջապահության համաշխարհային կազմակերպության ինքնասպանությունների ցուցանիշները։
Ընդհանուր միտումը կարող է նաև փոխել ուղղությունը՝ ունենալով վերելքի կամ անկման միտումներ միաժամանակ։ Իսկ ահա ստացիոնար կամ հորիզոնական միտումը սահմանում է ժամանակային շարքեր՝ ո՛չ դրական, և ո՛չ էլ բացասական երկարաժամկետ թեքություններով։


=== Սեզոնայնություն ===
Սեզոնայնությունը ընդհանուր համակարգված գծային կամ (առավել հաճախ) ոչ գծային բաղադրիչ է, որը ժամանակի ընթացքում փոխվում է և կրկնում։ Սեզոնային օրինաչափությունը ժամանակային շարքում դիտվում է օրացույցի հետ կապված իրադարձություններում։
Այդպիսի իրադարձությունները կարող են լինել տարվա եղանակը (ինչպես ձմռենը կամ ամառը), կամ օրվա / շաբաթվա ժամանակը։ Սեզոնայնությունը միշտ ունի ֆիքսված հաճախականություններ։ Այսինքն ՝ սեզոնային օրինաչափությունը միշտ սկսվում և ավարտվում է շաբաթվա, տարվա նույն ժամանակահատվածում և այլն։
Որպես օրինակ վերցրեք տվյալների կենտրոնը։ Եթե մենք հովացման համակարգը համարում ենք որպես էներգիայի սպառման հիմնական աղբյուր, ապա հեշտ է պատկերացնել, որ ամռանը էներգիայի ծախսերը հավանաբար բարձրանում են, իսկ ձմեռը կարող է ցույց տալ էներգիայի սպառման նվազում։ Կամ ծանր վերարկուներ վաճառող հագուստի խանութը ձմռանը կարող է վաճառքի ավելի բարձր տեմպեր դիտարկել, ի տարբերություն ամռանը արված վաճառքների։


=== Ցիկլեր ===
Ժամանակային շարքի ցիկլային օրինաչափությունը մի փոփոխություն է, որը կապված չէ սեզոնային գործոնների հետ։ Սրանք ունենում են վերելքներ և անկումներ են ոչ ֆիքսված մեծությամբ, որոնք կարող են տևել ավելի քան օրացուցային տարին։ Ցիկլային օրինաչափությունները կրկնվում են, բայց ոչ նույնորեն։ Սովորաբար, դրանք առաջանում են արտաքին գործոններից, որոնց պատճառով կանխատեսումը շատ ավելի դժվար է դառնում։Միտումը, սեզոնայնությունը և ցիկլերը ժամանակային շարքերի տվյալների ամենատարածված օրինաչափություններն են։ Իմանալով, թե դրանք որոնք են և թե որոնք են դրանց բնութագրերը, ցանկացած վերլուծաբանի ձեռքում այդ օրինաչափությունները էական դիրք են գրավում գորիքակազմի մեջ։Կարևոր է նշել, որ բոլոր ժամանակային շարքերն են կանխատեսելի։ Ավելի կոնկրետ, նրանցից ոմանք երկարաժամկետ հեռանկարում կանխատեսելի օրինաչափություններ չեն ներկայացնում։ Նման ժամանակային շարքերը դժվար է, եթե չասենք անհնար է կանխատեսել, քանի որ ապագա շարժումները հավասարապես հավանական են։
Այս տեսակի տվյալների կանխատեսման համար մենք սովորաբար օգտագործում ենք պատահական քայլելու մոդելը։ Այս մոդելը ենթադրում է, որ հաջորդ իրադարձությունը բոլորովին կախված չէ նախորդից։ Պատահական քայլելու տեսությունը ասում է, որ օրինակ բաժնետոմսերի գների փոփոխությունները նույն բաշխումն ունեն և անկախ են միմյանցից։ Հետևաբար, դա ենթադրում է, որ բաժնետոմսի գնի կամ շուկայի անցյալ շարժումը կամ միտումը չի կարող օգտագործվել նրա հետագա շարժը կանխատեսելու համար։ Մի խոսքով, պատահական քայլելու տեսությունը ասում է, որ բաժնետոմսերը գնում են պատահական և անկանխատեսելի կերպով, ուստի երկարաժամկետ հեռանկարում անօգուտ է բաժնետոմսերի գների կանխատեսման բոլոր մեթոդները:Պատահական քայլելու մոդելները սովորաբար օգտագործվում են ֆինանսական և տնտեսական տվյալների հետ աշխատելիս։


== Հիմնական կիրառությունները բիզնեսում ==
Բացի տիպիկ ֆինանսական մոդելավորումից, ժամանակային շարքերի կանխատեսումը շատ ավելի լայն կարող է կիրառվել, հատկապես պահանջարկը կանխատեսելիս։ Շատ անարդյունավետ կլինի ժամանակային շարքերի միայն ֆինանսական կանխատեսմամբ սահմանափակվելը ։ Ահա ժամանակային շարքերի կանխատեսման 4 հստակ տարբեր նմուշներ, որոնք կազմում են կիրառության ընդամենը շատ չնչին մասը։


=== Առցանց օգտագործողների կանխատեսում ===
Ժամանակային շարքերի հաջող մոդելը կանխատեսում է օրինակ ~600,000 օգտատերերի մոտակա մի քանի ժամվա ընթացքում առցանց մուտք գործելու դեպքերի քանակը։ Սպորտային առցանց հեռարձակում իրականացնող պլատֆորմը արդեն գիտի, որ մեծ իրադարձության շնորհիվ այդ ժամանակ շատ մարդիկ կլինեն առցանց։ Բայց հիմա նա կարող է ավելի լավ պլանավորել, թե որքան լրացուցիչ սերվեր և ենթակառուցվածք է անհրաժեշտ առցանց հարթակի համար ՝ ելնելով առցանց օգտագործողների կանխատեսված թվից։ Բացի այդ, այդ սերվերներն օգտագործվում են միայն օրվա որոշակի ժամանակահատվածի համար ՝ անջատելով դրանք օրվա մնացած մասը ՝ գումար խնայելու համար։ Ժամանակային շարքերի մեկ այլ մոդելը կանխատեսում է առցանց օգտվողների զգալի աճ նախորդ տարվա համեմատ և նույնիսկ ավելին նախորդ տարվա նույն ժամանակահատվածի համեմատ։ Ընկերությունը որոշում է, որ հասել է զգալի աճի շարունակման մի կետի, և այժմ ճիշտ ժամանակն է ներդրումներ կատարելու՝  հաջորդ տարիներին ավելի լավ ենթակառուցվածքների զարգացման համար։


=== Երթևեկության կանխատեսում ===
Սենսորային սարքը յուրաքանչյուր 20 րոպեն մեկ գրանցում է խաչմերուկը հատող մեքենաների քանակը։ Օգտագործելով յուրաքանչյուր 20 րոպեն անցնող տրանսպորտային միջոցների այս հաշվարկը, ժամանակային շարքերի մոդելը կանխատեսում է, որ խաչմերուկում երթևեկությունը, հավանաբար, կտրուկ կաճի հաջորդ 20 րոպեի ընթացքում։ Այժմ ձեր ճանապարհորդության պլանավորման ծրագիրը որոշում է երթուղի անցկացնել ՝ խցանված, խնդրահարույց խաչմերուկից խուսափելու համար ՝ իր հերթին երթևեկությունը ավելի հավասարաչափ բաշխելով։


=== Հաճախորդի գոհունակության կանխատեսում ===
Հաճախորդների դիտարկումները ամեն օր հավաքվում և վերլուծվում են առցանց, և նրանց տրամադրության ընդհանուր գնահատումը ցույց է տալիս, թե արդյոք  նրանք գոհ են, թե նեղված են ընկերությունից։ Ամեն օր մի թիվ գրանցվում է -1-ից (ամենից շատ հիասթափված) մինչև +1 (ամենաերջանիկ)։ Ընկերությունը մտածում է այն մասին, թե արդյոք պետք է ձեռնպահ մնա անհապաղ գործողություններ ձեռնարկելուց և խնայել ժամանակն ու ռեսուրսները՝ հուսալով, որ ցուցանիշները կրկին կարող են դրական լինել։ Սակայն Ժամանակային շարքերի կանխատեսումը ենթադրում է, որ դժվար թե բարելավվի, և առաջիկա մի քանի օրերի ընթացքում այն ​​կշարունակի անկում գրանցել `դառնալով ընկերության համար անընդունելի ցուցանիշ։ Պոտենցիալ այդ կետին հասնելուց առաջ ընկերությունը հնարավորություն է ունենում որոշում կայացնելու՝ հիմնվելով այս մոդելի վրա ու ուղղում է լրացուցիչ ռեսուրսներ ՝ հաճախորդների սպասարկման թիմին օգնելու համար կենտրոնանալու հաճախորդների վրա՝ այս միտումը ճիշտ ուղղությամբ տանելու համար։


=== Անձնակազմի շրջանառության կանխատեսում ===
Բազմաթիվ գործոններ կարող են բերել աշխատողների շրջանառության ( աշխատակիցների շրջանառությունը վերաբերում է այն աշխատողների համամասնությանը, ովքեր որոշակի ժամանակահատվածում դուրս են գալիս կազմակերպությունից (հաճախ տարեկան կտրվածքով) `արտահայտված որպես աշխատուժի ընդհանուր թվերի տոկոս)։ Բանն այն է․ որր տարվա մեջ կարող են լինել որոշակի ամիսներ, երբ աշխատողների շրջանառությունը մի փոքր ավելի է, քան մյուս ամիսներին։ Միգուցե հավաքագրող գործակալություններն օգտագործում են Նոր տարին ՝ Ամանորի կարիերայի նպատակներին հասնելու և մարդկանց աշխատավարձ վճարելու համար, կամ ավելի քիչ զբաղված ժամանակահատվածում ընկերությունից հեռանալը թույլ է տալիս աշխատակցին սահուն փոխել աշխատանքը։ Նոր աշխատողներ գտնելը և դրանց բեռնաթափումը կարող են ժամանակատար և թանկ լինել։ Ընկերությունը կցանկանար տեսնել, թե ինչ է կանխատեսում ժամանակային շարքի մոդելը, կախված նրանից, թե որ ամիսներն է դիտվում աշխատողների ավելի մեծ շրջանառություն, որպեսզի մինչ այդ ընկերությունը կարողանա իրականացնել աշխատողների պահպանման ծրագրեր, որպեսզի չլքեն կազմակերպությունը։


== Գրականություն ==
James Douglas Hamilton (1994), “Time Series Analysis” (Amazon link)
Chris Chatfield, “The Analysis of Time Series: An Introduction”
Douglas C. Montgomery, Cheryl L. Jennings, and Murat Kulahci, “Introduction to Time Series Analysis and Forecasting” Archived 2021-05-10 at the Wayback Machine.
Galit Shmueli and Kenneth C. Lichtendahl Jr. (2016), “Practical Time Series Forecasting with R: A Hands-On Guide”
Rob J Hyndman and George Athanasopoulos (2014) "Forecasting: principles and practice"
N. D. Lewis(2016), "Deep Time Series Forecasting with Python: An Intuitive Introduction to Deep Learning for Applied Time"


== Ծանոթագրություններ ==