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

 
Andrey Dik :

Burada, açıkça heceler halinde, yaptığım şeyi çizdim:

Daha fazla ayrıntı: mevcut çubukta, satın alma, geleceğe yönelik en küçük çubuk sayısını sayma ve anlaşmanın karlı olup olmayacağını kontrol etme gibi bir satın alma sinyali, eğer öyleyse, kapatın, değilse, bir çubuk daha sayın ileri ve tekrar kontrol edin. Ve böylece maksimum çubuk sayısına kadar devam edin ve sonunda kapatın. Böyle bir öğrenme mekanizması.

Burada net olmayan ne? ... Bu bir fantezi değil, şimdi sadece bunu yapıyorum. Amaç fonksiyonu, minimum dezavantajlarla kar maksimizasyonudur. Genetiğimle öğretiyorum.

Ve ne öğretiyoruz? Sanki bu şekilde yapılabilir mi?
 

San Sanych Fomenko :
1. Ne öğretiyoruz?

2. Uygulanması mümkün ve aynen böyle görünüyor mu?

1. Amaç fonksiyonu - minimum dezavantajlarla kar maksimizasyonu. Genetiğimle öğretiyorum.

2. Evet, çok basit.

 
R paketinin hangi dilde yazıldığını nasıl öğreneceğini bilen var mı?
 
mytarmailS :
R paketinin hangi dilde yazıldığını nasıl öğreneceğini bilen var mı?

Belgeler. R'deki Yardım'dan açıldı:

  • R Uzantıları Yazma
  • R Dahili

Ayrıca CRR ile yapılan çalışmalar detaylı olarak anlatılmıştır.

 

Beyler, benden yeni bir görev:

İşte .R biçiminde bir veri kümesi: https://drive.google.com/open?id=0B_Au3ANgcG7CcjZVRU9fbUZyUkE

Kümede yaklaşık 40.000 satır, 101 sütun vardır. En sağdaki sütun hedef değişkendir. Sol - 100 giriş.

İlk 20.000 gözlem için kalan 100 sütuna dayalı olarak 101. sütunun değerini tahmin eden bir regresyon modeli oluşturmaya çalışmanızı öneririm.

Kalan 20.000'den fazla gözlemde, oluşturulan model R^2'yi 0,5'ten daha kötü göstermemelidir.

Ardından veri üretme yöntemini ortaya koyuyorum ve çözümümü veriyorum.

İpucu, zaman serisi verileridir. Giriş 100 okuma, tahmin 1 önde. Bunlar fiyatlar, kotasyonlar veya bunların türevleri değildir.

Alexey

 
Bu verileri csv olarak da gönderebilirim. Tahmin edicilerin önemi hakkında Coryphans'ın görüşlerini duymak ilginç olurdu.

Verilerin tamamen sentetik ve tamamen eğlence amaçlı olduğunu tekrarlıyorum.
 

Vtreat paketi aracılığıyla tahmin edicilerin önemini bulmaya çalıştım. Ancak paket, öngörücüler arasındaki ilişkileri nasıl arayacağını bilmiyor, yalnızca öngörücü ile hedef arasındaki doğrudan ilişkileri hesaba katıyor ve bu tür bir görev için pek uygun değil.

treatments <- designTreatmentsN(dat_ready[ 1 : 20000 ,], colnames(dat_ready)[ 1 : 100 ], tail(colnames(dat_ready), 1 ))
treatments$scoreFrame #важность предикторов определяется через колонку "sig"
treatments$scoreFrame[order(treatments$scoreFrame$sig),] #предикторы отсортированы по важности

Vtreat'in önemine bakılırsa, lag_diff_51 ve lag_diff_52 en kullanışlı olanlardır. Yavaş yavaş alınan listeye göre başka tahminciler ekledim, orman için eğitim verilerinde R ^ 2'nin büyümesine baktım. Sonuç olarak, bu tahmin edicilere karar verdim - 51, 52, 53, 54, 55, 17, 68, büyük olasılıkla hedefi hesaplamak için kullanılıyorlar. Onlarla eğitim verileri hakkında R^2> 0.9, ancak test ve doğrulamalarda her şey kötü. Şimdi bu öngörücülerle farklı matematiksel işlemler denemeniz, formülleri seçmeniz vb. gerekir, böylece R ^ 2 çapraz doğrulamada da büyür. daha fazla bakmayacağım :)

Daha sonra eklendi:
Biraz daha deney yaptım, var olanlardan farklı matematiksel işlemlerle bir sürü yeni tahminci yaptım. Hem vtreat hem de orman bu iki kombinasyona çok düşkündür: toplam(51.52) ve ortalama(51.52). Ama hedef değerin formülünü alamadım. Ve bu tahmin ediciler üzerinde eğitilmiş modeller de hiçbir şeyi yeterince tahmin edemez.

 

100 giriş? Kesinlikle.

Neden bin değil?

Beyler, sinir ağının ne olduğunu kesinlikle anlamıyorsunuz.

 
Dr.Tüccar :

Vtreat paketi aracılığıyla tahmin edicilerin önemini bulmaya çalıştım. Ancak paket, öngörücüler arasındaki ilişkileri nasıl arayacağını bilmiyor, yalnızca öngörücü ile hedef arasındaki doğrudan ilişkileri hesaba katıyor ve bu tür bir görev için pek uygun değil.

Vtreat'in önemine bakılırsa, lag_diff_51 ve lag_diff_52 en kullanışlı olanlardır. Yavaş yavaş alınan listeye göre başka tahminciler ekledim, orman için eğitim verilerinde R ^ 2'nin büyümesine baktım. Sonuç olarak, bu tahmin edicilere karar verdim - 51, 52, 53, 54, 55, 17, 68, büyük olasılıkla hedefi hesaplamak için kullanılıyorlar. Onlarla eğitim verileri hakkında R^2> 0.9, ancak test ve doğrulamalarda her şey kötü. Şimdi bu öngörücülerle farklı matematiksel işlemler denemeniz, formülleri seçmeniz vb. gerekir, böylece R ^ 2 çapraz doğrulamada da büyür. daha fazla bakmayacağım :)

Daha sonra eklendi:
Biraz daha deney yaptım, var olanlardan farklı matematiksel işlemlerle bir sürü yeni tahminci yaptım. Hem vtreat hem de orman bu iki kombinasyona çok düşkündür: toplam(51.52) ve ortalama(51.52). Ama hedef değerin formülünü alamadım. Ve bu tahmin ediciler üzerinde eğitilmiş modeller de hiçbir şeyi yeterince tahmin edemez.

Yakın yürü ama yanından. Hepsi belirtilmemiştir. Çıktı ve girdiler arasında doğrusal korelasyonlar vardır. Ama pek yardımcı olmayacaklar.

Ormanınız yeniden eğitildi. CV'ye bakmak daha iyidir. Size verilerin sırrını daha sonra anlatacağım. Temel olarak, basit. Girişlerde çok fazla fazlalık var.
 

Ve yine de, 0.9 fazla uyuyor. Eğitim setinde 0,6'dan büyük R^2 gerçekçi bir maksimumdur.

Ayrıca etkileşimde bulunmayı unutmayın. Tek bağlantılar yanlış yöne yol açabilir.

Burada kendi sorunumu çözmeye çalışıyorum. Tek katman NS kullandım. R^2 testinde 0.148'den fazla değil. uymuyor...