Klasik bir zaman serisi tahmin görevinde, modelleme sırasındaki ilk standart karar, ağaç tabanlı algoritmalar veya derin öğrenme teknikleri dahil olmak üzere istatistiksel yöntemlerin veya diğer saf makine öğrenimi modellerinin benimsenmesini içerir. Seçim, yürütmekte olduğumuz sorunla güçlü bir şekilde ilgilidir, ancak genel olarak: Gelecek yalnızca geçmişle ilişkili olduğunda, otoregresif bir sorunla karşılaştığımızda istatistiksel teknikler yeterlidir; Makine öğrenimi modelleri, alacalı veri kaynaklarını birleştirmenin de mümkün olduğu daha karmaşık durumlar için uygundur.
Bu yazıda, istatistiksel yöntemin deneyimden öğrenme yeteneğini derin öğrenme tekniklerinin genelleştirilmesiyle birleştirmeye çalışıyorum. Görevimiz çok değişkenli bir zaman serisi tahmin problemidir, bu nedenle ARIMA'nın VAR olarak bilinen çok değişkenli uzantısını ve basit bir LSTM yapısını kullanıyoruz. Topluluk modeli üretmiyoruz; VAR'ın geçmişi filtreleme ve inceleme yeteneğini kullanıyoruz ve geleceği tahmin etmede sinir ağımıza fayda sağlıyoruz.
İş akışımız şu şekilde özetlenebilir:
Veri bizim deney için saatlik bir İtalyan kenti önemli ölçüde kirlenmiş alanda alanda bulunan bir Hava Kalitesi Multisensor Cihazı gömülü metal oksit kimyasal sensörler, gelen yanıtları ortalama içerir . Veriler bir yıl süreyle kaydedildi ve CO, Metanik Olmayan Hidrokarbonlar, Benzen, Toplam Azot Oksitler (NOx) ve Nitrojen Dioksit (NO2) için saatlik ortalamalı zemin gerçeği konsantrasyonlarını içerir. Ayrıca, hava koşulları gibi dış değişkenler sağlanır. İyi miktarda NaN mevcuttur, bu nedenle devam etmeden önce doğrusal bir interpolasyon gereklidir (tren verilerinde% 50'den fazla NaN içeren seriler hariç tutulur).
ARIMA ile gelecek için tahminler yapmak için her değişkenin geçmiş değerlerini kullanıyoruz. Elimizde birden fazla zaman serimiz olduğunda, onların ilişkilerinden de bilgi alabiliriz, bu şekilde VAR, ARIMA'nın çok değişkenli bir genellemesidir çünkü birkaç girdi arasındaki ilişkiyi anlayabilir ve kullanabilir. Bu, verilerin dinamik davranışını açıklamak için kullanışlıdır ve ayrıca daha iyi tahmin sonuçları sağlar.
Bir VAR modelini doğru bir şekilde geliştirmek için, bir ARIMA'yı takarken karşılaşılan aynı klasik varsayımların karşılanması gerekir. Durağanlığı vermemiz ve otokorelasyon davranışını kaldırmamız gerekiyor. Bu ön koşullar, istikrarlı bir model geliştirmemizi sağlar. Zaman serilerimiz ortalama olarak durağandır, ancak otokorelasyon grafiklerinde kilitlenen bazı ilgi modelleri ortaya çıkmaktadır. Tüm serilerde periyodik haftalık bir kalıp mevcuttur. Bunları kaldırmak için bir farklılaştırma gereklidir (7x24 dönemler).
Bu ön kontrollerden sonra, VAR'ımızı takmaya hazırız. Mükemmel gecikme sırası seçimi AIC / BIC kriteri ile otomatik olarak yapılır. Seçimi AIC ile yürütüyoruz: tek yapmamız gereken, modelimizi yinelemeli olarak uydurmak ve gecikme sırasını değiştirmek ve AIC puanına açıklama eklemek ( en düşük olan daha iyi ). Bu işlem sadece tren verilerimiz dikkate alınarak gerçekleştirilebilir. Bizim durumumuzda, 28 en iyi gecikme sırasıdır.
İyi donatılmış bir VAR ile bitirdik. 7x24 farkla, diferansiyel veriler üzerinde eğitildiğini unutmayın. Bu nedenle, modelimiz önceki 24x7 dönemlerdeki varyasyonları tahmin etmek için eğitilmiştir, yani Pazartesi günü öğleden sonra 12: 00'de serimizin varyasyonlarını önceki hafta Pazartesi öğleden sonra 12:00 itibarıyla tahmin ediyoruz. Tahminlerin değerlerini mutlak terimlerle elde etmek bizim görevimizdir. Şu anda bu bizim analizimiz için gerekli değil, ancak not defterinde, farklı verilerden başlayarak (farklılaşma sırası ne olursa olsun) gelecekteki veriler için tahmin almak için bir yardımcı program işlevi de sağlıyorum.
Şimdi kapsamımız, sinir ağımızın eğitimini geliştirmek için takılı VAR'ımızı kullanmaktır. VAR, çok değişkenli veri kaynağımızın çılgın değerleri ayarlayarak, anormal eğilimleri düzelterek ve NaN'leri uygun şekilde yeniden yapılandırarak dahili davranışını öğrendi. Tüm bu bilgi parçaları uygun değerlerde saklanır, eğitim prosedürü sırasında model tarafından manipüle edilen orijinal verilerin değiştirilmiş bir versiyonudur. Başka bir deyişle, bu değerleri orijinal trenin bir çeşit artırılmış veri kaynağı olarak görebiliriz.
Stratejimiz iki aşamalı bir eğitim prosedürünü uygulamayı içerir. VAR tarafından üretilen uygun değerleri kullanarak, elimizdeki tüm serilerin (çok değişkenli çıktı) bir adım önde tahmin edilmesi için LSTM modelimizi beslemeye başlıyoruz. Daha sonra eğitimi ham verilerle sonlandırıyoruz, bizim durumumuzda bunlar daha önce VAR'a uymak için kullandığımız diferansiyel verilerle aynı. LSTM ile harici veri kaynaklarını, örneğin hava koşullarını veya döngüsel olarak kodladığımız hafta içi, saatler ve aylar gibi bazı zaman özelliklerini de birleştirebiliriz.
Sinir ağımızın iki farklı ancak benzer veri kaynağından öğrenebileceğini ve test verilerimizde daha iyi performans gösterebileceğini umuyoruz. Yaklaşımımız kulağa harika geliyor ama bu 'bedava öğle yemeği' değil. Çok adımlı eğitim gerçekleştirirken Yıkıcı Unutma sorunuyla ilgilenmeliyiz . Yıkıcı unutma, birçok model ve algoritmanın karşılaştığı bir sorundur. Bir görev üzerinde eğitildikten sonra ikinci bir görev için eğitildiğinde, birçok makine öğrenimi modeli ilk görevin nasıl gerçekleştirileceğini "unutur". Bunun sinir ağları için ciddi bir sorun olduğuna inanılıyor.
Bu sıkıcı problemden kaçınmak için, tüm ağ yapısının performans açısından bir fayda sağlayacak şekilde uygun şekilde ayarlanması gerekir. Bu gözlemlerden, önceki eğitimimizin son bir bölümünü doğrulama olarak koruyoruz.
Teknik olarak ağ çok basit. Modelimize uyması için Keras'ın Zaman Serisi Jeneratörünü benimsiyoruz . Eğitim prosedürü, keras-hypetune kullanılarak gerçekleştirilir . Bu çerçeve, çok sezgisel bir şekilde sinir ağı yapılarının hiperparametre optimizasyonunu sağlar . Bazı parametre kombinasyonlarının rastgele aranmasını gerçekleştiriyoruz. Bu, ilgili üç eğitimin tümü için yapılır (ham verilere uygunluk ile sonuçlandırdığımız VAR uydurma değerlerine uyum ve doğrudan ham verilere standart uyum).
Sonunda, VAR'ın takılan değerleri üzerinde eğitilmiş modeli artı orijinal verileri ve yalnızca orijinal eğitim verileri üzerinde eğitilmiş aynı yapıyı karşılaştırabiliriz. Çıkış serimiz için MAE formundaki hatalar, iki eğitim adımını gerçekleştirdiğimizde daha düşüktür. 1 gecikme ile gerçek ve tahmin korelasyonu% 80'in altında tutulur (bu prosedür, geleceğin tahminlerinin tekrarlanan mevcut değerler olup olmadığını, yani yararlı bir tahmin olmadığını doğrulamak için iyi bir uygulamadır).
İşte test verileriyle ilgili bazı tahmin örnekleri:
Bu yazıda, geleceği tahmin etmek için eğitilmiş tekrarlayan bir sinir ağının performansını iyileştirmek için çok değişkenli bir zaman serisi görevi için VAR modeli tarafından öğrenilen bilgileri kullanmaya çalıştım. İki aşamalı bir eğitim prosedürü uyguladık, Yıkıcı Unutma sorunuyla mücadele ettik ve genel performanslarda bir iyileşme sağladık.
GITHUB REPO'YU KONTROL EDİN
İrtibatta kalın : Linkedin
REFERANSLAR
Gradyan Tabanlı Sinir Ağlarında Felaketli Unutmanın Ampirik Bir İncelemesi: Ian J. Goodfellow, Mehdi Mirza, Da Xiao, Aaron Courville, Yoshua Bengio
Yasal Uyarı: Bu makale yalnızca eğitim amaçlıdır. Kimseyi web sitelerini, özellikle de bu tür eylemlere karşı hüküm ve koşulları olabilecek web mülklerini kazımaya teşvik etmiyoruz.
Zeta Alpha'dan aylık ML makaleleri seçkisi: Ses oluşturma, Backprop'suz Gradyanlar, Uzmanların Karışımı, Çok Modluluk, Bilgi Alma ve daha fazlası. Mart ayı yapay zeka dünyasındaki gelişmelerle dolu olarak geldi: hemen arkamızda WSDM konferansı ve AAAI'nin de henüz sona ermiş olması gibi yayınlar ve konferanslar gelmeye devam ediyor.
MIT Seçim Laboratuvarı'nda yüksek lisans araştırmacısı ve doktora derecesi olan Jesse Clark tarafından yazılmıştır.
Oakland, CA'da halka açık verileri kullanarak hava kalitesini tahmin etmek Google ve EDF, Oakland'daki hava kirliliğini haritalama çalışmalarını yayınladığında, bu çalışmanın sonuçları büyük ilgi gördü. Yayınladıkları veriler, hava kalitesinin Doğu ve Batı Oakland'daki şehir bloklarına göre nasıl değiştiğini gösteren ilk veri kümelerinden biriydi.
Daniel Fleck ve David Lubert ile yazılmıştır Dizimizin ilk blogu, bir veri bilimi projesini uygun şekilde değerlendirmek için Net Şimdiki Değer (NPV), İç Getiri Oranı (IRR) ve Karlılık Endeksi'ni (PI) kullanmaya odaklanacaktır. Ayrıca, bir veri bilimi metodolojisinin kullanılmasının, bu aynı ekonomik ölçütlerin girdilerini daha yüksek kaliteli değerlendirmeler geliştirmek için nasıl daha da iyileştirebileceğini tartışacağız.
Öz bileşimi ve SVD için yararlı olan doğrusal cebir temel kavramını anlayın Bu makalede, öz ayrıştırma veya tekil değer ayrıştırma (SVD) gibi matris çarpanlara ayırma yöntemlerini anlamanın ilginç bir yolu olan temel kavramını öğreneceksiniz. Tanımlar Temel, vektör uzaylarını (vektör setleri) tanımlamak için kullanılan bir koordinat sistemidir.