13 KiB
Zaman seriyalarının proqnozlaşdırılmasına giriş
Tomomi Imura tərəfindən çəkilmiş eskiz
Bu və sonrakı dərsdə siz MÖ aliminin repertuarının digər mövzulardan bir qədər az tanınan maraqlı və dəyərli hissəsi olan zaman seriyalarının proqnozlaşdırılması haqqında öyrənəcəksiniz. Bu proqnozlaşdırma bir növ 'kristal kürə'-ə bənzəyir: məsələn, qiymət dəyişəninin keçmiş performansına əsaslanaraq, onun gələcək potensial dəyərini təxmin edə bilərsiniz.
🎥 Zaman seriyalarının proqnozlaşdırılması haqqında olan video üçün yuxarıdakı şəkilə klikləyin.
Mühazirə öncəsi quiz
Zaman seriyalarının proqnozlaşdırılması qiymət, inventar və təchizat zənciri problemlərinə birbaşa tətbiqi nəzərə alınmaqla, biznes üçün real dəyərə malik faydalı və maraqlı sahədir. Gələcək performansı daha yaxşı proqnozlaşdırmaq üçün daha çox məlumat əldə etmək üçün dərin öyrənmə üsullarından istifadə edilməyə başlansa da, zaman seriyalarının proqnozlaşdırılması klassik ML texnikalarına dayalı bir sahə olaraq qalır.
Penn State-in faydalı zaman seriyası kurrikulumuna burada baxa bilərsiniz.
Giriş
Tutaq ki, siz onların nə qədər tez-tez istifadə edildiyi və zamanla nə qədər müddətə istifadə edildiyi barədə məlumat verən bir seriya ağıllı parkomatlara sahibsiniz.
Əgər tələb və təklif qaydalarına uyğun olaraq, sayğacın keçmiş performansına əsaslanıb onun gələcək dəyərini proqnozlaşdıra bilsəydiniz, bunanla nə edərdiniz?
Məqsədinizə çatmaq üçün nə vaxt hərəkət edəcəyinizi dəqiq proqnozlaşdırmaq zaman seriyalarının proqnozlaşdırılması ilə həll edilə bilən bir problemdir. Pik saatlarda dayanacaq yeri axtaran insanlardan daha çox ödəniş almaq onları sevindirməz, lakin bu, küçələri təmizləmək üçün gəlir əldə etməyin etibarlı yolu olardı!
Gəlin zaman seriyaları alqoritmlərinin bəzi növlərini araşdıraq və dəftərçəni yaratmaqla bəzi məlumatları təmizləmək və hazırlamağa başlayaq. Təhlil edəcəyiniz data GEFCom2014 proqnozlaşdırma müsabiqəsindən götürülmüşdür. Həmin data, 2012 və 2014-cü illər arasında 3 illik, saatlıq elektrik yükü və temperatur dəyərlərindən ibarətdir. Elektrik yükünün və temperaturun tarixi nümunələrini nəzərə alaraq, elektrik yükünün gələcək dəyərlərini proqnozlaşdıra bilərsiniz.
Bu nümunədə siz, yalnız keçmiş yükləmə datasından istifadə edərək bir addım irəlini proqnozlaşdırmağı öyrənəcəksiniz. Başlamazdan əvvəl, ekran arxasında nələrin baş verdiyini anlamaqda fayda var.
Bəzi təriflər
"Zaman seriyaları" termini ilə qarşılaşarkən onun bir neçə fərqli kontekstdə istifadəsini başa düşməlisiniz.
🎓 Zaman seriyaları
Riyaziyyatda "zaman seriyası, vaxt sırasına görə indeksləşdirilmiş(və ya siyahıya alınmış, yaxud da qrafikləşdirilmiş) data nöqtələrinin sırasıdır. Ən çox yayılmış zaman seriyası, zamanın ardıcıl bərabər məsafəli nöqtələrində götürülən ardıcıllıqdır." Zaman seriyasına misal olaraq Dow Jones Sənaye Ortalamasının gündəlik bağlanış dəyərini göstərmək olar. Zaman seriyalarının qrafiklərindən və statistik modelləşdirməsindən istifadəyə tez-tez siqnalların işlənməsi, hava proqnozu, zəlzələnin proqnozlaşdırılması və hadisələrin baş verdiyi müddətdə məlumat nöqtələrinin zamanla tərtib oluna biləcəyi digər sahələrdə rast gəlinir.
🎓 Zaman seriyalarının təhlili
Zaman seriyalarının təhlili, yuxarıda qeyd olunan zaman seriyası məlumatlarının təhlilidir. Zaman seriyası dataları müxtəlif formalarda ola bilər. Onlardan biri, fasilə verən hadisədən əvvəl və sonra bir zaman seriyasındakı qanunauyğunluqları aşkarlayan "kəsintili zaman seriyası"-dır. Zaman seriyası üçün lazım olan analiz növü məlumatların xarakterindən asılıdır. Məlumatların özü isə nömrələr və ya simvollar seriyası formasında ola bilər.
İcrası nəzərdə tutulan təhlildə tezlik-domen və zaman-domen, xətti və qeyri-xətti və s. daxil olmaqla müxtəlif üsullardan istifadə edilir. Bu tip dataların analiz üsulları barədə ətraflı məlumatı buradan öyrənə bilərsiniz.
🎓 Zaman seriyaları proqnozu
Zaman seriyalarının proqnozlaşdırılması, keçmişdə toplanmış dataların yaratdığı qanunauyğunluğa əsasən gələcək dəyərləri proqnozlaşdırmaq üçün hansısa bir modeldən istifadə etməkdir. Zaman seriyası datalarını tədqiq etmək üçün reqressiya modellərindən istifadə etmək mümkün olsa da, belə məlumatlar xüsusi model tiplərindən istifadə etməklə ən yaxşı şəkildə təhlil edilir.
Zaman seriyası, datası xətti reqressiya ilə təhlil edilə bilən məlumatlardan fərqli olaraq, ardıcıl müşahidələrin siyahısıdır. Ən çox yayılmışı ARIMA-dır, açılışı "Autoregressive Integrated Moving Average" deməkdir.
ARIMA modelləri "seriyanın indiki dəyərini keçmiş dəyərlər və keçmiş proqnoz xətaları ilə əlaqələndirir." Onlar məlumatların zamanla seriyalandığı zaman domen məlumatlarını təhlil etmək üçün ən uyğun variantdırlar.
ARIMA modellərinin bir neçə növü var ki, onlar haqqında burada öyrənə bilərsiniz. Növbəti dərsdə onlar barədə öyrənəcəksiniz.
Növbəti dərsdə siz, dəyərini zaman yeniləyən bir dəyişənə fokuslanan Univariate Time Series istifadə edərək ARIMA modeli quracaqsınız. Bu tip məlumatlara misal olaraq, Mauna Loa Rəsədxanasında aylıq karbon qazı konsentrasiyasını qeyd edən bu verilənlər bazası ola bilər:
| CO2 | YearMonth | Year | Month |
|---|---|---|---|
| 330.62 | 1975.04 | 1975 | 1 |
| 331.40 | 1975.13 | 1975 | 2 |
| 331.87 | 1975.21 | 1975 | 3 |
| 333.18 | 1975.29 | 1975 | 4 |
| 333.92 | 1975.38 | 1975 | 5 |
| 333.43 | 1975.46 | 1975 | 6 |
| 331.85 | 1975.54 | 1975 | 7 |
| 330.01 | 1975.63 | 1975 | 8 |
| 328.51 | 1975.71 | 1975 | 9 |
| 328.41 | 1975.79 | 1975 | 10 |
| 329.25 | 1975.88 | 1975 | 11 |
| 330.97 | 1975.96 | 1975 | 12 |
✅ Bu data setində zamanla yenilənən dəyişəni müəyyən edin.
Nəzərə alınmalı Zaman seriyası data xarakteristikaları
Zaman seriyası məlumatlarına baxarkən onların daha yaxşı başa düşmək üçün nəzərə almalı və azaltmalı olduğunuz müəyyən xüsusiyyətlərə malik olduğunu görə bilərsiniz. Əgər siz zaman seriyası datalarını, analiz etmək istədiyiniz potensial 'sinqal' ötürücüsü olaraq görürsünüzə, bu xüsusiyyətlər “səs-küy” kimi düşünülə bilər. Siz tez-tez müxtəlif statistik üsullardan istifadə edərək həmin xüsusiyyətlərin bəzilərini əvəz etməklə 'səs-küyü' azaltmalı olacaqsınız.
Zaman seriyaları ilə işləyə bilmək üçün bilməli olduğunuz bəzi anlayışlar bunlardır:
🎓 Trendlər
Trendlər zamanla ölçülə bilən artımlar və azalmalar kimi tərif edilir. Ətraflı oxu. Zaman seriyaları kontekstində isə trendlər, onları necə istifadə etmək və lazım gələrsə, zaman seriyalarınızdan silmək haqqındadır.
Mövsümilik dedikdə, məsələn, satışlara təsir edə biləcək bayram ərəfəsi kimi dövri dalğalanmalar nəzərdə tutulur. Fərqli qrafiklərin datada mövsümiliyi necə göstərdiyinə diqqət yetirin.
🎓 Kənar göstəricilər
Kənar göstəricilər standart məlumat fərqindən çox uzaqdır.
🎓 Uzun müddətli dövr
Mövsümilikdən asılı olmayaraq, məlumatlar bir ildən çox davam edən iqtisadi tənəzzül kimi uzunmüddətli dövrü göstərə bilər.
🎓 Daimi fərq
Zaman keçdikcə bəzi məlumatlar gecə və gündüz enerji istifadəsi kimi daimi dalğalanmaları göstərir.
🎓 Kəskin dəyişikliklər
Verilənlər əlavə təhlilə ehtiyac duyan qəfil dəyişikliklər göstərə bilər. Məsələn, COVID səbəbiylə müəssisələrin qəfil bağlanması məlumatların dəyişməsinə səbəb oldu.
✅ Burada bir neçə il ərzində, günlük oyundaxili satışları göstərən bir nümunə zaman seriyası süjeti verilmişdir. Göstərilən datada yuxarıda sadalanan xüsusiyyətlərdən hansıları sezə bilərsiniz?
Tapşırıq - enerji istifadəsi datasının istifadəsinə başlamaq
Keçmiş istifadəni nəzərə alaraq gələcək enerji istifadəsini proqnozlaşdırmaq üçün zaman seriyası modelini yaratmağa başlayaq.
Bu nümunədəki datalar GEFCom2014 proqnozlaşdırma müsabiqəsindən götürülmüşdür. 2012-2014-cü illər arasında 3 illik, saatlıq elektrik yükü və temperatur dəyərlərindən ibarətdir.
Tao Hong, Pierre Pinson, Shu Fan, Hamidreza Zareipour, Alberto Troccoli və Rob J. Hyndman, "Ehtimallı enerji proqnozlaşdırılması: Qlobal Enerji Proqnozlaşdırma Müsabiqəsi 2014 və sonrası", Beynəlxalq Proqnozlaşdırma Jurnalı, cild 32, №3, səh 896 -913, iyul-sentyabr, 2016.
-
Bu dərsin
workingqovluğundakı notebook.ipynb faylını açın. Dataları yükləməyə və vizuallaşdırmağa kömək edəcək kitabxanalar əlavə etməklə başlayınimport os import matplotlib.pyplot as plt from common.utils import load_data %matplotlib inlineNəzərə alın ki, sizin tərtibat mühitinizi quran və məlumatların endirilməsini idarə edən
commonqovluğundakı fayllardan istifadə edirsiniz. -
Növbəti addım olaraq,
load_data()vəhead()funksiyalarını çağıraraq dataları datafreym olaraq yoxlayın:data_dir = './data' energy = load_data(data_dir)[['load']] energy.head()Tarixi və yükü təmsil edən iki sütun olduğunu görə bilərsiniz:
load 2012-01-01 00:00:00 2698.0 2012-01-01 01:00:00 2558.0 2012-01-01 02:00:00 2444.0 2012-01-01 03:00:00 2402.0 2012-01-01 04:00:00 2403.0 -
İndi isə
plot()funksiyasını çağıraraq datanın qrafikini qurun:energy.plot(y='load', subplots=True, figsize=(15, 8), fontsize=12) plt.xlabel('timestamp', fontsize=12) plt.ylabel('load', fontsize=12) plt.show() -
İndi 2014-cü ilin iyul ayının ilk həftəsini,
[tarixdən]: [tarixə]formasındaenergy-ə giriş dəyişəni formasında təqdim edərək qrafiki qurun:energy['2014-07-01':'2014-07-07'].plot(y='load', subplots=True, figsize=(15, 8), fontsize=12) plt.xlabel('timestamp', fontsize=12) plt.ylabel('load', fontsize=12) plt.show()Gözəl qrafik alındı! Bu qrafiklərə nəzər yetirin və yuxarıda sadalanan xüsusiyyətlərdən hər hansı birini müəyyən edə bildiyinizə baxın. Verilənləri vizuallaşdırmaqla nəyi təxmin edə bilərik?
Növbəti dərsdə bəzi proqnozlar yaratmaq üçün ARIMA modeli yaradacaqsınız.
🚀Çağırış
Zaman seriyalarının proqnozlaşdırılmasından faydalanacağını düşünə biləcəyiniz bütün sənaye və araşdırma sahələrinin siyahısını tərtib edin. Bu texnikaların incəsənətdə tətbiqi barədə düşünə bilərsinizmi? Ekonometrikada? Ekologiya? Pərakəndə satış? Sənaye? Maliyyə? Başqa harada?
Mühazirə sonrası test
Təkrarlayın və özünüz öyrənin
Onları burada əhatə etməsək də, neyroşəbəkələr bəzən zaman seriyalarının proqnozlaşdırılmasının klassik üsullarını təkmilləşdirmək üçün istifadə olunur. Onlar haqqında daha ətraflı bu məqalədə oxuyun.




