Yazar hakkında daha fazla bilgi edinmek için tıklayın Maarit Widmann.
Eksiksiz bir zaman serisi analizi uygulaması, aşağıdaki adımları kapsar: Veri Bilim Zaman serisi verilerine erişimden dönüştürmeye, modellemeye, değerlendirmeye ve dağıtmaya kadar bir döngü. Ancak, zaman serisi verileri için bu adımlardaki belirli görevler, yatay kesit verileriyle karşılaştırıldığında farklılık gösterir. Örneğin, kesit verileri, bir nesnenin bir zaman noktasındaki anlık görüntüsü olarak toplanırken, zaman serisi verileri aynı nesneyi bir süre boyunca gözlemleyerek toplanır. Zaman serisi verilerindeki düzenli kalıpların kendi özel terminolojisi vardır ve zaman serilerini modellemeye geçmeden önce gerekli ön işlemeyi belirlerler. Zaman serileri birçok model tipiyle modellenebilir, ancak ARIMA modeli gibi belirli zaman serisi modelleri, gözlemler arasındaki zamansal yapıyı kullanır.
Bu yazıda, bir zaman serisi uygulaması oluşturma yolculuğunda en yaygın görevleri tanıtıyoruz. Son olarak, Analytics Platformunda örnek bir uygulama oluşturarak teoriyi uygulamaya koyduk.
Zaman Serilerine Erişme
Zaman serileri çeşitli kaynaklara ve uygulamalara sahiptir: talep tahmini için günlük satış verileri, uzun vadeli politik planlama için yıllık makroekonomik veriler, bir antrenman seansını analiz etmek için akıllı bir saatten sensör verileri ve daha fazlası. Tüm bu zaman serileri, örneğin ayrıntı düzeyi, düzenlilik ve temizlik açısından farklılık gösterir: Ülkemiz için bu yıl ve önümüzdeki 10 yıl için de bir GSYİH değerine sahip olduğumuzdan emin olabiliriz, ancak Akıllı saatimizin sensörü, herhangi bir egzersizde ve herhangi bir sıcaklıkta kararlı bir şekilde çalışır. Aynı zamanda, zaman serisi verilerinin düzenli aralıklarla mevcut olmaması, ancak yalnızca hastalık enfeksiyonları veya spontan müşteri ziyaretleri gibi rastgele olay noktalarından toplanabilmesi de olabilir. Tüm bu tür zaman serisi verilerinin ortak noktası, zaman içinde aynı kaynaktan toplanmış olmalarıdır.
Zaman Serilerinin Düzenlenmesi ve Temizlenmesi
Zaman serisi verilerine sahip olduğumuzda, bir sonraki adım, onu uygun bir ayrıntı düzeyinde, sürekli ve temiz olarak eşit aralıklı hale getirmektir. Gerekli görevler, verilerin orijinal şekline ve ayrıca bizim analytics amaç. Örneğin, bir ürünün bir haftalık promosyonunu planlıyorsak, bazı ürünlerin satışlarına ilişkin bir genel bakış elde etmek yerine daha ayrıntılı verilerle ilgilenebiliriz.
sınıflandırma
Zaman serilerinin zamana göre sıralanması gerekir. Verileri eğitim ve test setleri olarak ayırdığınızda, test/eğitim için yukarıdan/alttan veri alarak kayıtlar arasındaki zamansal yapıyı korumayı unutmayın. Verileriniz zaman damgası başına birden fazla kayıt içeriyorsa, bunları zaman damgasına göre toplamanız gerekir. Örneğin, günde birden fazla siparişiniz varsa ve günlük satışlarla ilgileniyorsanız, her gün için satışları toplamanız gerekir. Ayrıca, şu anda verilerde sahip olduğunuzdan farklı bir ayrıntı düzeyindeki zaman serileriyle ilgileniyorsanız (örneğin, günlük satışlar yerine aylık satışlar), verileri tercih edilen ayrıntı düzeyinde daha fazla toplayabilirsiniz.
Kayıp değerler
Bazı zaman damgaları eksikse, eşit aralıklı hale getirmek için zaman serilerini tanıtmanız gerekir. Bazen eksik kayıtlar zaman serisinin dinamiklerinin bir parçasıdır (örneğin, bir borsa Cuma günü kapanır ve Pazartesi günü açılır).
Verilere eksik zaman damgalarını eklediğinizde, karşılık gelen değerler elbette eksiktir. Bu eksik değerleri, örneğin doğrusal enterpolasyon veya hareketli ortalama değerleri ile ekleyebilirsiniz. Yine de, eksik değerleri atamak için en iyi tekniğin verilerdeki düzenli dinamiklere bağlı olduğunu unutmayın. Örneğin, günlük verilerde haftalık mevsimselliği incelerseniz ve bir Cumartesi gününe ait bir değer eksikse, son Cumartesi gününün değeri muhtemelen en iyi değiştirmedir. Eksik değerler, hafta sonları eksik borsa kapanış fiyatları gibi rastgele eksik değilse, bunları bu durumda 0 olan sabit bir değerle değiştirebilirsiniz. Öte yandan, eksik değerler rastgeleyse ve yeterince geçmişte meydana geliyorsa, verileri eksik değerden sonra kullanabilir ve eski verileri yok sayabilirsiniz.
Düzensiz Desenler
Hızlı dalgalanmaları ve aykırı değerleri ele almanın iyi bir yolu, verileri düzeltmektir. gibi birçok teknik kullanılabilir. hareketli ortalamalardır ve üstel yumuşatma. Ayrıca, bir kutu grafiğinin bıyıklarının dışında kalan değerleri kesmek verileri düzleştirir. Verilerdeki güçlü mevsimselliğin yaygın bir kutu grafiğine yol açabileceğini ve ardından aykırı değerleri tespit etmek için koşullu bir kutu grafiği kullanmanın daha iyi olduğunu unutmayın.
Ancak, bazen zaman serileri çok düzensiz bir fenomen gösteriyor! Böyle bir durumda, örneğin tüm süpermarketin satışları yerine sadece bir ürünün satışlarını göz önünde bulundurarak veya verileri kümeleyerek bir alt kümesini çıkararak zaman serisini daha düzenli hale getirmeye çalışabilirsiniz.
Zaman Serilerini Keşfetmek ve Dönüştürmek
Bu noktada elimizde görsel ve sayısal olarak keşfetmeye uygun şekilde zaman serisi verilerimiz bulunmaktadır. Farklı grafikler ve istatistikler, dinamiklerini daha iyi anlamak ve gelecekteki gelişimini tahmin etmek için kullanabileceğimiz zaman serilerindeki uzun ve kısa vadeli kalıpları ve zamansal ilişkileri ortaya koyuyor.
Zaman Serilerinin Görsel Keşfi
Zaman serilerini keşfetmek için temel çizim, zaman serisindeki olası bir yönü, düzenli ve düzensiz dalgalanmaları, aykırı değerleri, boşlukları veya dönüm noktalarını gösteren çizgi grafiğidir(Şekil 3). İçecek satışlarında yıllık mevsimsellik gibi zaman serinizde düzenli bir model gözlemlerseniz, her mevsimsel döngüyü (yıl) mevsimsel bir grafikte ayrı ayrı inceleyebilirsiniz(Şekil 3). Mevsimsel grafikte, örneğin, Temmuz'un bu yıl geçen yıla göre daha güçlü bir satış ayı olup olmadığını veya aylık satışların yıldan yıla artıp artmadığını kolayca görebilirsiniz.
Yaz aylarında ortalama satışların ne olduğu ve satışların her ay ne kadar ve hangi yönde değiştiği gibi mevsimlerde neler olduğuyla ilgileniyorsanız, bu tür dinamikleri koşullu bir kutu grafiğinde inceleyebilirsiniz(Şekil 3). Zaman serilerini keşfetmek için bir başka faydalı çizim de gecikme grafiğidir(Şekil 3). Gecikme grafiği, örneğin bugünkü satışlar ve önceki haftadaki satışlar gibi mevcut değerler ile geçmiş değerler arasındaki ilişkiyi gösterir.
Zaman Serilerinin Klasik Ayrışımı
Klasik ayrıştırma, yani zaman serisini trendine, mevsimselliklerine ve kalıntısına ayrıştırma, tahmin için iyi bir kıyaslama sağlar. Zaman serisinin kalan kısmı, artık, olması gerekiyordu sabit, ve örneğin bir ARIMA modeli tarafından tahmin edilebilir. Ancak, artık seri durağan değilse, birinci dereceden fark alma veya orijinal zaman serisinin log dönüşümü gibi bazı ek dönüşümlerin gerekli olabileceğini unutmayın.
İlk olarak, zaman serisi bir yön, bir eğilim gösteriyorsa, örneğin veriler aracılığıyla bir regresyon modeli uydurularak veya hareketli bir ortalama değeri hesaplanarak zaman serisinin eğilimi azaltılabilir.
İkinci olarak, zaman serisi düzenli bir dalgalanma gösteriyorsa – bir mevsimsellik – zaman serisi buna göre ayarlanabilir. Ana mevsimselliğin meydana geldiği gecikmeyi, zaman serisinin otokorelasyon grafiğinde bulabilirsiniz. Örneğin, 7. gecikmede bir zirve gözlemlerseniz ve günlük verileriniz varsa, verilerde haftalık mevsimsellik olacaktır. Mevsimsellik, ana artışın meydana geldiği gecikmedeki verilerin farkı alınarak ayarlanabilir. Verilerdeki ikinci mevsimselliği ayarlamak istiyorsanız, ayarlanan (farklı) zaman serisi için prosedürü tekrarlayarak yapabilirsiniz.
Son olarak, örneğin bir ARIMA modeli ile modellenmeye hazır durağan bir zaman serisine ulaştığınızda, örneğin, ile son bir kontrol yapabilirsiniz. Ljung kutusu testi durağanlık için.
Zaman Serilerinin Modellenmesi ve Değerlendirilmesi
Şimdi, zaman serisinin düzensiz dinamiklerini içeren kalıntı kısmını modellemeye geçiyoruz. Bunu ARIMA modelleri ile yapabiliriz, makine öğrenme modeller, sinir ağları ve bunların birçok varyasyonu. Durağan olduğu için genellikle zaman serisinin kalan kısmını bu modellerle modelleriz. Ancak, zaman serilerini ayrıştırmak her zaman gerekli değildir, çünkü örneğin mevsimsel ARIMA modeli gibi bazı modeller aynı zamanda durağan olmayan zaman serilerini modellemek için de çalışır.
Aşağıda, kullanım durumunuz için en iyisini seçebilmeniz için bu farklı modelleme tekniklerinin birkaç özelliğini, benzerliklerini ve farklılıklarını topluyoruz. Ayrıca birden fazla modeli eğitmenin ve hatta onlardan bir topluluk oluşturmanın faydalı olduğunu da unutmayın!
ARIMA Modelleri
ARİMA (Otoregresif Entegre Hareketli Ortalama) modeli, mevcut ve geçmiş değerler (AR-kısmı) arasında ve ayrıca mevcut ve geçmiş tahmin hataları (MA-kısmı) arasında doğrusal bir regresyon modelidir. Model sıfır olmayan bir I parçasına sahipse, durağan hale getirmek için veriler farklılaştırılır. Temel ARIMA modelleri, zaman serilerinin durağan olduğunu ve durağan zaman serilerinin uzun vadede tahmin edilebilir kalıplara sahip olmadığını varsayar. Uzun vadeli tahminlerde azalan doğruluk, tahminlerin artan güven aralıklarında görülebilir. ARIMA modellerini eğitmek için daha fazla veriye sahip olmak her zaman daha iyi değildir: Büyük veri kümeleri, bir ARIMA modelinin model parametrelerinin tahmin edilmesini zaman alıcı hale getirebilir ve gerçek süreç ile model süreci arasındaki farkı abartabilir.
Makine Öğrenimi Modelleri
Makine öğrenimi modelleri, gecikmeli değerleri tahmin sütunları olarak kullanır ve hedef sütun ile tahmin sütunları arasındaki zamansal yapıyı yok sayar. Makine öğrenimi modelleri, eğitim verilerinde bu kalıpları oluşturmak için yeterli veri sağlanması koşuluyla, verilerdeki uzun vadeli kalıpları ve dönüm noktalarını da belirleyebilir. Genel olarak, veriler ne kadar fazla düzensizlik gösterirse, modeli eğitmek için o kadar fazla veriye ihtiyaç duyulur. Bir makine öğrenimi modeli uyguladığınızda, kalıntıyı modellemeniz önerilir. Aksi takdirde, klasik ayrıştırma modelinden daha karmaşık ama aslında bunun üzerine yeni bir şey öğrenmeyen bir model oluşturabilirsiniz!
Model Seçimi İle İlgili İpuçları
İlk olarak, bazı fenomenleri tahmin etmek zordur ve böyle bir durumda daha basit bir modele gitmek ve doğru bir şekilde tahmin edilemeyen bir şeyi modellemeye kaynak yatırmamak çoğu zaman mantıklıdır.
İkincisi, modelin performansı tek kriter değildir. Önemli kararlar modelin sonuçlarına dayanıyorsa, yorumlanabilirliği biraz daha iyi bir performanstan daha önemli olabilir. Bununla birlikte, bir sinir ağı, biraz daha iyi tahmin etmesine rağmen, basit bir klasik ayrıştırma modeline karşı kaybedebilir.
Üçüncüsü, modelinize açıklayıcı değişkenler eklemek, tahmin doğruluğunu iyileştirebilir. Bununla birlikte, böyle bir modelde açıklayıcı değişkenlerin de tahmin edilmesi gerekir ve modelin artan karmaşıklığı her zaman daha iyi doğruluk değerinde değildir. Bazen kaba tahminler kararları desteklemek için yeterlidir: Sevkiyat miktarları onlarca ve yüzlerce olarak hesaplanırsa, tahmin talebinin de daha büyük bir ayrıntı düzeyine sahip olması gerekmez.
Model Değerlendirmesi
Bir modeli eğittikten sonraki adım, onu değerlendirmektir. Örnek içi tahmin için, test seti eğitim setinin kendisidir, bu nedenle model süreci, modeli eğitmek için kullanılan verilere uyarlanır. Örnek dışı tahmin için, test seti, zaman içinde eğitim setinden sonra gelir.
Bir zaman serisi modelini değerlendirmek için önerilen bir hata metriği, ortalama mutlak yüzde hatasıdır (HARİTA), çünkü hatayı evrensel ölçekte, gerçek değerin yüzdesi olarak sağlar. Ancak, gerçek değer sıfırsa, bu metrik tanımlanmaz ve ardından kök ortalama kare hatası gibi diğer hata metrikleri de tanımlanmaz (RMSE), yapacağım. Bununla birlikte, sıklıkla önerilen şey, KULLANMAMAKTIR. R-kare. R-kare metriği zaman serisi analizi bağlamına uymuyor çünkü odak, geçmişteki tüm değişkenliği modellemek yerine hedef sütunun gelecekteki sistematik değişkenliğini tahmin etmeye odaklanıyor.
Zaman Serilerini Tahmin Etme ve Yeniden Yapılandırma
Neredeyse geldik! Son adım, gelecekteki değerleri tahmin etmek ve sinyali yeniden oluşturmaktır.
Dinamik Tahmin
Uzun vadede doğru tahminler sağlayamayan bir modeliniz varsa, dinamik dağıtım genellikle örnek dışı tahmin doğruluğunu artırır. Dinamik dağıtımda, gelecekte yalnızca bir nokta tahmin edilir ve geçmiş veriler, bir sonraki tahmini oluşturmak için bu tahmin değeri tarafından güncellenir (Şekil 5).
Trend ve Mevsimsellikleri Geri Yükleme
Son olarak, tahminden önce zaman serilerini ayrıştırırsak, trendi ve/veya mevsimsellikleri tahminlere geri yüklememiz gerekir. Verileri farklılaştırarak mevsimselliği ayarlarsak, mevsimselliğin oluştuğu gecikmedeki değerleri ekleyerek sinyali yeniden oluşturmaya başlarız. Örneğin, 7. gecikmede (haftalık mevsimsellik) mevsimsel fark uyguladığımız günlük veri y olsaydı, bu mevsimselliği geri yüklemek için tahmin değerlerine aşağıdaki hesaplamayı yapmak gerekirdi yt+1, yt+2, ..., yt+h :
nerede teğitim verilerindeki son zaman noktasıdır ve h tahmin ufkudur.
İkinci mevsimselliği geri yüklemek için, geri yüklenen zaman serileri için yukarıda açıklanan adımı tekrarlayacağız. Trend bileşenini zaman serisine geri yüklemek isteseydik, geri yüklenen zaman serisine trendi temsil eden regresyon modelini uygulardık.
Analitik Platformunda Zaman Serisi Uygulamasını Tamamlayın
Son olarak, Analytics Platformumuzu kullanarak bu adımları nasıl pratiğe dönüştürebileceğimize bir göz atalım. iş akışı Dönüştürme ve Modelleme Zaman Serilerine Erişim (Hub'da mevcuttur) Şekil 6'da erişimden temizlemeye, görsel olarak keşfetmeye, ayrıştırmaya ve zaman serilerini modellemeye kadar olan adımlar gösterilmektedir. Bu görevlerden bazıları için kullanıyoruz zaman serisi bileşenleri iş akışlarını zaman serilerine özgü işlevler olarak kapsayan: verileri seçilen ayrıntı düzeyinde toplayın, klasik ayrıştırmayı gerçekleştirin ve daha fazlasını yapın.
Bu örnekte, Örnek – Süper Mağaza tarafından sağlanan veriler Tablo. Analizimizde 2014'ten 2017'ye kadar tüm ürünlerin siparişlerine odaklanıyoruz - toplam 9994 kayıt. Günlük toplam satışları hesaplayarak verileri yeniden zaman serisi verilerine dönüştürerek ön işlemeye başlıyoruz. Şimdi, günde yalnızca bir değerimiz var, ancak bu günlerde hiçbir sipariş gönderilmediği için bazı günler eksik. Bu nedenle, bu günleri zaman serilerine tanıtıyoruz ve eksik satış değerlerini sabit bir 0 değeri ile değiştiriyoruz. Bundan sonra, verileri aylık düzeyde topluyoruz ve daha sonraki analizlerde her aydaki ortalama satışları dikkate alıyoruz.
Görsel keşif için ayrıca verileri yıllık düzeyde topluyoruz ve Şekil 2015'de sağdaki çizgi grafiğinin gösterdiği gibi 7 yılının başında bir dönüm noktası olduğunu görüyoruz. Soldaki çizgi grafiği, verilerdeki yıllık mevsimselliği gösterir: her yılın sonunda iki düzenli zirve ve her yılın başında daha düşük bir zirve vardır. Soldaki ACF grafiğinde 12. gecikmedeki büyük artışla gösterildiği gibi, verilerde yıllık mevsimselliği de tespit ediyoruz. Zaman serisini trend, mevsimsellik ve kalıntı olarak ayrıştırıyoruz ve bu bileşenler Şekil 7'de ortadaki çizgi grafiğinde gösterilmektedir. Sağdaki ACF grafiği, artık serilerde önemli bir otokorelasyon göstermemektedir.
Daha sonra, bir ARIMA modeli ile aylık ortalama satışların kalan serisini modelliyoruz. 12 gecikmede fark alındıktan sonra, zaman serisinin uzunluğu 36 gözlemdir. AR ve MA parçaları için maksimum sipariş 4 ve I bölümü için maksimum sipariş 1 ile Auto ARIMA Learner bileşeni ile en iyi modeli arıyoruz. dayalı en iyi performans gösteren model Akaike bilgi kriteri ARIMA (0, 1, 4) ve örnek içi tahminlere dayalı olarak elde edilen MAPE 1.153'tür.
Son olarak, modelin örneklem dışı tahmin doğruluğunu değerlendiririz. iş akışı Zaman Serilerini Tahmin Etme ve Yeniden Yapılandırma (Hub'da mevcuttur) Şekil 8'de 2017-2014 yılları arasındaki aylık verilere (2016 gözlem) ve dinamik dağıtımı kullanan kazanan ARIMA (24) modeline dayalı olarak 0,1,4'deki günlük satışların nasıl tahmin edileceği gösterilmektedir. yaklaşmak. Bundan sonra, sinyali yeniden yapılandırırız, bu durumda, trendi ve yıllık mevsimselliği tahmin değerlerine (12 aylık ortalama satış değerleri) geri yükleriz. Gerçek ve tahmini değerleri karşılaştırır ve 0.336'lık bir MAPE elde ederiz.
Özet
Zaman serileri, nanosaniyeden sonra nanosaniyelik küçük bir nesnenin davranışını gösteren sensör verileri, 20. yüzyıl için makroekonomik veriler veya aradaki bir şey olsun, erişim, manipüle etme ve modelleme adımları için geçerli olan belirli analitik tekniklerine sahiptir.
Bu makalede, zaman serisi verileriyle çalışırken başlamanıza yardımcı olacak zaman serileri için analitik tekniklerinin temellerini size tanıttık.
Referanslar
[1] Chambers, John C., Satinder K. Mullick ve Donald D. Smith. Doğru Tahmin Tekniği Nasıl Seçilir. Harvard Üniversitesi, İşletme Enstitüsü, 1971.
[2] Hyndman, Rob J. ve George Athanasopoulos. Tahmin: İlkeler ve Uygulama. Metinler, 2018.
Kaynak: https://www.dataversity.net/building-a-time-series-analysis-application/
- kesin
- Ek
- analiz
- analytics
- Uygulama
- uygulamaları
- AR
- göre
- Oto
- Temeller
- kıyaslama
- İYİ
- İçecekler
- vücut
- kutu
- inşa etmek
- bina
- iş
- Temizlik
- Sütun
- ortak
- bileşen
- güven
- ülkeler
- akım
- veri
- gün
- Talep
- gelişme
- Hastalık
- tahminleri
- Etkinlikler
- Egzersiz
- keşif
- şekil
- Nihayet
- Ad
- uygun
- odak
- Cuma
- gelecek
- GSYİH
- genel
- George
- Tercih Etmenizin
- mezun
- kullanma
- Harvard
- Harvard Üniversitesi
- Ne kadar
- Nasıl Yapılır
- HTTPS
- Yüzlerce
- belirlemek
- görüntü
- Enfeksiyonlar
- bilgi
- IT
- Temmuz
- büyük
- öncülük etmek
- ÖĞRENİN
- öğrenci
- öğrenme
- seviye
- çizgi
- Uzun
- makine öğrenme
- büyük
- pazar
- Metrikleri
- model
- Modelleme
- Pazartesi
- aylık veriler
- ay
- hareket
- ağ
- ağlar
- sinirsel
- sinir ağı
- nöral ağlar
- açılır
- sipariş
- emir
- Diğer
- model
- performans
- planlama
- platform
- tahmin
- PLATFORM
- Ürünler
- tanıtım
- kayıtlar
- gerileme
- İlişkiler
- Kaynaklar
- Sonuçlar
- satış
- ölçek
- Okul
- seçilmiş
- duyu
- Dizi
- set
- Kargo
- Basit
- küçük
- akıllı
- Enstantane fotoğraf
- So
- başlama
- başladı
- istatistik
- Stok
- Borsa
- gönderilen
- yaz
- destek
- Tablo
- Hedef
- test
- Temelleri
- Gelecek
- zaman
- üst
- Eğitim
- Dönüşüm
- Evrensel
- üniversite
- değer
- İzle
- hafta
- haftalık
- Nedir
- Vikipedi
- içinde
- İş
- iş akışı
- antreman
- değer
- yıl
- yıl
- sıfır