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

 
Sihirbaz_ :
Acele etme. Kümeleme yönteminden bağımsız olarak. Bir geçiş yap. Birkaç gözlemi kesin. Tekrarlamak. Alınanları karşılaştırın

Sonuçlar. Bir yol üzerinde çalışın. Ve sonra "kaseleri" yapacaksınız ve sonra neden işe yaramadığını merak edeceksiniz)))


Tam bir numaralandırma yapmayı düşündüm, bunlar başlangıçta 500 ise, sonunda iyi bir modelin sadece 5'i hesaba katacağı şekilde ortaya çıkabilir.

ve onları rahat bırakacağım.

 
Dr.Tüccar :

Çubuklarla kayan bir pencere ile mytarmailS gibi kalıplar ararsanız, her kalıp, her bir çubukta değerlerin bulunabileceği aralık hakkında bilgi taşıyacaktır. Daha fazla kalıp - her bir çubuk için daha küçük aralık tahsis edilecektir ..................

Kayan bir pencerede veri göndermek sadece benim veri gönderme tarzım ve başka bir şey değil, iyi ya da kötü, xs, herkesle aynı şeyi düşünüyorum ...

Ama açıkladığım yaklaşımla hiçbir ilgisi yok ...

Yaklaşım, kümeleme yoluyla, geleneksel ML'nin çıkaramadığı faydalı verilerin yüzde birkaçını çıkarmaya izin verir.

Tahmin edicilerinizi ağınıza beslerken güvenle alabilir, (her birini) kümeleyebilir ve tanımladığım algoritma aracılığıyla çalıştırabilirsiniz.

 
Dr.Tüccar :

Kabaca söylemek gerekirse, yeni veriler içeren belirli bir pencerenin önceden bulunan bir kalıba girmesi için, her örüntüde bulunan bu tür dikey sınırlayıcılara düşmesi gerekir.

Eh, modeli ne kadar eğitmek istediğinize de bağlı, eğer zayıf çalışırsanız, çok fazla küme yapmayın, o zaman modelin başındaki rakamlar oldukça düzleşir ve teorik olarak söylediğiniz dezavantaj ortadan kalkar. ..

Model, 49 kümeye paketlenmiş 50 değerlik fiyat serisini bu şekilde görüyor.

inci

kod..

price <- cumsum(rnorm( 30000 ))+ 1000
plot(price,t= "l" )

# делаем скользящее окно ( 50 знач) через матрицу хенкеля
hankel <- function(data, r= 50 ) {
   do .call(cbind,
          lapply( 0 :(r- 1 ),function(i) { data[(i+ 1 ):(length(data)-(r- 1 -i))]}))}
price <- hankel(price)

# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price, 1 ,function(x){scale(x,center = T,scale = T)}))

# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал  
#https: //cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages( "SOMbrero" )
library (SOMbrero)

# тренируем модель, с матрицей 7 х 7 те 49 кластеров
model <- trainSOM(price, dimension=c( 7 , 7 ), verbose=T)
plot(model,what= "prototypes" ,type= "lines" ,print.title=T)
 
mytarmailS :

Eh, modeli ne kadar eğitmek istediğinize de bağlı, eğer zayıf çalışırsanız, çok fazla küme yapmayın, o zaman modelin başındaki rakamlar oldukça düzleşir ve teorik olarak söylediğiniz dezavantaj ortadan kalkar. ..

Model, 49 kümeye paketlenmiş 50 değerlik fiyat serisini bu şekilde görüyor.

kod..

price <- cumsum(rnorm( 30000 ))+ 1000
plot(price,t= "l" )

# делаем скользящее окно ( 50 знач) через матрицу хенкеля
hankel <- function(data, r= 50 ) {
   do .call(cbind,
          lapply( 0 :(r- 1 ),function(i) { data[(i+ 1 ):(length(data)-(r- 1 -i))]}))}
price <- hankel(price)

# скалирую, центрирую, в общем нормализирую каждую строчку в матрице
price <- t(apply(price, 1 ,function(x){scale(x,center = T,scale = T)}))

# запускаем пакет с кластеризацыей, в дан. случ с кохоненом
# хорошый мануал  
#https: //cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html
install.packages( "SOMbrero" )
library (SOMbrero)

# тренируем модель, с матрицей 7 х 7 те 49 кластеров
model <- trainSOM(price, dimension=c( 7 , 7 ), verbose=T)
plot(model,what= "prototypes" ,type= "lines" ,print.title=T)


İçinde. Ben de uzun süre yaptım. Kohonen ilginç bir şey. Ancak buna kümeleme algoritması demenin doğru olmadığını unutmayın. Bu bir evrişim algoritmasıdır. Ve sonra ortaya çıkan iki boyutlu uzayda kümeleme yapılır...
 
Alexey Burnakov :
İçinde. Ben de uzun süre yaptım. Kohonen ilginç bir şey. Ancak buna kümeleme algoritması demenin doğru olmadığını unutmayın. Bu bir evrişim algoritmasıdır. Ve sonra ortaya çıkan iki boyutlu uzayda kümeleme yapılır...

teşekkür etmek ! bilmiyordum.

ancak modelin çıktısını küme olarak kullanmak mümkün müdür? ya da değil?

head(model$clustering , 100 )
  [ 1 ]   7    7    7    7    7    7    7    7    6    6    6    5    5    4    4    3    3    2    2    1    1    1    1    1    8 15 15 22 22 29 36
[ 32 ] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[ 63 ] 21 21 21 21 21 21 21 21 21 14 14 14    7    7    7    7    7    7    7    6    5    4    3    3    2    1    1    1    1    1    1
[ 94 ]   8    8 15 22 22 29 36
 
mytarmailS :

teşekkür etmek ! bilmiyordum.

ancak modelin çıktısını küme olarak kullanabilir misiniz? ya da değil?

head(model$clustering , 100 )
  [ 1 ]   7    7    7    7    7    7    7    7    6    6    6    5    5    4    4    3    3    2    2    1    1    1    1    1    8 15 15 22 22 29 36
[ 32 ] 43 43 43 43 43 43 43 44 44 45 45 45 46 46 46 46 47 47 47 47 48 48 48 49 42 35 35 28 28 21 21
[ 63 ] 21 21 21 21 21 21 21 21 21 14 14 14    7    7    7    7    7    7    7    6    5    4    3    3    2    1    1    1    1    1    1
[ 94 ]   8    8 15 22 22 29 36

Evet, elbette yapabilirsiniz... Aslında, bu hücrelerde benzer vektörlerin toplanması var.

Sadece işler böyle olabilir (işte kendim yaptım ve neden bahsettiğimi biliyorum). n milyon kaydım var. Girdilerin vektörü birkaç yüz uzunluğundadır. Kümelemek istiyorum ama önceden kaç küme olduğunu bilmiyorum. Her algoritma böyle bir veri dizisini normal bir bilgisayarda işleyemez. Bu nedenle, önce giriş alanını daraltıyorum ve örneğin 50*50 gibi bir ızgara yapıyorum. Nüfusun 2500 tipik temsilcisi ortaya çıkıyor ... Böyle bir dizide bilgisayarım agnes (hiyerarşik kümeleme) çekiyor. Orada herkesin herkese yakınlık matrisi inşa ediliyor...

Ve bu 2500'ü 10 kümeye ayırdığım ortaya çıktı ve toplama metriği iyi çıktı.

 
Alexey Burnakov :

Evet, elbette yapabilirsiniz... Aslında bu hücrelerde benzer vektörlerin toplanması var.

Sadece işler böyle olabilir (iş yerinde kendim yaptım ve neden bahsettiğimi biliyorum). n milyon kaydım var. Girdilerin vektörü birkaç yüz uzunluğundadır. Kümelemek istiyorum ama önceden kaç küme olduğunu bilmiyorum. Her algoritma böyle bir veri dizisini normal bir bilgisayarda işleyemez. Bu nedenle, önce giriş alanını daraltıyorum ve örneğin 50*50 gibi bir ızgara yapıyorum. Nüfusun 2500 tipik temsilcisi ortaya çıkıyor ... Böyle bir dizide bilgisayarım agnes (hiyerarşik kümeleme) çekiyor. Orada herkesin herkese yakınlık matrisi inşa ediliyor...

Ve bu 2500'ü 10 kümeye ayırdığım ortaya çıktı ve toplama metriği iyi çıktı.

https://cran.r-project.org/web/packages/SOMbrero/vignettes/doc-numericSOM.html kılavuzunda

Bölümde

Ortaya çıkan SOM'dan süper sınıflar oluşturma

sadece neden bahsettiğin

 

Piyasanın gerçekte ne olduğunu bilmek isteyenler için..

eski videolardan yenilerine izleyin....

https://www.youtube.com/channel/UCsdK6s9i_I0NEMvis6wXhnQ/featured

Zor değil, ama programlamak gibi görünüyor? Benim için henüz mümkün değil...

MO veya sadece kod için bu tür yaklaşımları nasıl kodlayabileceğinizi tartışmayı öneriyorum.

 

R dili ve yeni MetaTrader 5 build 1467 hakkında bilgi için:

  • R'ye benzer istatistik kitaplıklarının güncellenmiş bir sürümü yayınlandı:

    MQL5'te istatistiksel dağılımlar - R'den en iyiyi almak ve daha hızlı yapmak

  • MQL5'teki hesaplamalar, R'dekinden 3 ila 7 kat daha hızlıdır (C++'da işlevlerin uygulandığı gerçeğini hesaba katsak bile)
  • Bazı R işlevlerinde eski optimizasyonlar/basitleştirmeler nedeniyle hatalar var ve hatalı sonuçlar veriyor
  • Verileri R'deki gibi görselleştirmeyi mümkün kılan, R'ye benzer bir grafik kitaplıklarının beta sürümü eklendi.
  • Hem normal dizileri hem de R'ye benzer yapıları yazdıran kullanışlı bir ArrayPrint işlevi eklendi


MetaQuotes-Demo sunucusundan 1467'ye yükseltebilirsiniz.

Sonraki sürümlerde, R'ye benzer birçok yeni matematiksel ve istatistiksel fonksiyon eklenecektir.Bu, doğrudan MetaTrader 5'te daha fazla hesaplama ve görselleştirmenin yapılmasına izin verecektir.
 
sadece merak ediyorum - ve burada sadece fiyatların değerlerini ve fiyatlardan çeşitli göstergeleri tahmin edici olarak mı alıyorsunuz? Gerçek hacim ve hacim göstergeleri kullanan var mı?