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.
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:
1. Giriş
2. Verileri yükleyin
3. Stabiliteyi test etme yöntemleri
4. Stabilite türleri
5. Zaman serisi yumuşatma
"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:
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.
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!
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.
Farklı sabit türlerini anlayarak yukarıdaki testin sonuçlarını açıklayın.
İ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:
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 SinghVeri 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.