Durağan olmayan zaman serilerini Python ile nasıl idare edeceğinizi öğretin (kod eklenmiştir)

Yazar: AISHWARYA SINGH

Çeviri: Chen Zhiyan

Redaksiyon: Ding Nanya

Bu makale hakkında 3600 kelime 10 dakika okumanız tavsiye edilir.

Bu makale, zaman serisi verilerinin durağanlık testi yöntemine odaklanacaktır.

Giriş

Bir hane halkının önümüzdeki üç aydaki elektrik tüketimini tahmin etmek, belirli bir dönem boyunca yoldaki trafik akışını tahmin etmek, New York Borsası'nda işlem gören bir hisse senedinin fiyatını tahmin etmek ... Bu konuların ortak noktaları nelerdir?

Hepsi zaman serisi verileri kategorisine aittir! "Zaman" bileşeni yoksa, sonuç doğru bir şekilde tahmin edilemez. Çevremizdeki dünya giderek daha fazla veri ürettikçe, zaman serisi tahmini, veri bilimcilerin ustalaşması gereken giderek daha kritik bir beceri haline geldi.

Ancak zaman serileri karmaşık bir konudur, birçok yönü vardır.

Öncelikle tahmin modelinin düzgün çalışması için zaman serilerinin sabit tutulması gerekir. neden? Çünkü orijinal verilerin çoğunun durağan olmayan bir eğilimi olacaktır. Çok sayıda düzensiz sivri uç varsa, modelin düzgün çalıştığından nasıl emin olabilirsiniz?

Bu makale, zaman serisi verilerinin durağanlık testi yöntemine odaklanacaktır. Okuyucunun zaman serileri, ARIMA ve durağanlık kavramlarına zaten aşina olduğu varsayılmaktadır. İşte temel içeriğe sahip bazı referans materyalleri:

  • Zaman serisi modellemeyle ilgili eksiksiz eğitim
  • Yeni başlayanlar için kapsamlı bir zaman serisi tahmini kılavuzu

içindekiler

1. Giriş

2. Verileri yükleyin

3. Stabiliteyi test etme yöntemleri

  • ADF incelemesi
  • KPSS denetimi

4. Stabilite türleri

  • Kesinlikle kararlı
  • Kararlı eğilim
  • Sabit fark

5. Zaman serisi yumuşatma

  • fark
  • Mevsimsel fark
  • Logaritmik dönüşüm

1. Giriş

"Durağan", zaman serisi verileriyle uğraşırken karşılaşılan en önemli kavramlardan biridir: Durağan seriler, karakteristikleri-ortalaması, varyansı ve kovaryansı zamanla değişmeyen dizileri ifade eder.

Bunu anlamak için sezgisel bir örnek kullanalım. Aşağıdaki üç grafiği düşünün:

  • İlk resimde, ortalama değerin zaman içinde değiştiğini (arttığını) açıkça görebiliyoruz ve bu da yükseliş eğilimi gösteriyor. Dolayısıyla bu durağan olmayan bir seridir. Sabit seriler, zamanla değişen bir eğilim göstermemelidir.
  • İkinci resim açıkça sekansın eğilimini görmüyor, ancak sekansın değişimi zamanın bir fonksiyonudur. Daha önce bahsedildiği gibi, durağan bir dizinin varyansı sabit olmalıdır.
  • Üçüncü resme tekrar bakıldığında, zaman arttıkça dizi yayıldıktan sonra yakınlaşır, bu da kovaryansın zamanın bir fonksiyonu olduğu anlamına gelir.

Yukarıdaki üç örneğin tümü durağan olmayan zaman serileridir. Şimdi dördüncü resme bakın:

Bu şekilde, ortalama, varyans ve kovaryans, sabit bir zaman serisi olan sabitlerdir.

Bir daha düşünün, yukarıdaki resimlerden hangisi geleceği daha kolay tahmin ediyor? Dördüncü resim, değil mi? Çoğu istatistiksel model, etkili ve doğru tahminler yapmak için dizinin sabit olmasını gerektirir.

Bu nedenle, genel olarak, durağan bir zaman serisi, zaman değişikliklerine bağlı olmayan bir zaman serisidir (yani, ortalama, varyans ve kovaryans zamanla değişmez). Bir sonraki bölümde, belirli bir dizinin durağan olup olmadığını tespit etmek için çeşitli yöntemler tanıtacağız.

2. Verileri yükleyin

Bu bölümde ve sonraki bölümlerde, zaman serisi verilerinin durağanlığını tespit etmek için yöntemler ve durağan olmayan dizilerle nasıl başa çıkılacağı anlatılacaktır. Bu makale aynı zamanda ilgili Python kodunu da sağlar. Makalede kullanılan veri setini indirmek için AirPassengers adresine gidebilirsiniz.

Veri setini analiz etmeye devam etmeden önce, önce verileri yükleyin ve ön işlemden geçirin.

Görünüşe göre devam edebiliriz!

3. Stabiliteyi test etme yöntemleri

Bir sonraki adım, verilen dizinin durağan olup olmadığını belirlemek ve buna göre onunla ilgilenmektir. Bu bölüm, dizinin durağan olup olmadığını tespit etmek için bu yöntemleri kullanan bazı yaygın yöntemleri tanıtacaktır.

Görsel inceleme

Önceki bölümde kullandığımız grafiğe bir göz atın. Serinin ortalamasının ve varyansının zaman içinde değişip değişmediğini belirlemek için yalnızca grafiği görsel olarak incelemeniz gerekir. Benzer şekilde, veri grafikleri çizerek, dizinin özelliklerinin zaman içinde değişip değişmediğini belirleyebilirsiniz.

Açıkçası, çizim yaparak dizinin eğilimini (değişimin ortalama değeri) görebilirsiniz, ancak bu görsel inceleme yöntemiyle elde edilen sonuçlar yanlış olabilir. Gözlemleri doğrulamak için bazı istatistiksel test yöntemlerini kullanmak en iyisidir.

İstatistiksel test

Görsel testler yerine istatistiksel testler kullanılabilir: birim kök durağanlık testleri gibi. Belirli bir dizi birim kök tablo adlarının istatistiksel özellikleri (ortalama, varyans ve kovaryans), sabit bir zaman serisinin ön koşulu olan zaman sabitleri değildir. İşte matematiksel açıklaması:

Bir zaman serimiz olduğunu varsayalım:

Burada yt, t zamanındaki veri değeri ve t, hata terimidir. Yt'yi hesaplamak için yt-1 değerini kullanmanız gerekir, yani:

Tüm gözlemler kullanılırsa, yt'nin değeri şöyle olacaktır:

Yukarıdaki denklemde a'nın değerinin 1 (birim) olduğunu varsayarsak, tahmin edilen değer yt-n'nin toplamına ve tn'den t'ye tüm hatalara eşit olacaktır, bu da varyansın zamanla artacağı anlamına gelir. Sıradaki birim kökü. Hepimizin bildiği gibi, durağan bir zaman serisinin varyansı zamanın bir fonksiyonu olamaz. Birim kök testi, a = 1 değerini kontrol ederek dizide bir birim kökü olup olmadığını kontrol eder. Aşağıdakiler en yaygın kullanılan iki birim kök sabit algılama yöntemidir:

ADF (Ek Dickey Fuller testi) Dickey Fuller testi, en popüler istatistiksel testlerden biridir. Serideki birim kökün varlığını belirlemek ve dolayısıyla serinin durağan olup olmadığını anlamamıza yardımcı olmak için kullanılabilir. Bu testin boş ve alternatif hipotezi şunlardır:

Dickey Fuller testi en popüler istatistiksel test yöntemlerinden biridir.Sekansta birim köklerin varlığını belirlemek için kullanılabilir, böylece dizinin durağan olup olmadığını belirlemeye yardımcı olur. Bu testin boş hipotezi ve alternatif hipotezi aşağıdaki gibidir:

Sıfır hipotezi: Dizinin bir birim kökü vardır (a = 1 değeri)

Alternatif hipotez: Dizinin birim kökü yoktur.

Boş hipotez reddedilemezse, dizi durağan değildir, bu da dizinin doğrusal veya farklı olarak durağan olabileceği anlamına gelir (sonraki bölümde farklı olarak durağan).

Python kodu:

ADF inceleme sonuçları: ADF testinin istatistikleri% 1, p değeri% 5, kritik değer% 10 ve güven aralığı% 10'dur. Bu sıra için test sonuçlarımız aşağıdaki gibidir:

Durağanlık testi: Test istatistiği kritik değerden düşükse, sıfır hipotezini reddedebiliriz (yani, seri durağandır). Test istatistiği kritik değerden büyük olduğunda, sıfır hipotezi reddedilemez (bu, serinin durağan olmadığı anlamına gelir).

Yukarıdaki örnekte, test istatistiği > Serinin sabit olmadığı anlamına gelen kritik değer. Bu, görsel incelemede ilk olarak gözlemlediğimiz sonuçları doğrular.

KPSS (Kovatkovs-Kifilip Smidt-Shin) testi KPSS testi, zaman serilerinin durağanlığını kontrol etmek için kullanılan başka bir istatistiksel testtir (Dickey-Fowler testinden daha düşük) yöntem. KPSS testinin boş hipotezi ve alternatif hipotezi, genellikle kafa karışıklığına neden olan ADF testinin boş hipotezine ve alternatif hipotezine zıttır.

KPSS testinin yazarı, sıfır hipotezini durağan bir eğilim olarak ve alternatif hipotezi bir birim kök dizisi olarak tanımlar. Bir sonraki bölümde trend istikrarı hakkında daha fazla bilgi edineceğiz. Şimdi KPSS denetiminin uygulanmasına bir göz atalım ve KPSS denetiminin sonuçlarını görelim.

Sıfır hipotezi: Sıra trend sabittir.

Alternatif hipotez: Sıranın bir birim kökü vardır (sıra durağan değildir).

Python kodu:

KPSS denetim sonuçları: KPSS test-test istatistikleri, p-değerleri, kritik değerler ve güven aralıkları sırasıyla% 1,% 2,5,% 5 ve% 10'dur. Hava yolcusu veri setinin test sonuçları aşağıdaki gibidir:

Durağanlık testi: Test istatistiği kritik değerden büyükse, sıfır hipotezini reddedin (seri sabit değildir). Test istatistiği kritik değerden düşükse, sıfır hipotezi reddedilemez (seri durağandır). Hava yolcusu veri seti için tüm güven aralıklarında test istatistiğinin değeri kritik değerden büyük olduğundan serinin durağan olmadığı söylenebilir.

Bir zaman serisi veri seti için bir model hazırlamadan önce, genellikle aynı anda iki test gerçekleştirilir. Bir keresinde, bu iki test birbiriyle çelişen sonuçlar gösterdi: Test sonuçlarından biri serinin sabit olduğunu, diğeri ise serinin durağan olmadığını gösterdi! Neler olduğunu anlamaya çalışırken saatlerce kafam karıştı. Daha sonra bir sekansın birçok durağanlık türü olduğunu öğrendim.

Özetlemek gerekirse, ADF testi, doğrusal sabit veya diferansiyel durağan alternatif hipotezine sahipken, KPSS testi, dizinin durağan olan eğilimini tanımlamak içindir.

4. Stabilite türleri

Farklı sabit türlerini anlayarak yukarıdaki testin sonuçlarını açıklayın.

  • Kesinlikle kararlı: Kesinlikle durağan seriler, durağan süreçlerin matematiksel tanımını karşılar. Kesin olarak durağan dizilerin ortalaması, varyansı ve kovaryansı, zamanın işlevleri değildir. Amacımız durağan olmayan bir diziyi tam anlamıyla durağan bir diziye dönüştürmek ve ardından tahmin etmektir.
  • Trend istikrarlıdır: Birim kökü olmayan ancak bir eğilim gösteren serilere trend durağan seriler denir. Eğilim kaldırıldıktan sonra ortaya çıkan sıra kesinlikle durağan olacaktır. Birim köklerin yokluğunda, KPSS tespiti diziyi durağan olarak sınıflandırır. Bu, dizinin kesinlikle durağan veya eğilim durağan olabileceği anlamına gelir.
  • Diferansiyel sabit: Fark, zaman serilerini tamamen durağan bir zaman serisine dönüştürebilir. ADF testi aynı zamanda fark durağanlık testi olarak da adlandırılır.

İki testi uygulamak her zaman daha iyidir.İki testi geçtikten sonra serinin durağan olup olmadığını belirleyebilirsiniz. Şimdi, iki sabit testi uyguladıktan sonra olası sonuçlara bir göz atalım:

  • Sonuç 1: Her iki test de serinin durağan olmadığı sonucuna varmıştır. > Sıra sabit değil
  • Sonuç 2: Her iki test de serinin sabit olduğu sonucuna varmıştır. > Sıra durağan
  • Sonuç 3: KPSS = sabit; ADF = sabit değil > Trend sabittir ve trend kaldırıldıktan sonra sıra kesinlikle stabildir
  • Sonuç 4: KPSS = sabit değil; ADF = sabit- > Fark sabittir ve sıra, farkı kullanarak kararlı olabilir.

5. Zaman serilerinin stabilizasyonu

Durağanlık kavramına ve farklı türlerine aşina olduktan sonra, sıra daha sonra düzleştirilebilir. Bir zaman serisi tahmin modeli oluşturmak için, önce durağan olmayan herhangi bir seriyi sabit bir seriye dönüştürmeniz gerektiğini unutmayın.

Farklılaşma

Bu yöntemde, sıradaki ardışık maddeler arasındaki fark hesaplanır. Fark operasyonu genellikle ortalamadaki değişikliği ortadan kaldırmak için yapılır. Matematiksel açıdan, fark şu şekilde yazılabilir:

yt '= yt - y (t-1)

Yt, t zamanındaki değerdir.

Sıra farklılaştırıldıktan sonra sonuç grafiğe dökülür:

Mevsimsel fark

Mevsimsel farkta, ardışık değerler arasındaki fark hesaplanmaz, ancak gözlemlenen değer ile aynı mevsimdeki önceki gözlem arasındaki fark hesaplanır. Örneğin, Pazartesi günkü gözlem değeri bir önceki Pazartesi günkü gözlem değerinden çıkarılacaktır. Matematiksel açıdan şu şekilde yazılabilir:

yt '= yt - y (t-n)

Dönüştürme

Dönüşüm, varyansı sabit olmayan serileri yumuşatmak için kullanılır. Yaygın olarak kullanılan dönüştürme yöntemleri arasında güç dönüşümü, karekök dönüşümü ve logaritmik dönüşüm bulunur. Uçak yolcu veri setinin hızlı logaritmik dönüşümü ve farkı:

Bu grafiğin önceki grafiğe göre büyük bir gelişmeye sahip olduğu görülmektedir. Bu dizide karekök veya kuvvet dönüşümü gerçekleştirerek, daha iyi bir sonuç alıp almadığınıza bakın. Bulgularınızı aşağıdaki yorumlarda paylaşmaya hoş geldiniz!

Son not

Bu makale, bir zaman serisinin durağanlığını test etmenin farklı yöntemlerini tanıtmaktadır. Ancak burada bitmiyor Bir sonraki adım, ortaya çıkan diziye bir tahmin modeli uygulamaktır. Böyle bir model oluşturmak için şu makaleye başvurabilirsiniz: Başlangıç Kılavuzu Zaman Serisi Tahmini (Başlangıç Kılavuzu Zaman Serisi Tahmini).

Bu makale ile ilgili herhangi bir sorunuz veya geri bildiriminiz varsa aşağıdaki yorumlar bölümünden benimle iletişime geçebilirsiniz.

Bu makaleyi Analytics Vidhya'nın Android uygulamasında da okuyabilirsiniz.

Yazar hakkında: Ashwaya Singh

Aishwarya Singh

Veri bilimi ve yapay zekanın sonsuz dünyasını keşfetmeye istekli bir okuyucu. ML (makine öğrenimi) ve AI'nın (yapay zeka) sonsuz uygulamalarından etkilenerek, veri bilimi alanında öğrenmeye, keşfetmeye ve keşfetmeye hevesliyim.

Orijinal bağlantı:

https://www.analyticsvidhya.com/blog/2018/09/non-stationary-time-series-python/

Orjinal başlık:

Python'da Durağan Olmayan Zaman Serilerini Kullanmaya Nazik Bir Giriş

Çevirmen Profili

Chen Zhiyan, Pekin Jiaotong Üniversitesi'nden iletişim ve kontrol mühendisliği alanında yüksek lisans derecesi ile mezun olmuştur. Great Wall Computer Software and System Company'de mühendis ve Datang Microelectronics'te mühendis olarak hizmet vermiştir. Şu anda Beijing Wuyichaoqun Technology Co., Ltd.'nin teknik destekçisidir. Şu anda akıllı çeviri öğretim sistemlerinin işletimi ve bakımı ile uğraşmaktadır ve yapay zeka derin öğrenme ve doğal dil işleme (NLP) konusunda belirli deneyimler edinmiştir. Boş zamanlarımda çeviri oluşturmayı seviyorum. Başlıca çeviri çalışmaları arasında şunlar yer alıyor: IEC-ISO 7816, Irak Petrol Mühendisliği Projesi, Yeni Mali İşler Beyannamesi, vb. Çince-İngilizce çalışması "Yeni Mali İşler Bildirgesi" resmi olarak GLOBAL TIMES'te yayınlandı. Sizinle iletişim kurmak, paylaşmak ve birlikte ilerleme kaydetmek umuduyla boş zamanımı THU Data Pie platformundaki çeviri gönüllüleri grubuna katılmak için kullanabilir miyim

- Bitiş -

Tsinghua-Qingdao Veri Bilimi Enstitüsü'nün resmi WeChat kamu platformunu takip edin " THU Veri Pastası "Ve kız kardeş numarası" Veri Pastası THU "Daha fazla ders avantajı ve kaliteli içerik elde edin.

Tianshan No.5 Ortaokulu, futbol oynayan çocukların çim gibi büyümesine izin ver
önceki
Büyük üreticiler kadın tüketici grupları için rekabet ediyor, küçük şişeler şarap bu yılki rom partisinin kahramanı oluyor
Sonraki
Luqiao Chaotian, bir aile, kırsal kesimde sağlıklı yoksulluğun hafifletilmesi
AI hype aşırı ısındı, ürünler nerede? Dünyanın en iyi mikro görüntüleme teknolojisi sağlayıcısı ile röportaj
IQiyi Masked AI: Baraj insanların içinden geçer, idoller kalplerinde oturur
Hollanda futbolu çatışması! Hakem kalecinin başının arkasına ağır bir yumruk attı ve ambulans tedavi için olay yerine geldi.
Arsa yeniden yükseltildi! Havlu kardeşim gözyaşlarına boğuldu Netease Yanxuan: Bana "yalancı" diyorsun, ben sadece bazı gerçekleri söylüyorum
Yine seksi fotoğraflar! Luneng Fengbanın yeni sezondaki olağanüstü performansı, arkasındaki kadından ayrılamaz.
Röportaj | Kai-Fu Lee: İnsanoğlu, Pandora'nın kutusunu açtı ve AI değişikliklerini engellemek sadece boşuna olacak
Oyundaki en düşük puan! Barselona'nın en zayıf halkası havaya uçtu ve seyircinin uyurgezerliği bir felaketti!
Sözlü Tarih · Sichuan Zhuqin Xie Huiren Kesinlikle Bambu Piyano Şarkı Şarkı Söylemek için Gitar Eşliğinde Bale Dansı
"Çinliler boktan" İtalyan markası DG Çin'i küçük düşürdü ve ulusal boykotu tetikledi!
DJI, tarihin en küçük drone'u olan Spark'ı piyasaya sürdü, selfielerin kalkış ve inişi, jest tanımaya dayanıyor
Grand Slam! Tsinghua öğrenci süper bilgisayar takımı, uluslararası üniversite öğrencisi süper bilgisayar yarışmasının şampiyonluğunu kazandı
To Top