Soruyu yorumladığımdan, sorduğunuz temel soru, zamanı spline olarak modelleyip değiştiremeyeceğinizdir.
Cevaplamaya çalışacağım ilk soru, verilerinizi tahmin etmek için spline kullanıp kullanamayacağınızdır. Kısa cevap buna bağlıdır, ancak çoğu zaman splinelar ekstrapolasyon için o kadar da iyi değildir. Splinelar esasen bir enterpolasyon yöntemidir, verilerinizin bulunduğu alanı bölümler ve her bölümde basit bir regresöre uyarlar. Şimdi MARS yöntemine bakalım. MARS yöntemi
; burada , MARS modelindeki sabittir , , i. temel işlevidir ve
f^( x ) = ∑i = 1nαbenBben( x[ i ])
αbenBbenx[ i ]i. terimde özellik vektörünüzden seçilen özelliği temsil eder. Temel işlev sabit olabilir veya menteşe işlevi (doğrultucu) olabilir. Menteşe işlevi basitçe
Menteşe işlevinin modeli zorladığı,
parçalı doğrusal bir işlev oluşturmaktır (düzeltilmiş doğrusal aktivasyon işlevine sahip bir sinir ağının MARS modelinin süper model olarak görülüyor).
m, bir x ( 0 , x[ i ]+ cben)
Dolayısıyla, spline'ların neden ekstrapolasyon için bu kadar büyük olmadığı sorusuna geri dönmek için, ekstrapolasyona ihtiyaç duyduğunuz nokta yalan söylemeye başladığında enterpolasyonun sınırlarını aştığının farkına varmak, modelinizin sadece çok küçük bir kısmının "aktifleştirileceğini" ya da çok büyük bir kısmı "aktive edilecek" ve bu nedenle modelin gücü (varyasyon eksikliği nedeniyle) kaybolur. Bununla ilgili biraz daha sezgi almak için, bulunan bir özellik alanına bir MARS modeli takmaya çalıştığımızı . Yani bir sayı verildiğinde diğerini tahmin etmeye çalışıyoruz. MARS modeli şuna benzer bir işlev bulur:
Eğer ekstrapolasyon sayısını geçersef ( x ) = 5 + m bir x ( 0 , x - 5 ) + 2 m bir x ( 0 , x - 10 ) 10 f ( x ) = 10 + 2 ( X - 10 ) = 2 x - 10 5R
f^(x)=5+max(0,x−5)+2max(0,x−10)
10fonksiyon şimdi
Şimdiye kadar sahip olduğumuz MARS modeli tek bir doğrusal fonksiyona kaynar ve bu nedenle MARS modelinin gücü kaybolur (bu "etkinleştirme" terimlerinin çoğunluğu durumunda). Aynı şey rakamından önce ekstrapolasyon için de olacaktır . Bu durumda MARS modelinin çıktısı basitçe sabit olacaktır. Bu nedenle, çoğu zaman splinelar ekstrapolasyon için uygun değildir. Bu aynı zamanda yazılarınızın yorumlarında bahsettiğiniz sorunu, tahmin edilen tahminlerin "yeni değerler için çok kapalı" olduğu ve farklı zaman serileri için "aynı yönde devam etme" eğilimi olduğunu açıklar.
f^(x)=10+2(x−10)=2x−10
5
Şimdi zaman serisine geri dönelim. Zaman serileri, makine öğreniminde oldukça özel bir durumdur. Kısmi sapma veya birçok farklı alt yapı türünden biri olsun, biraz yapıya sahip olma eğilimindedirler ve bu yapıdan yararlanılabilir. Ancak bu yapıdan yararlanabilecek özel algoritmalara ihtiyaç vardır, maalesef spline bunu yapmaz.
Denemenizi tavsiye edeceğim birkaç şey var. Birincisi, tekrarlayan ağlar olacaktır. Zaman serileriniz o kadar uzun değilse (ve uzun süreli bağımlılıklara sahip değilse), basit bir vanilya tekrarlayan ağ kullanarak kurtulabilmeniz gerekir. Ne olduğunu anlamak istiyorsanız, aktivasyon fonksiyonu olarak önyargıları olan doğrultulmuş doğrusal bir ünite kullanabilirsiniz ve bu, zaman dizilerinin alt kümesinde MARS modellemesi ve tekrarlayan sinir ağının "hafızası" ile eşdeğer olacaktır. tutar. Belleğin ağ tarafından nasıl yönetildiğini yorumlamak zor olurdu, ancak alt uzayın üretilen parçalı doğrusal işleve göre nasıl ele alındığı hakkında bir fikir edinmelisiniz. Ayrıca zaman serisine ait olmayan statik özellikleriniz varsa, bunları net olarak kullanmak nispeten kolaydır.
Sahip olduğunuz zaman serileri çok uzunsa ve uzun vadeli bağımlılıklar taşıyorsa, GRU veya LSTM gibi, kapılı tekrarlayan ağlardan birini kullanmanızı öneririm.
Zaman serisi sınıflandırmasının daha klasik tarafında gizli markov modelleri kullanabilirsiniz. Bunlara daha fazla girmeyeceğim, çünkü onlara aşina değilim.
Sonuç olarak, iki nedenden dolayı spline kullanılmasını önermem. Birincisi, tanımladığınız sorun gibi görünen karmaşık ekstrapolasyon problemlerini ele alamıyor. Ve ikincisi, splinelar zaman serileri sınıflamasında çok güçlü olabilecek zaman serilerinin alt yapılarını kullanmazlar.
Bu yardımcı olur umarım.