Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 214

 
Vladimir Perervenko :


not. Ve lm() hesaplamalarını paralelleştirin. Bu sadece ihtiyacınız olduğunda durum

Teşekkür ederim.

İşlemin bir döngüde foreach% dopar% üzerinden nasıl paralelleştirildiğini gördüm. Ve onu DT'deki gizli bir döngüye nasıl ekleyeceğimi bilmiyorum. Ve daha hızlı olup olmayacağını bilmiyorum.

 
Alexey Burnakov :

Teşekkür ederim.

İşlemin bir döngüde foreach% dopar% üzerinden nasıl paralelleştirildiğini gördüm. Ve onu DT'deki gizli bir döngüye nasıl ekleyeceğimi bilmiyorum. Ve daha hızlı olup olmayacağını bilmiyorum.

kodun bu kısmını kastetmiştim

lm_models <-    x[,
{
        lapply(c(1:20), function(x) summary(lm(data = .SD[, c(1:x, 21), with = F],    formula = V21 ~ . -1))$'fstatistic'[[1]])
}
, by = sampling
]

Lapply yerine - foreach()

 

Onlarca saniye için oluşturulmuş grafiklerde bir sorun var.

Bu paketi kontrol edin ("nhstplot"). Hızlı çiziyor ve bence iyi.

> plotftest(f = 4 , dfnum = 3 , dfdenom = 5 , title = "Fisher's F test" )

 
Vladimir Perervenko :

Onlarca saniye için oluşturulmuş grafiklerde bir sorun var.

Bu paketi kontrol edin ("nhstplot"). Hızlı çiziyor ve bence iyi.

> plotftest(f = 4 , dfnum = 3 , dfdenom = 5 , title = "Fisher's F test" )

Tabii ki bir bakacağım. Ama burada yarı saydamlık nerede, üst üste binmiş yüzlerce nesne nerede? Zor koşullarda test edin, daha hızlı olup olmadığını anlayacağız.
 
Vladimir Perervenko :

Ahh. Deneyeceğim, teşekkürler. Lapply döngüsünün paralel bir döngü ile değiştirileceği ortaya çıktı. Ve tüm bunlar 1000 yinelemenin olduğu DT döngüsünde dönüyor.

Ve bu 1000 yinelemeyi foreach üzerinden atlamanın başka bir yolu daha var.

 
Alexey Burnakov :
Tabii ki bir bakacağım. Ama burada yarı saydamlık nerede, üst üste binmiş yüzlerce nesne nerede? Zor koşullarda test edin, daha hızlı olup olmadığını anlayacağız.

OpenGL'li bir grafik kartı ile yarı saydamlıkların hızlı bir şekilde oluşturulması sağlanabilir. R bunun için rgl kütüphanesine sahiptir, daha çok 3d odaklıdır, ancak ortogonal bir izdüşüm yapabilir ve çizgiler çizebilirseniz , o zaman tam da ihtiyacınız olan şey olacaktır. Hemen çözemedim, belgeleri okumam gerekiyor.

Katma:

Yarı saydam çizgiler çizmek oldukça basit çıktı, sadece X ve Y koordinatlarına sahip bir tabloya ihtiyacınız var.Üç boyutluluk için üçüncü bir Z sütunu da ekleyebilirsiniz.

library (rgl)
for (i in 1 : 1000 ){
    lines3d(cbind( 1 : 1000 , cumsum(rnorm( 1000 ))), col= "blue" , alpha= 0.1 )
}

Ama yine de yavaştı. Processexplorer'a göre, vidyukha yalnızca %5'i tarafından kullanılır ve %100'ü tarafından tek bir mantıksal işlemci kullanılır. Bana öyle geliyor ki R, verileri OpenGL'ye çok yavaş besliyor, kabul edebileceğinden çok daha yavaş. Her nasılsa öyle çıktı.

Sadece eğlence için :) bunu yapın, pencereyi tam ekrana genişletin ve farenin sol tuşuyla "şekli" döndürün.

library (rgl)
for (i in 1 : 100 ){
    lines3d(cbind(cumsum(rnorm( 100 )), cumsum(rnorm( 100 )), cumsum(rnorm( 100 ))), alpha= 0.2 )
}
 
Öyle olabilir. Yüz adet seçmeli olarak görüntülemek için çizgiler. Ve tam program kapsamında dağıtım. çok daha hızlı olacak
 

Son olarak, daha önce dile getirdiğim kümelerle kalem fikrinin ilk testini yaptım, bir test testi, sadece ne ve nasıl olduğunu görmek için, tahminciler basit

5 değerli kayan seri OHLC + hacim + volatil, her biri 5 değere sahip toplam 6 tahminci

100.000 bar öğrenme geçmişi

her tahmin edici doğal olarak normalleştirildi) ve daha sonra saçmalık için özür dilerim, 100 kümeye kümelendi

Hedefi aceleyle yarattım, buldozerden söyleyebilirsiniz (şimdiye kadar oturdum), sadece bu formda bir geri dönüş yaptım: hedef önceki 4 mumdan daha yüksek ve sonraki 10'dan daha yüksek bir ekstremum ardından mumlar.

tekrar eden kalıplar aramaya başladı...

böyle bir tahmin edici olmadan bulmayı başardığımız en iyi şey böyle bir kalıptır.

open high low close volum volat target_avg target_count
91         30    41      91      100     0.4          9

( açık yüksek düşük kapalı hacim volat ) içinde bu modeli karakterize eden çok sayıda küme vardır

target_avg - bu, geri almamın bu kalıpta çalışma olasılığıdır , bu tahmin edicilerde %80-90 tetikleme olasılığı olan kalıplar bulamadım

target_count - bu modelin bu geçmişte kaç kez karşılaştığı, ayrıca bu tahmin edicilerde 30-50 kez karşılaşacak önemli bir model bulamadım

Toplamda, bu tahmin edicilerde bulduğum en iyi şey, vakaların %40'ında bir tersine çevirmenin (hedefin) çalıştığı ve bu tür yalnızca 9 gözlemin olduğu bir modeldir (model sayısı)

Bu belki de tek yararlı bilgi parçası, bu tahmin ediciler kümesinden çıkarılabilen çok değerli "GÜRÜLTÜ YOK" ve geri dönüşün tek bir nedenini ve hatta %40 oranında açıklıyor ve farklı geri dönüşlerin nedenlerini açıklıyor. farklılar ve tam olarak 10 veya 30 IMHO değiller.

Şimdi MO algoritmasının piyasadaki tüm hareketleri bu tür tahmin edicilerle nasıl açıklayabileceğini bir düşünün ??? bu imkansız, çünkü tahminciler sadece %2'yi açıklayabilir ve geri kalan her şey gürültüdür...

artı istatistiksel tekrarlanabilirliğin kontrolü yoktur, bu MO sadece bir veya iki gözlem üzerinde karar verebilir ve aslında bu gerçekten ve vakaların büyük çoğunluğunda vakaların %95'inin altındadır.

peki, tamam, dalıyorum ... yeni örnekteki girdilerin kalitesini değerlendirerek model boyunca devam edelim, şunu söyleyeceğim, bu bir Mercedes'ten uzak, ancak randomforest ölü bir Kazak ise, o zaman bu yaklaşım dokuz sadece fabrikadan

Girdilerin kalitesi çok daha iyi, daha net, daha az hata...

başka bir olay oldu, tam kalıp

open high low close volum volat
91    6      30    41      91      100

50.000 mumluk yeni veriler üzerinde tanıma başlattığımda, algoritma böyle bir kalıp bulamadı, sadece görünmedi))

Kalıbı kesmek zorunda kaldım, sadece fiyatları bıraktım

open high low close volum volat
91    6      30    41      91      100

o zaman zaten yaklaşık 20 böyle kalıp vardı

İşte kalıba göre kayıtlar, “ala en iyi girişler” diye bir şey seçmedim, sadece anlaşmaların yapıldığı sıraya göre resim çektim, anlaşmalar elbette sadece ilk değil değerlendirebilmek için az

inci

Risk beklenenden daha değerli olsa da öz sermaye hoş

ile

Size bunun sadece bir kalıp olduğunu ve sadece kısa olduğunu hatırlatmama izin verin.

Birisinin koda ihtiyacı varsa, o zaman gönderirim, şüphe duymama rağmen, her şey zaten çok açık
 

214 sayfa çalışmak / ustalaşmak için çok fazla. Aynı zamanda, her biri kendi hakkında ve her zaman net değil.)

Çok kısa olmasa da tek bir yazıda tüm bu sayfaları özetlemek bir şekilde mümkün müdür? Tür: amaç, çözüm yöntemleri, sonuçlar, sonuçlar.

Hemen söylemeliyim ki, piyasa modelim rastgele bir süreç (Brown hareketi), daha doğrusu, geri bildirimle kapsanan bu tür birkaç (belki de birçok) hareketin toplamı. Ve istatistiksel olanlardan başka herhangi bir kalıp tahmin etmek veya aramak kesinlikle sonuçsuz bir alıştırmadır. Yani, en azından spekülatif amaçlar için, herhangi bir anlamlı öngörücü basitçe mevcut değildir.

 
Elbette kodu gönderin. ilginç