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

 
İyi. Haftam daha piyasa açılmadan başladı, aktif olarak 14. sürümü test ediyorum. Şunu söylemek istiyorum. Ne kadar uzun süre eğitirse, TS'ye o kadar fazla girdi katılır. Daha fazla tahmin. Maksimum 8-9 girişe kadar vardı. Ancak genelleme yeteneği genellikle yüksek değildir. Evet ve bu tür araçlar bir streç ile çalışır. Yani 3'e zar zor ulaşıyorlar. Ancak 4-6 girişli tahminciler genel olarak tatmin edici çalışıyor. Giriş sayısı 50'den 150'ye çıkarıldı. Duc üçüncü saattir antrenman yapıyor. Ama bu sefer de çok fazla girdi olacağını düşünüyorum. Öyleyse görelim......
 
Eh, yine bu çöpü fark ettim. Gerçek şu ki, bir veri setim var, 12 perdict ve sonra kendi gecikmeleri, lag1 ve lag2, devam ediyor. Önceden, girişler esas olarak setin başındaydı, yani birkaç gecikme vardı ve ardından gecikme1'den fazla değildi, nadiren bir gecikme2 olduğunda. Şimdi, tam tersine, ilk veriler pratikte hiç kullanılmıyor, ancak lag1 ve ne yazık ki lag2 daha sık görünmeye başladı. Numunenin verilerle dolup taştığını anlıyorum. Ama gerçek şu ki, daha önce genelleme esas olarak ilk sütunlarda, şimdi son sütunlarda .... pratik olarak, bu yüzden sonuçlar çıkarıyoruz ....
 
Michael Marchukajtes :
Eh, yine bu çöpü fark ettim. Gerçek şu ki, bir veri setim var, 12 perdict ve sonra kendi gecikmeleri, lag1 ve lag2, devam ediyor. Önceden, girişler esas olarak setin başındaydı, yani birkaç gecikme vardı ve ardından gecikme1'den fazla değildi, nadiren bir gecikme2 olduğunda. Şimdi, tam tersine, ilk veriler pratikte hiç kullanılmıyor, ancak lag1 ve ne yazık ki lag2 daha sık görünmeye başladı. Numunenin verilerle dolup taştığını anlıyorum. Ama gerçek şu ki, daha önce genelleme esas olarak ilk sütunlarda, şimdi son sütunlarda .... pratik olarak, bu yüzden sonuçlar çıkarıyoruz ....

Bu yüzden önceki sürümlere geri dönmeniz gerekiyor.

Uçuşum normal. Örnekte gecikme olmadığı için olabilir mi?

 
Dr.Tüccar :

Gerçekten güzel görünüyor, sonunda ne olacağını merak ediyorum.

Komiteye gelince, bazı örnekler yayınladım, ancak sınıflandırma yaparken yuvarlama ile regresyon kullanan modeller var ve orada her şey o kadar basit değil. Oyları birleştirmek için iki farklı yol denedim:

1) her şeyi sınıflara yuvarlayın, daha fazla oy alınacak sınıfı alın.
Onlar. üç modelden 4 çubuk için bir tahmine sahip olmak
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) Bunu daha da sınıflara yuvarlardım
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) ve tahminleri olan son vektör c(0, 1, 1, 0) olacaktır. oy sayısı.

2) başka bir seçenek de ortalama sonucu hemen bulmak ve ancak bundan sonra onu sınıflara yuvarlamaktır.
sonuç c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3) olacaktır.
veya (0.2666667, 0.4000000, 0.5333333, 0.4000000) veya
c(0, 0, 1, 0)

Sonucun farklı olduğu ve hangi adımın yuvarlanacağına bağlı olduğu görülebilir. Bunlardan hangisi daha standart bilmiyorum ama bana öyle geliyor ki ikinci yöntem yeni veriler üzerinde daha iyi çalışıyor.

Paket tsDyn işlevi SETAR

Eşik değerinin (RSI'da olduğu gibi iki tane olabilir) bir değişken olduğu ortaya çıktı. Harika sonuçlar verir.

Ayrıca sınıflandırmadaki kalibrasyon algoritmalarını da unutmayalım. Gerçek şu ki, sınıf tahmini gerçekte nominal bir değer değildir, algoritma gerçek bir sayı olan sınıf olasılığını hesaplar. Daha sonra bu olasılık örneğin yarıya bölünür ve iki sınıf elde edilir. Ve olasılıklar 0.49 ve 051 ise, bunlar iki sınıf mı? 0.48 ve 052 ne olacak? Sınıf ayrımı mı? Burada, SETAR'a göre, Reshetov'un "çit üstünde" olacağı iki sınıfa ayrılacaktı.

 
Dr.Tüccar :

Gerçekten güzel görünüyor, sonunda ne olacağını merak ediyorum.

Komiteye gelince, bazı örnekler yayınladım, ancak sınıflandırma yaparken yuvarlama ile regresyon kullanan modeller var ve orada her şey o kadar basit değil. Oyları birleştirmek için iki farklı yol denedim:

1) her şeyi sınıflara yuvarlayın, daha fazla oy alınacak sınıfı alın.
Onlar. üç modelden 4 çubuk için bir tahmine sahip olmak
c(0.1, 0.5, 0.4, 0.4) c(0.6, 0.5, 0.7, 0.1) c(0.1, 0.2, 0.5, 0.7) Bunu daha da sınıflara yuvarlardım
c(0, 1, 0, 0) c(1,1,1,0) c(0,0,1,1) ve tahminleri olan son vektör c(0, 1, 1, 0) olacaktır. oy sayısı.

2) başka bir seçenek de ortalama sonucu hemen bulmak ve ancak bundan sonra onu sınıflara yuvarlamaktır.
sonuç c((0.1+0.6+0.1)/3, (0.5+0.5+0.2)/3, (0.4+0.7+0.5)/3, (0.4+0.1+0.7)/3) olacaktır.
veya (0.2666667, 0.4000000, 0.5333333, 0.4000000) veya
c(0, 0, 1, 0)

Sonucun farklı olduğu ve hangi adımın yuvarlanacağına bağlı olduğu görülebilir. Bunlardan hangisi daha standart bilmiyorum ama bana öyle geliyor ki ikinci yöntem yeni veriler üzerinde daha iyi çalışıyor.
Bu bir çift gbpusd . Bu, modelin Brexit doğrulamasını beklediği anlamına geliyor. Henüz geçen yılın verilerini bile işlemedim .... Belki bir tahliye ...

Son testin sonucuna bağlı olarak, makalenin tonunu belirleyeceğim. Modelin çalıştığını görmek her zaman biraz şaşırtıcıdır ve neyin sızdırdığını görmek normaldir.

Komisyonu şu şekilde toplayacağım:

Eğitim verilerindeki model sayısına göre sayısal tip tahminlerin n vektörünü oluşturuyorum (fiyat artışı gerilemesi).

Seçilen modeller üzerinden yanıtın ortalamasını alıyorum.

0,05 ve 0,95 niceliklerini sayıyorum.

Doğrulamada 1. ve 2. adımları tekrarlayın.

Yalnızca ortalamanın niceliklerin ötesine geçtiği örnekleri seçiyorum.

Yanıtı tahmin işaretiyle çarpıyorum, yayılımı çıkarıyorum.

Ortaya çıkan vektörde, tahmin ufkuna bağlı olarak günde 1-4 işlem oranında rastgele dahil edilen m alt örnek oluşturuyorum.

Komite, tekli modellerin performansına kıyasla MO'da üç kat artış gösterdi. Çünkü kalıplar farklı...

 
Как из данных вычленить некие группы данных по условию
Как из данных вычленить некие группы данных по условию
  • ru.stackoverflow.com
нужно найти такие строчки которые повторяются не менее 10 раз в всей выборке и в каждой из найденных одинаковых групок которые повторялись, количество "1" в target.label должно превышать 70% по отношению к "0" вот найденные одинаковые строчки единичек больше чем нулей...
 

O zaman buradan cevap vereyim.

#пара строк из той таблицы, не буду я всё текстом копировать, потом первая строка повторена ещё дважды
dat <- data.frame(cluster1=c( 24 , 2 , 13 , 23 , 6 ), cluster2=c( 5 , 15 , 13 , 28 , 12 ), cluster3=c( 18 , 12 , 16 , 22 , 20 ), cluster4=c( 21 , 7 , 29 , 10 , 25 ), cluster5=c( 16 , 22 , 24 , 4 , 11 ), target.label=c( 1 , 1 , 0 , 1 , 0 ))
dat <- rbind(dat, dat[ 1 ,], dat[ 1 ,])
#результат последней строки поменян на 0 для эксперимента
dat[ 7 , "target.label" ]= 0

library (sqldf)
#для sqldf точек в названиях колонок быть не должно
colnames(dat)[ 6 ] <- "target"

dat1 <- sqldf( "select cluster1, cluster2, cluster3, cluster4, cluster5, avg(target) as target_avg, count(target) as target_count from dat group by cluster1, cluster2, cluster3, cluster4, cluster5" )
dat1
dat1[ dat1$target_count>= 10 & dat1$target_avg> 0.63 , ]
dat1[ dat1$target_count>= 10 & ( dat1$target_avg< 0.37 | dat1$target_avg> 0.63 ), ] #на случай если оба "0" или  "1" встречаются чаще 70 %
 
San Sanych Fomenko :

Paket tsDyn işlevi SETAR

SETAR, komite boyutlandırmasına özel mi, yoksa finansal modeller oluşturmak için ayrı bir konu mu?

Paketin kitapçığına baktım ama neye ihtiyacım olduğunu göremedim... Öyle bir durum var ki: 10.000 örneklik bir eğitim masası var. Ve bu örnekler üzerinde eğitilmiş 100 model. Modelleri test etmek için aynı girdi verilerini tahmin edebilir ve her biri 10.000 tahmin içeren 100 vektör elde edebilirler. SETAR, tüm bu 100 vektörü bir şekilde birleştirmek için kullanılabilir mi?
Ve sonra, yeni veriler üzerinde bir tahmin yapmak için yine 100 tahmin olacak ve bunları tek bir tahminde birleştirmeniz gerekiyor (100 vektör değil, sadece 100 tek tahmin olacak). SETAR, eğitim verilerinden elde edilen komite parametrelerini kullanarak bunu da yapabilecek mi?

 
Dr.Tüccar :

SETAR, komite boyutlandırmasına özel mi, yoksa finansal modeller oluşturmak için ayrı bir konu mu?

Paketin kitapçığına baktım ama neye ihtiyacım olduğunu göremedim... Öyle bir durum var ki: 10.000 örneklik bir eğitim masası var. Ve bu örnekler üzerinde eğitilmiş 100 model. Modelleri test etmek için aynı girdi verilerini tahmin edebilir ve her biri 10.000 tahmin içeren 100 vektör elde edebilirler. SETAR, tüm bu 100 vektörü bir şekilde birleştirmek için kullanılabilir mi?
Ve sonra, yeni veriler üzerinde bir tahmin yapmak için yine 100 tahmin olacak ve bunları tek bir tahminde birleştirmeniz gerekiyor (100 vektör değil, sadece 100 tek tahmin olacak). SETAR, eğitim verilerinden elde edilen komite parametrelerini kullanarak bunu da yapabilecek mi?

Anladığım kadarıyla komitelerle alakası yok.
 
Yuri Reshetov :

Bu yüzden önceki sürümlere geri dönmeniz gerekiyor.

Uçuşum normal. Örnekte gecikme olmadığı için olabilir mi?

Evet, gecikmeler yaptım çünkü önceki sürümlerde genelleme yeteneğini artırdılar, şimdi tahminleri sıralamak için algoritmanın geliştirilmesiyle, bunun gerekli olmadığını düşünüyorum, bu yüzden onlarsız çalışmaya çalışıyorum. izliyoruz, izliyoruz. Bugünün sonuçlarını daha sonra paylaşacağım...