Yazar: AISHWARYA SINGH
Çeviri: Chen Zhiyan
Redaksiyon: Ding Nanya
Bu makale toplam 3400 kelimedir, 10+ okunması önerilir. dakika.
Bu makale ARIMA kavramını tanıtır ve sizi Python ve R'de uygulamak için bir veri seti eğitmeye götürür.
GirişŞimdi bir göreviniz olduğunu hayal edin: mevcut geçmiş verilere dayanarak yeni nesil iPhone'un fiyatını tahmin edin Mevcut özellikler, üç aylık satışları, aylık harcamaları ve Apple'ın bilançosundaki bir dizi içeriği içerir. Bir veri bilimci olarak, bu problemi ne tür bir problem olarak sınıflandırırsınız? Elbette zaman serisi modellemedir.
Zaman serisi tahmini, ürün satışlarını tahmin etmekten hane halkı elektrik tüketimini tahmin etmeye kadar, herhangi bir veri bilimcisinin yeterli olmasa bile bilmesi gereken temel becerilerden biridir. Bu makalede tartışacağımız zaman serisi tahmini için birçok farklı yöntemi kullanabilirsiniz. Otomatik ARIMA En etkili yöntemlerden biridir.
Önce ARIMA kavramını anlayalım ve sonra Auto ARIMA konusuna girelim. Konsepti pekiştirmek için bir veri seti kullanacağız ve bunu Python ve R'de uygulayacağız.
içindekiler1. Zaman serisi nedir?
İkincisi, zaman serisi tahmin yöntemi
3. ARIMA'ya Giriş
Dört, ARIMA uygulama adımı
5. Neden Auto ARIMA'ya ihtiyacım var?
Altı, vakayı gerçekleştirmek için Auto ARIMA'yı kullanın (hava yolcusu veri seti)
7. Auto ARIMA için parametreler nasıl seçilir?
Zaman serilerine ve yaygın yöntemlerine aşinaysanız (hareketli ortalama, üstel yumuşatma ve ARIMA gibi), doğrudan 4. bölüme geçebilirsiniz. Yeni başlayanlar için, lütfen zaman serilerine ve çeşitli tahmin yöntemlerine kısa bir giriş içeren aşağıdaki bölümle başlayın.
1. Zaman serisi nedir?Zaman serisi verileriyle nasıl başa çıkılacağını öğrenmeden önce, bir zaman serisinin ne olduğunu ve diğer veri türlerinden nasıl farklı olduğunu anlamalıyız. Bir zaman serisinin resmi tanımı şu şekildedir: aynı zaman aralığında ölçülen bir dizi veri noktasıdır. .
Kısacası, bir zaman serisi, sabit bir zaman aralığında kaydedilen belirli bir değeri ifade eder.Zaman aralığı, saatlik, günlük, haftalık, 10 günde bir vb. Olabilir. Zaman serisinin özelliği, serideki her veri noktasının önceki veri noktasıyla ilişkili olmasıdır. Bunu daha net anlamak için aşağıdaki örnekleri kullanıyoruz.
Artık sezginize sahip olduğunuza göre, ilk örnek basit bir regresyon problemidir ve ikinci örnek bir zaman serisi problemidir. Buradaki zaman serisi problemi doğrusal regresyonla da çözülebilmesine rağmen, bu en iyi yöntem değildir çünkü bu değerler ile tüm göreli geçmiş değerler arasındaki ilişkiyi göz ardı eder. Aşağıda, zaman serisi problemlerini çözmek için bazı yaygın yöntemlere bir göz atalım.
İkincisi, zaman serisi tahmin yöntemiZaman serisi tahmini için birçok yöntem vardır ve bunları bu bölümde kısaca tanıtacağız. Aşağıda belirtilen tüm yöntemlerin ayrıntılı açıklaması ve Python kodu aşağıda bulunabilir:
Yedi zaman serisi tahmin yöntemi (Python koduyla): https://www.analyticsvidhya.com/blog/2018/02/time-series-forecasting-methods/1. Saf tahmin yöntemi: Bu tahmin yönteminde, yeni veri noktasının tahmin edilen değeri, önceki veri noktasının değerine eşittir. Sonuç, paralel bir çizgi olacaktır, çünkü tüm yeni tahmin edilen değerler önceki değerleri kullanır.
2. Basit ortalama yöntemi: Sonraki değeri, önceki tüm değerlerin ortalaması olarak ele alın. Bu tahmin yöntemi "naif tahmin yönteminden" daha iyidir çünkü sonucu paralel bir çizgi olmayacaktır. Ancak basit ortalama yönteminde, tüm geçmiş değerler hesaba katılır ve bu değerlerin hepsi yararlı olmayabilir. Örneğin, bugünün sıcaklığını tahmin etmeniz istendiğinde, bir ay önceki sıcaklığı değil, yalnızca önceki yedi günün sıcaklığını dikkate almanız gerekir.
3. Hareketli ortalama yöntemi: Bu, ilk iki yöntemde bir gelişmedir. Önceki tüm puanların ortalamasını almak yerine, tahmin edilen değer olarak önceki n puanın ortalaması kullanılır.
4. Ağırlıklı hareketli ortalama yöntemi: Ağırlıklı hareketli ortalama, ağırlıklı hareketli ortalamadır ve önceki n değerlerine farklı ağırlıklar verilmiştir.
5. Basit üstel yumuşatma yöntemi: Bu yöntemde, daha yeni gözlemlere daha fazla ağırlık verilir ve uzak geçmişten gelen gözlemlere daha az ağırlık verilir.
6. Holt (Holt) doğrusal trend modeli: Bu yöntem, veri setinin eğilimini dikkate alır. Sözde eğilim, verilerin artan veya azalan doğasını ifade eder. Otel rezervasyonu sayısının her yıl arttığını varsayarsak, rezervasyon sayısının da artış eğilimi gösterdiğini söyleyebiliriz. Bu yöntemin tahmin işlevi, değer ve eğilimin bir işlevidir.
7. Holt Winters yöntemi: Algoritma, verilerin hem eğilimini hem de mevsimselliğini dikkate alır. Örneğin, bir otel için rezervasyon sayısı hafta sonları yüksek, hafta içi düşük ve her yıl artıyor; bu nedenle, haftalık mevsimsel ve artan bir eğilim var.
8. ARIMA: ARIMA, çok popüler bir zaman serisi modelleme yöntemidir. Veri noktaları arasındaki korelasyonu açıklar ve değerler arasındaki farkı dikkate alır. ARIMA'nın geliştirilmiş versiyonu SARIMA'dır (veya mevsimsel ARIMA). Bir sonraki bölümde ARIMA'yı daha detaylı tartışacağız.
3. ARIMA'ya GirişBu bölümde, Auto Arima'yı anlamanıza yardımcı olacak ARIMA'yı kısaca tanıtacağız. "Tam Zaman Serisi Eğitimi" makalesi, ARIMA, (p, q, d) parametreleri, ACF, PACF diyagramları ve özel uygulamaların ayrıntılı bir açıklamasını içerir.
ARIMA çok popüler bir zaman serisi tahmin yöntemidir ve Otomatik Gerilimli Entegre Hareketli Ortalamaların kısaltmasıdır. ARIMA modeli aşağıdaki varsayımlara dayanmaktadır:
ARIMA'nın üç bileşeni vardır: AR (otoregresif terim), I (diferansiyel terim) ve MA (hareketli ortalama terim). Her bileşeni açıklayalım:
ARIMA modelini uygulamaya yönelik genel adımlar aşağıdaki gibidir:
1. Verileri yükleyin: Bir model oluşturmanın ilk adımı elbette veri setini yüklemektir. 2. Ön işlem: Veri kümesine göre ön işleme adımlarını tanımlayın. Zaman damgaları oluşturma, tarih / saat sütunlarını d türüne dönüştürme ve diziyi tek değişkenli yapma dahil. 3. Sıralı yumuşatma: Varsayımları yerine getirmek için dizinin kararlı olması gerekir. Bu, dizinin durağanlığını kontrol etmeyi ve gerekli dönüşümleri gerçekleştirmeyi içerir. 4. d'nin değerini belirleyin: Sırayı durağan hale getirmek için, fark işleminin gerçekleştirilme sayısı d değeri olarak belirlenecektir. 5. ACF ve PACF diyagramları oluşturun: Bu, ARIMA'nın gerçekleştirilmesindeki en önemli adımdır. ARIMA modelinin girdi parametrelerini belirlemek için ACF PACF diyagramını kullanın. 6. p değerini ve q değerini belirleyin: Önceki adımdaki ACF ve PACF diyagramlarından p ve q değerlerini okuyun. 7. ARIMA modelini takın: Önceki adımlarda hesapladığımız verileri ve parametre değerlerini ARIMA modeline uyacak şekilde kullanın. 8. Doğrulama kümesiyle ilgili tahminlerde bulunun: Gelecekteki değerleri tahmin edin. 9. RMSE'yi hesaplayın: RMSE değerini kontrol ederek modelin performansını kontrol edin ve doğrulama setindeki tahmin edilen ve gerçek değerlerle RMSE değerini kontrol edin. 5. Neden Auto ARIMA'ya ihtiyacımız var?ARIMA, zaman serisi verilerini tahmin etmek için çok güçlü bir model olmasına rağmen, veri hazırlama ve parametre ayarlama süreci çok zaman alır. ARIMA'yı uygulamadan önce, p ve q değerlerini belirlemek için verileri sabit tutmanız ve daha önce tartışılan ACF ve PACF diyagramlarını kullanmanız gerekir. Auto ARIMA tüm görevi çok basit hale getirir , Çünkü önceki bölümde bahsettiğimiz 3-6 arasındaki adımları kaldırır. AUTO ARIMA'yı uygulamak için izlenmesi gereken adımlar şunlardır:
1. Verileri yükleyin: Bu adım, ARIMA uygulama adımı 1 ile aynıdır. Verileri not defterine yükleyin. 2. Verileri ön işleyin: Giriş tek değişkenli olmalıdır, bu nedenle diğer sütunları silin. 3. Otomatik ARIMA'yı takın: Modeli tek değişkenli bir sıraya oturtun. 4. Doğrulama kümesiyle ilgili tahminlerde bulunun: Doğrulama kümesiyle ilgili tahminlerde bulunun. 5. RMSE'yi hesaplayın: Doğrulama setindeki tahmini değer ve gerçek değerle RMSE değerini kontrol edin.Gördüğünüz gibi, p ve q seçme adımını tamamen atladık. Ah! Rahat bir nefes alabilir miyim? Bir sonraki bölümde, varsayımsal bir veri seti kullanarak Auto ARIMA'yı uygulayacağız.
Altı, Python ve R uygulamasıUluslararası Hava Yolcu Veri Kümesini kullanacağız.Bu veri seti, aylık toplam yolcu sayısını (bin olarak) içerir.Ay ve yolcu sayısı olmak üzere iki sütunu vardır. Veri setini aşağıdaki bağlantıdan alabilirsiniz:
https://datamarket.com/data/set/22u3/international-airline-passengers-monthly-totals-in-thousands-jan-49-dec-60#!ds=22u3display=lineİşte aynı problem için R kodu:
7. Auto ARIMA için en iyi parametreler nasıl seçilirYukarıdaki kodda, p, q, d kombinasyonunu seçmek yerine, modele uyması için sadece .efit () komutunu kullanmamız gerekir, ancak model bu parametrelerin en iyi kombinasyonunu nasıl belirler? Auto ARIMA, parametrelerin en iyi kombinasyonunu belirlemek için AIC ve BIC değerlerini (kodda görebileceğiniz gibi) üretir. AIC (Akaike Information Criteria) ve BIC (Bayesian Information Criteria) değerleri, modelleri karşılaştırmak için kullanılan değerlendiricilerdir. Bu değerler ne kadar düşükse, model o kadar iyidir.
AIC ve BIC'nin arkasındaki matematikle ilgileniyorsanız, lütfen aşağıdaki bağlantıyı ziyaret edin:
Auto ARIMA'nın zaman serisi tahmini yapmanın en kolay yolu olduğunu buldum. Bir kısayolu bilmek iyidir, ancak arkasındaki matematiğe aşina olmak da önemlidir. Bu makalede, ARIMA'nın nasıl çalıştığının ayrıntılarını atladım, ancak lütfen bu makalede verilen bağlantılı makaleyi okuduğunuzdan emin olun. Size kolaylık sağlamak için, işte bağlantı tekrar:
Bu kursta alıştırma sorusunu yapmanızı öneririm: "Zaman Serileri Gerçek Savaş". Ayrıca eğitim kurslarımıza katılabilir ve gerçek savaşa katılabilirsiniz. "Zaman Serisi Tahmini" kursu size öncü bir başlangıç sağlar.
İyi şanslar, lütfen geri bildiriminizi sağlayın ve aşağıdaki yorumlar bölümünde sorular sorun.
Orjinal başlık:
Python ve R'de Auto ARIMA kullanarak Yüksek Performanslı Zaman Serisi Modelleri oluşturun
Orijinal bağlantı:
https://www.analyticsvidhya.com/blog/2018/08/auto-arima-time-series-modeling-python-r/
Çevirmen Profili
Chen Zhiyan, Pekin Jiaotong Üniversitesi'nden iletişim ve kontrol mühendisliği bölümünden mezun oldu ve mühendislik alanında yüksek lisans derecesi aldı. Great Wall Computer Software and System Company'de mühendis ve Datang Microelectronics'te mühendis olarak görev yaptı. Ş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 Durum Beyannamesi" resmi olarak GLOBAL TIMES'te yayınlandı. Sizinle iletişim kurmayı, paylaşmayı ve birlikte ilerleme kaydetmeyi umarak THU Data Pie platformundaki çeviri gönüllüleri grubuna katılmak için boş zamanımı 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.