Çok değişkenli zaman serisi tahmini için destek vektör regresyon


22

Kimse destek vektör regresyonu kullanarak zaman serisi tahmini yapmaya çalıştı mı?

Destek vektör makinelerini anlıyorum ve destek vektör regresyonunu kısmen anlıyorum, fakat zaman serilerini, özellikle de çok değişkenli zaman serilerini modellemek için nasıl kullanılabileceğini anlamıyorum.

Birkaç makale okumaya çalıştım, ancak çok üst seviyede. Herkes, özellikle çok değişkenli zaman serileriyle ilgili olarak nasıl çalışacaklarını açık bir şekilde açıklayabilir mi?

EDIT: Biraz detaylandırmak için, bir hisse senedi fiyatı örneği ile açıklamaya çalışmama izin verin.

Diyelim ki N gün için hisse senedi fiyatlarımız var. Sonra, her gün için, basit bir durumda önceki günün fiyatı ve mevcut günün fiyatı olabilecek bir özellik vektörü yapabiliriz. Her özellik vektörünün cevabı ertesi günkü fiyat olacaktır. Bu nedenle, dünün fiyatı ve bugünün fiyatı göz önüne alındığında, amaç sonraki günlerin fiyatını tahmin etmektir. Anlamadığım şey şu ki, altı aylık eğitim verilerimiz var, daha yeni özellik vektörlerine nasıl daha fazla önem verirsiniz?


Bahsettiğiniz kağıtları yayınlayabilir misiniz?
Ram Ahluwalia

1
Yerel Destek Vektör Regresyon Makinesi ile Zaman Serileri Tahmin Etme , Rodrigo Fernandez, svms.org/regression/Fern.pdf Finansal Zaman Serileri Tahmini için Vektör Regresyonu, Wei Hao ve Songnian Yu, springerlink.com/index/946802600u4552m8.pdf
raconteur

Yanıtlar:


18

Destek vektör regresyonu bağlamında, verilerinizin bir zaman dizisi olduğu gerçeği temel olarak metodolojik bir bakış açısıyla ilgilidir - örneğin, bir k-kat çapraz doğrulama yapamazsınız ve geri tepme testlerini yaparken önlem almanız gerekir. / simülasyonlar.

Temel olarak, destek vektör regresyonu, diğer herhangi bir ayırt edici regresyon tekniğine çok benzer, ayırt edici bir regresyon tekniğidir. Bir dizi giriş vektörü ve ilgili yanıtları verirsiniz ve yeni bir giriş vektörü verilen yanıtı denemek ve tahmin etmek için bir modele uyar. Çekirdek SVR, diğer taraftan, öğrenme adımından önce veri setinize birçok dönüşümden birini uygular. Bu, örneğin doğrusal regresyonun aksine, veri kümesindeki doğrusal olmayan eğilimleri yakalamasına izin verir. Başlamak için iyi bir çekirdek muhtemelen Gaussian RBF olacaktır - ayarlayabileceğiniz bir hiperparametreye sahip olacaktır, bu yüzden birkaç değer deneyin. Ve sonra ne olup bittiğini hissettiğinizde diğer çekirdekleri deneyebilirsiniz.

Bir zaman dizisi ile bir içe aktarma adımı, "özellik vektörünüzün" ne olacağını belirlemek; Her x i "özellik" denir ve mevcut veya geçmiş verilerden hesaplanabilir ve her y ı , tepki, ne yapacağı tahmin etmeye çalıştığınız her ne bazı zaman dilimi içinde gelecek bir değişim olacak. Örneğin bir stok alın. Zamanla fiyatların var. Belki özellikleri vardır.) 200MA-30MA yayılmış b.) 20 günlük volatilite, her hesaplamak böylece x t zamanında her noktada, birlikte y txxbenybenxtyt, söz konusu haftada borsadaki iadesini izleyen (diğeri). Bu nedenle, SVR'niz, mevcut MA dağılımına ve 20 günlük hacme dayanarak ertesi haftaki getiri tahminini öğrenir. (Bu strateji işe yaramaz, bu yüzden fazla heyecanlanma;).

Okuduğunuz yazılar çok zorsa, muhtemelen karmaşık olabileceği için SVM'yi kendiniz uygulamak istemezsiniz. IIRC, R için bir dizi kernel içeren bir Çekirdek SVM uygulaması bulunan R'nin bir "kernlab" paketi vardır, bu nedenle kalkmanın ve çalışmanın hızlı bir yolunu sağlar.


@Jason, yanıt için teşekkürler. Daha eski verilerin eğitim sırasında nasıl daha az önemli hale getirileceği, yani son 10,000 örnek yerine son 100 örneğe nasıl önem verileceği konusunda kafam karıştı. Ayrıca, Python'da SVM'lerle çalışma konusunda bazı deneyimlerim var, bu yüzden bunu kullanmayı düşünüyorum.
raconteur

Tüm geçmiş verileri gerçekten özellik vektörünüz olarak kullanamazsınız; onu bir şekilde anlamlı bir özelliğe dönüştürmek zorundasınız. Örneğin, zaman serisinin son 20 değerinin veya serinin geçerli değerinin hareketli ortalamanın bölü ortalamalarını almayı düşünün. Bunlar, basit bir sayıdaki veri kümesinin bir ithalat karakteristiğini gösteren özelliklerdir. 10 (ya da diyelim) 10 ya da öylesine özellikler ile olabildiğince tahminde bulunacağınızı düşünün. Bu nedenle, eski verileri daha az önemli yapmak için, özelliklerinizi tanımlarken daha az önemli olursunuz (örneğin, daha kısa hareketli ortalamalar kullanın).
William

@Jason, bir hisse senedi fiyatı örneği ile açıklamaya çalışayım. Diyelim ki N gün için hisse senedi fiyatlarımız var. Sonra, her gün için, basit bir durumda önceki günün fiyatı ve mevcut günün fiyatı olabilecek bir özellik vektörü yapabiliriz. Her özellik vektörünün cevabı ertesi günkü fiyat olacaktır. Bu nedenle, dünün fiyatı ve bugünün fiyatı göz önüne alındığında, amaç sonraki günlerin fiyatını tahmin etmektir. Anlamadığım şey şu ki, altı aylık eğitim verilerimiz var, daha yeni özellik vektörlerine nasıl daha fazla önem verirsiniz?
raconteur

2
Şimdi ne demek istediğini anlıyorum. Kısa cevap, en azından SVM'yi tekrarlama kavramını anlamak için yeniden yapılandırmadan yapamazsınız. Bir SVM, xy çiftleri cinsinden tanımlanır, sipariş edilmeyen xy çiftleri cinsinden tanımlanır ve dolayısıyla en aza indirgeyen nesnel işlev, söz konusu çiftlerin bir işlevidir. OTOH, biri geçen ay, biri geçen yıl ve biri geçen iki yıl olmak üzere birkaç ayrı SVM çalıştırabilir ve daha sonra, en son vs (eski veriler (örn. 0.7 * geçen ay + 0.2 * geçen yıl + 0.1 * son 2 yıl).
William

@William .. SVM dışında hangi makine öğrenme algoritmalarının zaman serisi tahmini (en iyi sorulan aynı problem) için en iyi olacağı konusunda bir tavsiyeniz var mı? Farklı bir alanda uygulandığında cevap farklı olurdu mı? örneğin, hisse senedi fiyatı vs tedarik zinciri tahmini (sattığımız ürünlerin talebini tahmin etmek) ..
Lam

1

Sorulan soruya kişisel cevabım "evet". Geçmişi tanımlamak için sınırsız sayıda seçenek seçeneğinin olduğunu bir profesyonelce ya da aleyhte görebilirsiniz. Piyasanın az önce ne yaptığını [örneğin "ne kadar kesin bir şekilde tarif edeceğinize karşılık gelen özellikleri seçmeye çalışın 1.4 'te ise, başka bir sayı ile ilgili değilse size hiçbir şey söylemez]. SVM'nin hedefine gelince, en basit olanı fiyatlar arasındaki fark ve ard arda iki gün için fiyatların oranıdır. Bunlar doğrudan varsayımsal bir ticaretin kaderine tekabül ettiği için, iyi seçenekler gibi görünüyorlar.

Jason'ın ilk ifadesine bilerek karşı çıkmam gerekiyor: raconteur tarafından tarif edildiği gibi durumlarda k-katlama çapraz onaylama yapabilirsiniz ve yararlıdır (şartlı olarak açıklayacağım). İstatistiksel olarak geçerli olmasının nedeni, bu durumda hedefin örneklerinin kendine özgü bir ilişkiye sahip olmamasıdır: bunlar ayrık farklılıklar veya oranlardır. Verileri hedefin ölçeğinden daha yüksek çözünürlükte kullanmayı tercih ederseniz, eğitim setinde ve validasyon setinde korelasyonlu örneklerin ortaya çıkabileceği endişesi olabilir (bununla birlikte, çapraz doğrulamayı tehlikeye atacak) SVM, hedefleri ilgilendiğiniz hedefle örtüşen hiçbir örneğiniz olmayacak).

Çapraz onaylamanın etkinliğini azaltan şey, piyasanın davranışının zaman içinde değişip değişmediğidir. Bununla başa çıkmanın iki yolu vardır. Bunlardan ilki, zamanı bir özellik olarak dahil etmektir (Bunu çok faydalı bulmadım, belki de gelecekteki bu özelliğin değerleri tamamen yenidir). İyi motive edilmiş bir alternatif, ileri doğrulama doğrulaması kullanmaktır (bu, metodolojinizi kayan bir zaman diliminde test etmek ve bu pencereden hemen sonraki dönemde test etmek anlamına gelir. Davranış zamanla değişiyorsa, Niels Bohr'a atfedilen " Tahmin etmek çok zor, özellikle de gelecekle ilgili "özellikle uygun. Literatürde finansal piyasaların davranışlarının zaman içinde değiştiğine, genellikle daha verimli hale geldiğine dair bazı kanıtlar var,

İyi şanslar!


Sitemize gelin!
kjetil b halvorsen 14:14

0

Finansal serileri tahmin etmek için SVM kullanmak için Quantum Financier'a bir örnek var . Bir sınıflandırma sisteminden (Uzun / Kısa) bir regresyon sistemine kolayca dönüştürülebilir.


1
Sevgili Tanrım LÜTFEN kimse bu stratejiyi kullanmaz! Newbs Altını vurdu düşünüyorum böylece başlayanlar Duvar St tarafından füme olsun böyle en :( kitaptaki en eski hile RSI gibi bazı temel teknik analitik kullanarak istatistiksel bir model güçlendirme edilir.
William

1
@Jason orjinalinden "Ben bunun iyi bir sistem olduğunu sanmadığımı da açıkça belirtmek istiyorum." Bununla birlikte, bir destek vektör makinesinin bir zaman serisine nasıl yerleştirileceğine iyi bir örnektir.
Zach
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.