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

 
San Sanych Fomenko :
Denedim, ancak çabucak bozuldu: hafta sonu deliklerle ne yapılacağı belli değil.

Delikler hafta sonları diskolarda çekilir :)

Sanych ne zaman normal alıntı yapmayı öğreneceksin? üç kelime yazmak için forumun yarım sayfasını alıntılamana gerek yok...

Şimdi konuyla ilgili daha fazla

Şamdan paketini kullanarak çeşitli şamdan kombinasyonları ve başka şeyler yaptım, MO'yu eğitmeye çalışırken, hem eğitimde hem de yeni verilerde bu hata 0'ın %100'ü için eğittiği ortaya çıktı, bazı tahmin ediciler olduğu açık. her işlevi anlamamak için geleceğe bakan veriler, ormana göre en önemli olan ve diğerlerinden güçlü bir şekilde öne çıkan ilk 6 öngörücüyü kaldırdım, aralarında olacağını umdum. Geleceğe bakan ve MO'yu tekrar eğitenler olun, hata yaklaşık %3 idi, karoch Ne olduğunu bilmiyorum, neden böyle muhteşem sonuçlar, belki kodumda bir hata ...

Ayıklamakla ilgilenen Karoch, seçimi nasıl yaptığımın kodu burada, hedefim "mum rengi" idi.

Kodda, yalnızca seçimin kendisi, hedef ve diğer manipülasyonlar, istediğinizi yapın

Deneyin, deneyin, çünkü modeliniz için ek 30 özellik gibi

library (rusquant)
# загружаю последние 500 дней котировок индекса ртс
getSymbols( "SPFB.RTS" ,src = "Finam" ,period= "5min" ,from = Sys.Date()- 500 )
chart_Series(  tail(SPFB.RTS, 100 )  )

D <- SPFB.RTS

# cчитаем функции по свечным формациям и прочим добром
library (candlesticks)

X29<- TrendDetectionSMA(D)  
X28<- TrendDetectionChannel(D)  
X27<- nextCandlePosition(D)  
X26<- CSPThreeOutside(D)
X25<- CSPThreeMethods(D)
X24<- CSPThreeInside(D)
X23<- CSPTasukiGap(D)
X22<- CSPStomach(D)
X21<- CSPStar(D)
X20<- CSPShortCandleBody(D)
X19<- CSPShortCandle(D)
X18<- CSPPiercingPattern(D)
X17<- CSPOutsideDay(D)
X16<- CSPNLowerClose(D,N = 3 )
X15<- CSPNHigherClose(D,N = 3 )
X14<- CSPMarubozu(D)
X13<- CSPLongCandleBody(D)
X12<- CSPLongCandle(D)
X11<- CSPKicking(D)
X10<- CSPInvertedHammer(D)
X9 <- CSPInsideDay(D)
X8 <- CSPHarami(D)
X7 <- CSPHammer(D)
X6 <- CSPGap(D)
X5 <- CSPEngulfing(D)
X4 <- CSPDoji(D)
X3 <- CSPDarkCloudCover(D)
X2 <- CandleLength(D)
X1 <- CandleBodyLength(D)


dat <- cbind.data.frame(D, X1,X2,X3,X4,X5,X6,X7,X8,X9,X10,
                        X11,X12,X13,X14,X15,X16,X17,X18,X19,
                        X20,X21,X22,X13,X24,X25,X26,X27,X28,X29)


# true , false заменяю на 1 и - 1 а NA-шки на 0
dat[dat== TRUE ]     <- 1
dat[dat== 0 ]        <- - 1
dat[is.na(dat)]    <- 0

# пишем все в файл с которым удобно работать в будущем
save(dat,file = "D:/R/candles_lib/candle_dat.RData" )   # ваш путь

 
mytarmailS :

Sanych ne zaman normal alıntı yapmayı öğreneceksin?

Tahminciler geleceğe bakmazlar - hedefi tekrar ederler.

İleri test nerede? Che eğitimi tartışmak için?

not

Hepsi istek üzerine

 
San Sanych Fomenko :

Tahminciler geleceğe bakmazlar - hedefi tekrar ederler.

İleri test nerede? Che eğitimi tartışmak için?

Sadece kendine öğretmeye çalış ve ne olduğunu yaz, zaten tartışılacak bir şey olacak, umarım ..
 
mytarmailS :
Sadece kendine öğretmeye çalış ve ne olduğunu yaz, zaten tartışılacak bir şey olacak, umarım ..

nedenini anladım.

Şimdi yeni bir fiyat geldi, tüm tahminciler bunu hesapladı ve daha sonra bu tahmin ediciler kullanılarak aynı fiyat hesaplandı - hiçbir şey tahmin etmiyoruz. Montaj hatası sıfırdır. Şaşırtıcı bir şey görmüyorum.

Tahmin ilginçse, D'yi bir adım sola hareket ettirin. Bu model bir adım ileriyi öngörüyor. belki birkaçı için

 
San Sanych Fomenko :

nedenini anladım.

Şimdi yeni bir fiyat geldi, tüm tahminciler bunu hesapladı ve daha sonra bu tahmin ediciler kullanılarak aynı fiyat hesaplandı - hiçbir şey tahmin etmiyoruz. Montaj hatası sıfırdır. Şaşırtıcı bir şey görmüyorum.

Tahmin ilginçse, D'yi bir adım sola hareket ettirin. Bu model bir adım ileriyi öngörüyor. belki birkaçı için

Yeni fiyatı mı kastediyorsunuz?

verdiğim kod sadece finanstan indirilen fiyatlardan tahminler yapıyor.

sonra veriler kaydedilir

# пишем все в файл с которым удобно работать в будущем
save(dat,file = "D:/R/candles_lib/candle_dat.RData" )   # ваш путь

o zaman bu mum_dat.RData verilerini yeni bir komut dosyasında zaten açıyoruz, hedefi zaten yapıyoruz ve MO'yu eğitiyoruz, hiçbir şey yok   yeni fiyat geldi

onun gelecek bir yeri yok. Doğal olarak hedefi bir adım kaydırdım, bunlar tahminin altında, bu ilk öğretişim değil

yani başka bir şey var

Yoksa seni anlamadım?
 
mytarmailS :

Yeni fiyatı mı kastediyorsunuz?

verdiğim kod sadece finanstan indirilen fiyatlardan tahminler yapıyor.

sonra veriler kaydedilir

# пишем все в файл с которым удобно работать в будущем
save(dat,file = "D:/R/candles_lib/candle_dat.RData" )   # ваш путь

o zaman bu mum_dat.RData verilerini yeni bir komut dosyasında zaten açıyoruz, hedefi zaten yapıyoruz ve MO'yu eğitiyoruz, hiçbir şey yok   yeni fiyat geldi

onun gelecek bir yeri yok. Doğal olarak hedefi bir adım kaydırdım, bunlar tahminin altında, bu ilk öğretişim değil

yani başka bir şey var

Yoksa seni anlamadım?
Ve hedef nedir?
 
San Sanych Fomenko :
Ve hedef nedir?

önceki kapanışın altında yukarıda kapat

load(file = "D:/R/candles_lib/candle_dat.RData" )

Y <- diff(dat$SPFB.RTS. Close )
Y[Y>= 0 ] <- 1
Y[Y< 0 ] <- 0

dat <- dat[-nrow(dat),]
Y <- as.factor(Y)

tr <- 1 : 10000
ts <- 10001 : 15000


library (randomForest)
cm <- colnames(dat)
colnames(dat) <- paste0( "var_" , 1 :ncol(dat))

model <- randomForest(Y[tr]~., dat[tr,]  , ntree= 100 , mtry= 10 )

layout( 1 : 2 )
plot(model)
varImpPlot(model,type = 2 )

pr <- predict(model,dat[ts,])


library (caret)
confusionMatrix(Y[ts] , pr)
 
mytarmailS :

önceki kapanışın altında yukarıda kapat

Hedef kaymasının nerede olduğunu anlayamıyorum? Farkına varırken? Ancak 2'den çıkarılarak elde edilen ilk öngörücü dizisine hedefin 1. değeri atanır, yani. İndeks 2 ile hedef için aşağıdaki değerleri BİLİN.
 
San Sanych Fomenko :
Hedef kaymasının nerede olduğunu anlayamıyorum? Farkına varırken? Ancak 2'den çıkarılarak elde edilen ilk öngörücü dizisine hedefin 1. değeri atanır, yani. İndeks 2 ile hedef için aşağıdaki değerleri BİLİN.

farklılaşma sırasında, seri bir eleman tarafından kısaldığından, kayma otomatik olarak gider, o zaman gereken tek şey numuneyi (gözlemleri içeren tablo) son eleman kadar kısaltmaktır.

işte bir örnek

SomeData <- c( 10 , 20 , 30 , 20 , 10 , 20 , 30 , 40 , 50 , 40 )

Y <- diff(SomeData)

cbind.data.frame(  Y , SomeData[-length(SomeData)])


alırız

   Y                   SomeData[-length(SomeData)]
1    10                            10
2    10                            20
3 - 10                            30
4 - 10                            20
5    10                            10
6    10                            20
7    10                            30
8    10                            40
9 - 10                            50
 
mytarmailS :

farklılaşma sırasında, seri bir eleman kısaldığından, kayma otomatik olarak gider, o zaman tüm gereken seçimi son eleman kadar kısaltmak

Tahmin edicileri değil, hedefi sola kaydırmak gerekiyor

Tekrar açıklamaya çalışacağım.


İndeks 1'e sahip tahmin ediciler satırı, İKİNCİ ve ilk tahmin ediciler satırından = elde edilir. Sonuç, dizin 1 ile konuma yazılır.

Bir indeksi =1 ve sahip olduğu gibi hedefleyin. Ancak değerini, ikinci satır olan GELECEĞİN tahmincilerinin bilgisine dayanarak tahmin ediyoruz.

Hedefi 1 kaydırın, yani. Y[1:n] yerine Y[2:n] alın ve hesaplayın

Neden: