Mevsimsellikte veya diğer düzenlerde değişen zaman serileri ile nasıl başa çıkılır?


22

Arka fon

Enerji sayacı okumalarının zaman serisi veri kümesi üzerinde çalışıyorum. Serinin uzunluğu metreye göre değişir - bazıları için birkaç yıl, diğerleri sadece birkaç ay, vb.

Üzerinde çalıştığım şeylerden biri, bu zaman serilerinin kümelenmesi. İşim şu an için akademik ve aynı zamanda verilerin analizini yaparken, bazı kümelenmeler yapmak konusunda özel bir hedefim var.

Çeşitli özellikleri hesapladığım bazı başlangıç ​​çalışmaları yaptım (hafta sonları ile hafta içi kullanılan yüzdeleri, farklı zaman bloklarında kullanılan yüzdeleri vs.). Daha sonra farklı seriler arasındaki mesafeyi bulmak için Dinamik Zaman Sıçrama'yı (DTW) kullanmaya ve fark değerlerine göre kümelemeye devam ettim ve bununla ilgili birkaç makale buldum.

Soru

Belirli bir seride değişen mevsimsellik kümelenmenin yanlış olmasına neden olur mu? Ve eğer öyleyse, onunla nasıl başa çıkarım?

Benim endişem DTW tarafından elde edilen mesafelerin bir zaman serisindeki desenin değiştiği durumlarda yanıltıcı olabileceğidir. Bu yanlış kümelenmeye yol açabilir.

Yukarıdakilerin net olmaması durumunda, şu örnekleri göz önünde bulundurun:

örnek 1

Bir metre gece yarısından saat 08: 00'e kadar düşük okuma değerlerine sahiptir, okumalar bir sonraki saat için keskin bir şekilde artar ve saat 09: 00'dan 17: 00'a kadar yüksek kalır, daha sonra bir sonraki saat boyunca keskin bir şekilde düşer ve ardından 18: 00'den gece yarısına kadar düşük kalır. Sayaç, bu deseni birkaç ay boyunca her gün tutarlı bir şekilde sürdürür, ancak daha sonra okumaların gün boyunca tutarlı bir seviyede kaldığı bir kalıpta değişir.

Örnek 2

Bir sayaç, her ay tüketilen yaklaşık aynı miktarda enerjiyi gösterir. Birkaç yıl sonra, normal miktarına dönmeden önce yaz aylarında enerji kullanımının daha yüksek olduğu bir düzende değişir.

Muhtemel Yol Tarifi

  • Tüm zaman serilerini karşılaştırmaya devam edip edemeyeceğimi merak ettim, ancak desen önemli ölçüde değişirse onları bölüp ayrı bir seri olarak düşünün. Ancak, bunu yapmak için, bu tür değişiklikleri tespit edebilmem gerekiyor. Ayrıca, bunun uygun bir yöntem olup olmadığını veya verilerle çalışıp çalışmadığını bilmiyorum.
  • Ayrıca veriyi bölmeyi ve birçok ayrı zaman serisi olarak görmeyi de düşündüm. Örneğin, her gün / metre kombinasyonunu ayrı bir seri olarak düşünebilirim. Ancak, haftalık / aylık / yıllık modelleri dikkate almak istersem, benzer şekilde yapmam gerekir. Bunun işe yarayacağını düşünüyorum , ama potansiyel olarak oldukça zahmetli ve eğer daha iyi bir yol varsa, bu yola girmekten nefret ederim.

Ek Notlar

Bunlar yorumlarda ortaya çıkan şeyler veya yorumlardan dolayı düşündüğüm, alakalı olabilecek şeylerdir. Onları buraya koyuyorum, böylece insanlar ilgili bilgileri almak için her şeyi okumak zorunda kalmayacaklar.

  • Python'da çalışıyorum ama R'nin daha uygun olduğu yerler için rpy'im var. Gerçi mutlaka bir Python cevabı aramıyorum - birisi ne yapılması gerektiğine dair pratik bir cevabı varsa, uygulama detaylarını kendim bulmaktan mutlu olurum.
  • Çok çalışan "kaba taslak" kodum var - bazı DTW çalıştırmaları yaptım, birkaç farklı küme oluşturma işlemi yaptım, vb. Sanırım yönlendirdiğim yönü ve ne yaptığımı büyük ölçüde anlıyorum. Gerçekten aradığım şey, mesafeleri bulmadan, kümelemeyi çalıştırmadan vb. önce verilerimi nasıl işlediğimle ilgilidir. Bu verildiğinde, cevabın seri arasındaki mesafelerin DTW veya daha basit bir Euclidean Distance (ED) ile hesaplanıp hesaplanmadığıyla aynı olacağını düşünüyorum.
  • Bu makaleleri özellikle zaman serileri ve DTW hakkında bilgilendirici buldum ve konu alanı için biraz arka plan gerektiğinde yardımcı olabilirler: http://www.cs.ucr.edu/~eamonn/selected_publications.htm

+1 Çok güzel bir soru ve çok fazla coşku görmek harika! Sanırım sorunuzu biraz saptayabilirsiniz, bu nedenle başkalarının okuması ve daha sonra size bir cevap vermesi daha çekici olacaktır.
Rubens

@Rubens Teşekkürler! Bu akşam evdeyken tekrar çalışacağım, bu noktaya nasıl ulaştığım ve neden hakkında biraz daha bilgi vermenin nerede yararlı olacağını görebiliyorum. Çok uzun sürdüğü için endişelenmiştim, ancak arkaplanı ayıracağım ve okunamaz hale gelmemesi için biraz daha sorgulayacağım.
Jo Douglass

"Saf istatistik" sorusu olmayabilir, ancak saf istatistik yanıtına ihtiyacı var. Saf istatistik terimleri hakkında düşünene kadar mücadele edeceksiniz.
Spacedman

@Spacedman - Cevap vermenin en iyi yolu olduğunu düşündüğüm her türlü cevabı, cevap formülü veya ağır anlamadığım istatistiksel kavramlara atıfta bulunuyorsam daha fazla soru alabileceğime dair ihtarı memnuniyetle karşılıyorum.
Jo Douglass

Jo, sorunuz için doğru cevabı buldunuz mu? Aynı durumdayım ve yardıma ihtiyacım var. Thank you
LSola

Yanıtlar:


14

Sorunuzu okuduktan sonra, zaman serisi kümelemesi ve dinamik zaman atlaması (DTW) konusunu merak ettim . Bu nedenle, sınırlı bir araştırma yaptım ve temel anlayış (benim için) ve aşağıdaki IMHO ilgili referanslarını (sizin için) buldum . Bunu faydalı bulacağınızı umuyorum, ancak konunun pratik yönleriyle daha fazla ilgilendiğim için bilerek araştırma makalelerini atladığımı unutmayın .

Kaynaklar:


1
Bunlardan bazıları, bakmakta olduğum kaynaklar - örneğin çalışmanın değiştirilmiş bir versiyonunu örneğin 2 ve 4 numaralı noktalarda uyguladım - bu yüzden muhtemelen şimdi aynı sayfadayız. Ve bildiklerimin büyük çoğunluğu Eamonn Keogh'un makalelerine veya bunlara dayanan makalelerine dayanıyor. Ama burada okumadığım bazı şeyler var ve bisiklet paylaşım zamanı serisi kümelemeyle ilgili olanı ilginç - teşekkürler! Soruma özel olarak cevap veren bir şey göremiyorum, ancak okurken bir şeyi kaçırmışsam işaret et.
Jo Douglass

1
Ayrıca, yine de bu ilginç buluyorsanız, Keogh'un makaleleri gerçekten okunmaya değer. Birçok veri setini kullanmaya ve birisinin tüm deneyleri yeniden oluşturabilmesi için yeterli bilgiyi sağlamaya odaklanmaları durumunda, şaşırtıcı derecede kolay okunur ve oldukça pratiktir. En sonuncusu ilginç, ve sorumun yanına geldiğimde uğraşıyorum. cs.ucr.edu/~eamonn/selected_publications.htm
Jo Douglass

1
@JoDouglass: Rica ederim! Sorunuzu doğrudan cevaplamak niyetinde değildim (konuyla ilgili sınırlı bilgim yüzünden), ancak durumun yardımcı olacağını umuyordum. Güzel yorumlarınız ve referanslarınız için teşekkür ederim - makalelere göz atacağım ve daha iyi bir fikir edinmeye çalışacağım. Öğrenecek çok şey var, biraz zor.
Aleksandr Blekh,

1
Ezici haklı, bir süre bu konuyu seçtiğim için kendimi tekmeliyordum! Yine de oraya gideceğimi hissediyorum - ve öğrenmesi çok ilginçti. Yapmam gerekenin en zorlu sürümleri olarak çalışan ve çalıştıran bir sürü işim var ve verilerimin modellerimde yayınlanmadan önce nasıl işleneceğini bulmaktan daha fazlası olduğunu düşünüyorum. Bahsettiğim son Keogh makalesini okuduğundan beri ortalama zaman serisini tartışırken ilk gördüğümden beri bu bisiklet paylaşım bağlantısı benim için ilginç.
Jo Douglass

1
@JoDouglass: "Ezici" derken, tüm veri bilimi alanını kastettim (AI / ML ve istatistikler de dahil olmak üzere). Bir bulmak için henüz değilim kaynağı , hangi hediyeler bir üst düzey çeşitli tartışılmasını yaklaşımları ve / veya yöntemlerin olarak temalar bir entegre, kapsamlı , henüz cimri , çerçeve .
Aleksandr Blekh

4

Sadece mevsimsel modeller için benim yapmak istiyorsanız, o zaman otokorelasyona bakın . Mevsimsel kalıpları öğrenebilecek ve ondan tahminler yapabilen bir model arıyorsanız, Holt-Winters iyi bir başlangıç ​​ve ARIMA'nın takip etmesi iyi bir şey. İşte [pdf] beni yerden alan eğitim.


Çalışma (şu an için) tamamen pratik değil, akademik. Gelecekte veya gelecekte çok geç tahminler yapabilirim, ancak şimdilik geçmiş verileri araştırmakla ilgileniyorum. Kümelenme, kendi içinde bir amaç ve aynı zamanda bu noktayı keşfetmek istediğim bazı fikirler.
Jo Douglass

Üzgünüz, erken girmek için giriş yapın. Bir dereceye kadar otokorelasyona baktım ve bir süre önce verilerimin bir alt kümesine koştum, ancak ondan ne elde edebileceğim net değildi. Veriler oldukça gürültülü. Mevsimsellik kalıpları bazen görselleştirme konusunda oldukça açıktır, ancak zamanlamalarında tam anlamıyla yetersizdir - bu yüzden benzer kalıplar arıyor olabilirim ama hoş, hatta programa göre değil. Otokorelasyonun bu veriler üzerinde problemli olacağı söylendi, ancak eğer değeri varsa, başka bir bakış için mutlu oldum. Sadece mevsimsellik bulmak istemiyorum , ama bunun bir amaç olduğunu anlamak.
Jo Douglass,

Bu eğitici ile en az 2.5 dahil olmak üzere çalışın. Özellikle akademik ortamınız için iyi olan R'yi kullanır. Size tam olarak aradığınızı söyleyen otomatik korelasyonu öğretecek (neye baktığınızı bilmiyordunuz ya da verilerin gerçekten çok gürültülü olduğunu söyleyemezsiniz). Eğer gürültü söz konusuysa, üstel yumuşatma holt-winters modelinin bir parçası olarak öğretilecek olan buna yardımcı olmanın bir yoludur. Bunların hepsi size cevap vermese bile, kesinlikle bir sonraki adımınızı daha da netleştirecek.
TheGrimmScientist

Öğreticiyi okudum, ama çoğunlukla zaten bildiğim şeylerin üzerinden geçiyor. Aslında Python'da çalışıyorum ve R'ye geçmek için çok fazla çaba harcadım, ancak herhangi bir Python kütüphanesinde bulamadığım bazı şeyler varsa diye bir noktada rpy'yi yakalamayı düşünmüştüm. Herhangi bir işe yarayacak diye sorumu yeniden yazdım - dediğim gibi, kümelenme kendi başına bir amaçtır, içeri girmek için tamamen farklı bir yön aramıyorum. gerçekten sorumu cevaplama.
Jo Douglass
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.