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

 

Parametre kolunu aramak için kod burada, bağlantıdaki gönderideki saldırıda bulunabilir. İlk gönderiyi biraz düzelttim, ilk başarısız örneği normal bir örnekle değiştirdim

 arimaModel <- auto.arima(y = ts(DT$value[trainIndexes],frequency= 48 ),
                          seasonal.test = "ocsb" ,
                          trace=TRUE,
                          stepwise = FALSE,
                          max.q = 48 , 
                          max.order = 48 + 5
                         )

auto.arima işlevinin kendisi uygun pdq PDQ arima parametrelerini arar
ts(DT$value[trainIndexs],frequency=48) # veri tahmin paketinden bir formata dönüştürülür, asıl mesele frekansı belirtmektir, aksi takdirde mevsimsellik kullanılmayacaktır
mevsimlik.test = "ocsb" # Google daha iyi olduğunu söylüyor, emin değilim
stepwise = FALSE #false daha eksiksiz bir parametre seçimini açar. true varsayılan değeri, aramanın yerel bir minimumda takılıp kalacağı ve duracağı anlamına gelir.
max.q =48 #maksimum q değeri aranırken. varsayılan değer == 5, bu veri için yeterli değil
max.order = 48+5 # maksimum miktar p+q+P+Q. varsayılan değer == 5, bu veri için yeterli değil

İşlev uzun süre çalışacak, ancak sonunda kullandığım parametreleri vermeli, hatta belki daha da iyi bulmalı.

Ben kendim fonksiyonun her şeyi bulmasını beklemedim, sadece sezgiyle uygun parametreleri aldım. Veriler trend, yani p = 1 ve P = 1. Grafik, 24 ve 48'in baskın dönemlerini gösteriyor, yani q=24 ve Q = 48 / frekans = 1
336 periyodunu arimaya ekleyemedim, bu ikinci bir mevsimsellik gerektiriyor, tahmin paketi nasıl olduğunu bilmiyor.

Arima zaten bilinen parametrelere sahip pdq PDQ şu şekilde oluşturulur:

Arima(y = ts(DT$value[trainIndexes],frequency= 48 ), order = c( 1 , 0 , 24 ), seasonal = c( 1 , 0 , 1 ))

mevsimsellik aslında (1,0,1) değil (1,0,48) çünkü Q, adeta frekansla çarpılıyor



San Sanych Fomenko :

ARCH'in geri kalanını analiz etmeden arimayı tartışmak tamamen boştur. Arima ile modellendikten sonra durağan bir kalanı olan seriler vardır. Ancak tahmin hatasını durağan olduğu varsayımıyla tartışmak ciddi değildir. Bu son derece moda tutkununun geri kalanı.

Evet, katılıyorum, sadece bu veriler çok döngüsel ve basittir, bu nedenle arima sorunsuz çalışır. Aynı koda eurusd m30 koyarsak, model yeni verilerde keskin fiyat sıçramalarına düşmez.
 
Dr. tüccar :

Parametre kolunu aramak için kod burada, bağlantıdaki gönderideki saldırıda bulunabilir. İlk gönderiyi biraz düzelttim, ilk başarısız örneği normal bir örnekle değiştirdim

auto.arima işlevinin kendisi uygun pdq PDQ arima parametrelerini arar
ts(DT$value[trainIndexs],frequency=48) # veri tahmin paketinden bir formata dönüştürülür, asıl mesele frekansı belirtmektir, aksi takdirde mevsimsellik kullanılmayacaktır
mevsimlik.test = "ocsb" # Google daha iyi olduğunu söylüyor, emin değilim
stepwise = FALSE #false daha eksiksiz bir parametre seçimini açar. true varsayılan değeri, aramanın yerel bir minimumda takılıp kalacağı ve duracağı anlamına gelir.
max.q =48 #maksimum q değeri arama yaparken. varsayılan değer == 5, bu veri için yeterli değil
max.order = 48+5 # maksimum miktar p+q+P+Q. varsayılan değer == 5, bu veri için yeterli değil

İşlev uzun süre çalışacak, ancak sonunda kullandığım parametreleri vermeli, hatta belki daha da iyi bulmalı.

Ben kendim fonksiyonun her şeyi bulmasını beklemedim, sadece sezgiyle uygun parametreleri aldım. Veriler trend, yani p = 1 ve P = 1. Grafik, 24 ve 48'in baskın dönemlerini gösteriyor, yani q=24 ve Q = 48 / frekans = 1
336 periyodunu arimaya ekleyemedim, bu ikinci bir mevsimsellik gerektiriyor, tahmin paketi nasıl olduğunu bilmiyor.

Arima zaten bilinen parametrelere sahip pdq PDQ şu şekilde oluşturulur:

mevsimsellik aslında (1,0,1) değil (1,0,48) çünkü Q, adeta frekansla çarpılıyor



Evet, katılıyorum, sadece bu veriler çok döngüsel ve basittir, bu nedenle arima sorunsuz çalışır. Aynı koda eurusd m30 koyarsak, model yeni verilerde keskin fiyat sıçramalarına düşmez.
Bu "Optimal" parametrelerle ilgilenmedim, regresyon denklemindeki katsayıların - yerleştirmeden sonra yazdırdığı parametreler
 
summary(arimaModel)
Series: ts(DT$value[trainIndexes], frequency = period) 
ARIMA(1,0,24)(1,0,1)[48] with non-zero mean 

Coefficients:
         ar1     ma1     ma2     ma3     ma4     ma5     ma6     ma7     ma8     ma9    ma10    ma11    ma12    ma13    ma14    ma15    ma16    ma17    ma18
      0.8531  0.3469  0.3324  0.3512  0.3564  0.3176  0.2676  0.2223  0.1904  0.2015  0.2241  0.2529  0.2424  0.2383  0.2408  0.2507  0.2279  0.1701  0.1418
s.e.  0.0316  0.0350  0.0413  0.0462  0.0506  0.0542  0.0559  0.0554  0.0537  0.0514  0.0494  0.0481  0.0477  0.0469  0.0455  0.0451  0.0448  0.0439  0.0415
        ma19    ma20   ma21     ma22     ma23     ma24    sar1     sma1       mean
      0.0813  0.0525  0.028  -0.0152  -0.0226  -0.0159  0.9899  -0.4300  1816.9447
s.e.  0.0390  0.0358  0.032   0.0280   0.0224   0.0180  0.0015   0.0132   687.9652

sigma^2 estimated as 1442:  log likelihood=-23883.84
AIC=47825.68   AICc=47826.05   BIC=48012.95

Training set error measures:
                     ME     RMSE      MAE         MPE     MAPE      MASE         ACF1
Training set -0.1648644 37.86381 25.64976 -0.07217873 1.573367 0.1610166 0.0002493082
Dosyalar:
arimaModel.zip  140 kb
 
Dr. tüccar :

Garip bir masa.

Yine de.

Katsayının değerini se ile karşılaştırın Nadir istisnalar dışında %10'dan fazla. Nedense, t'ye kadar olan puanı göremiyorum, ancak alındaysa, bu %10'luk şu anlama gelir:

Katsayı tahminleri için boş hipotez: Katsayının anlamlı olmama olasılığı. %10'dan fazla sapma, tüm bu katsayıların anlamlı OLMADIĞINI gösterir, yani. Bir regresyon denkleminiz YOKTUR.


not.

Genellikle anlamlı olan katsayılar yıldızlarla işaretlenir. Katsayılar anlamlı OLMADIĞINDAN, diğer tüm sayılar sadece sayıdır.

hist(residuals(arimaModel), breaks= 100 )


Katsayıların anlamsız olmasının nedeni, soldaki kuyruğun sağdakinden daha kalın olmasıdır.

Gözle değil nicel olarak sorunları tanımlamanıza ve bunları çözmek için araçlar seçmenize izin veren testler vardır.

Çözüm:

ARIMA modeli, kullanılan zaman serilerine uygulanamaz.

 
Maksim Dmitrievski :

Piyasada, herhangi bir sınıflandırıcı, piyasa durağan olmadığı için yeniden eğitilir. Bunun yeniden eğitilmemesini istiyorsak, o zaman Millet Meclisi'ni tüm tarih için eğitmemiz gerekir. Aksi takdirde hep öyle olacaktır ki piyasa döngüsü değişmiş ve model bozulmuştur. Bu nedenle, tek yetkin yaklaşım, yeniden eğitim veya ticaret sürecinde ek eğitimdir :) ama burada, 15 yıllık bir geçmişe müdahale etmeden sürekli olarak ayda% 1000 verecek olan kepçelere inanmıyoruz.

Genel olarak, hala bu avantajı göremiyorum - Forex'te yeniden eğitilmiş bir NN ne anlama geliyor? Bu, test örneğinde kazanmadığı zaman mı? hayır ... hayır hayır hayır ... mesele durağan olmamaktır. Yeniden eğitilmiş olması normaldir, ek olarak başka yaklaşımlar aramanız yeterlidir.


Burada kesinlikle haklısınız, kavramın kendisi bilinmezken yeniden eğitimden nasıl bahsedebiliriz ???? Yeniden eğitilmiş NS ne anlama geliyor??? Herkes gördüğü gibi atsın, ilk ben başlayacağım.

1. NN, yeni veriler üzerinde iyi çalışmıyor. Doğru olsun ya da olmasın, sinyalleri istikrarlı bir şekilde bölmediğini ima ederek, önemli olan kötüyü iyiden ayırma kararlılığıdır .... Kararlı bir şekilde birleşebilir (modelin tersine çevrilmesi), ancak aynı zamanda gerçek kötüyü iyiden ayırmak iyi değildir.

2. Model, eğitim aralığının yarısından daha azında iyi performans gösterdi. Böyle bir yaklaşımı varsayarsak, iyi eğitilmiş bir model, eğitim aralığının %50'sinden veya daha fazlasından itibaren çalışmalıdır.

3. Yeni verilerdeki denge eğrisinde keskin inişler ve çıkışlar var (belirli bir zaman diliminde çalışan ve 1-2 büyük işlem nedeniyle kârlılığa yol açan, ancak genel olarak bir boşaltıcı olan rastgele bir model)

Ve sınıflandırma hakkında, işte cevabım.

SABİT DEĞİL Yavaşça değişen bir değer, çubuk kapanır kapanmaz yavaşça yüzmeye başlar. Ve çubuk tarihte ne kadar ileri giderse, bu kötü şöhretli DURAĞAN (belirli bir kaosun veya bir bütün olarak pazarı değiştiren geçici bir değerin sembolü) o kadar fazla ve daha ileri hale gelir, bu nedenle, sınıflandırma modelini eğittikten sonra, şunu elde edeceğiz. bu değer doğrudan modelin kalitesine bağlıdır. Model ne kadar eski olursa, bu durağanlıktaki değişime göre kalite seviyesi o kadar düşük olur. Görev, birkaç üç pip :-) içinden sıkmak için yeterince uzun çalışabilecek bir model oluşturmaktır.

 
Michael Marchukajtes :

Yeniden eğitilmiş NS ne anlama geliyor???

Eğitim verileri, özellikle Forex'te genellikle gürültülüdür ve modeli %100 doğrulukla eğiterek, bu sesleri istenen sonuçla birlikte yeniden üretmesini öğretiriz. Ve NN'nin sonucu doğru bir şekilde tahmin etmeye başladığı, ancak gürültüyle birlikte doğru cevapları aptalca ezberlemeye henüz başlamadığı anda durmak için eğitime ihtiyacımız var. Bu, eğer kendi sözlerinle. Bilimsel ise, o zaman https://ru.wikipedia.org/wiki/Retraining


https://commons.wikimedia.org/wiki/File:Overfitting.svg

İşte iyi bir örnek. iki model,
ilki (yeşil hat) bu verileri %100 doğrulukla öğrendi. Gözle, kırmızı ve mavi boşlukların sınırındaki birçok noktanın hafifçe yana kaydırıldığını (gürültü) görüyoruz ve aslında bu iki boşluğun sınırı kırık bir çizgi değil, bir çeşit ortalama olmalı.
İlk model yeniden eğitildi.
Ve gürültüyü yok sayan ve düzlemi anlam olarak açıkça bölen ikinci bir model (siyah çizgi) var.

 
Dr. tüccar :

Eğitim verileri, özellikle Forex'te genellikle gürültülüdür ve modeli %100 doğrulukla eğiterek, bu sesleri istenen sonuçla birlikte yeniden üretmesini öğretiriz. Ve NN'nin sonucu doğru bir şekilde tahmin etmeye başladığı, ancak gürültüyle birlikte doğru cevapları aptalca ezberlemeye henüz başlamadığı anda durmak için eğitime ihtiyacımız var. Bu, eğer kendi sözlerinle. Bilimsel ise, o zaman https://ru.wikipedia.org/wiki/Retraining


https://commons.wikimedia.org/wiki/File:Overfitting.svg

İşte iyi bir örnek. iki model,
ilki (yeşil hat) bu verileri %100 doğrulukla öğrendi. Gözle, kırmızı ve mavi boşlukların sınırındaki birçok noktanın hafifçe yana kaydırıldığını (gürültü) görüyoruz ve aslında bu iki boşluğun sınırı kırık bir çizgi değil, bir çeşit ortalama olmalı.
İlk model yeniden eğitildi.
Ve gürültüyü yok sayan ve düzlemi anlam olarak açıkça bölen ikinci bir model (siyah çizgi) var.

Bazen beyin bozulmaya başlar.. forex'teki gürültü hakkında, bu bir radyo sinyali değil, değil mi? Forex'te gürültü nereden geliyor? Mikhail'in modeli ayda 30-50, günde 1-2 işlem yaptıysa, gürültü mü yaptı yoksa ne yaptı? Nedense bu tanım buraya uymuyor :)

Forex yeniden eğitimi, doğru şekilde sınıflandırılmamış (geçici) kalıplar. Ancak Forex'te başka kimse yok, bu nedenle herhangi bir model bir dereceye kadar yeniden eğitilecek.

ps bu nedenle, enstrümanları sıralamanız ve şu anda en kalıcı BP'yi seçmeniz gerekir, örneğin büyüyen hisse senetleri veya endeksler

 

Her şey yolunda!!!! Ama yeniden eğitimin matematiksel bir açıklaması da var...

Denetimli eğitimde, eğitim setindeki ağ hatasını azaltmaya çalışıyoruz. Ve gerçek sayılarla uğraşıyorsak, bu hata azaltma sonsuz olabilir. AMA bir zaman gelir ki hatayı azaltmak, test setinde bile modelin bozulmasına yol açar. Bundan şu sonucu çıkarabiliriz!

Teorik olarak, her veri seti için mutlak öğrenme vardır, bu, 0.000000000000000000000001 modelinin yeniden eğitilmediği ve 0.000000000000000000000000009'un zaten yeniden eğitildiği hata ölçeğinde belirli bir çizgidir, fizikçilerin dilinde bir tür "mutlak sıfır". Bu noktanın sağında yer alan tüm hata modelleri yetersiz eğitimli, solundakiler ise sırasıyla fazla uydurma olarak kabul edilir. Bunun sadece kişisel anlayışımın bir teorisi olduğunu hatırlatmama izin verin, hiçbir şey iddia etmiyorum.

Belirli bir veri kümesi için bir tür ideal model.

Herhangi bir AI'nın görevi, mutlak öğrenme noktasına mümkün olduğunca yaklaşmak, ancak onu aşmamaktır. BENİM NACİZANE FİKRİME GÖRE.


Bu teoride, bunun belirli bir nokta değil, hem tam eğitimli modellerin hem de aşırı eğitimli modellerin olduğu belirli bir alan olduğu varsayılır. Karma alan, yeterince geniş değil. Peki, sadece ... hayal edin ...... Neden ??? Benim gözlemlerimden çıkardığım bu.

Öyle ya da böyle, AI'nın yapması gereken ilk şey, o geçiş bölgesine çarptığından emin olmaktır. Ama işte o an...

Numuneyi durağan olarak bölerseniz, büyük olasılıkla aşırı uydurma sınırının belirli bir değeri olacaktır (büyük olasılıkla), numune her seferinde rastgele bölünürse, bu bir ALAN .... geçiş .... IMHO

AI'nın bu alana geleceği garanti edilmezse, o zaman doğru yapılmamıştır. Hangi modelin orada duracağı başka bir konu!!!!

Bütün bunları JPrediction kullanımına dayanarak öğrendim.

Aynı dosyayı eğitmeye başlayarak, örneklemin ramdom bölünmesini dikkate alarak 10 farklı eğitim sonucu aldım, en kötüsü %75, en iyisi %85 genellemeydi (şimdi optimize edicinin göstergelerini alıyoruz, fark etmez. şimdilik doğru ya da yanlış... örnek olarak ....) Yani, 75 ile 85 arasında sonsuz sayıda model seçeneğinin olduğu bir alanımız, bir sinir ağımız olduğunu varsayabiliriz. Kural olarak, 80-82 bölgesinde bir ortalama seçiyorum ve ardından OOS'ta zayıf olacak bir modelle karşılaşabilirsiniz. Çünkü limit polinomun tanımı kolay bir soru değildir.

İşte 35 dakikalık bir video ve izle, burada onun hakkında konuşuyor ....

https://www.youtube.com/watch?v=qLBkB4sMztk

001. Вводная лекция - К.В. Воронцов
001. Вводная лекция - К.В. Воронцов
  • 2014.12.22
  • www.youtube.com
Курс "Машинное обучение" является одним из основных курсов Школы, поэтому он является обязательным для всех студентов ШАД. Лектор: Константин Вячеславович Во...
 
Michael Marchukajtes :

İşte 35 dakikalık bir video ve izle, burada onun hakkında konuşuyor ....

https://www.youtube.com/watch?v=qLBkB4sMztk


Evet bu amcayı zaten izlemiştim tekrar bakacağım senks)

Matematiksel anlam açıktır, ancak gerçek anlam - Forex'te aşırı eğitimli bir NN'nin tamamen farklı bir anlamı vardır ve bu tür aşırı eğitimden kurtulmanın bir yolu yoktur :) Bu nedenle, ya zor sıralama ve trend araçları arayışı ya da sürekli uyarlanabilir NN'yi yeniden eğitmek, ancak hangi kriterlere göre - zaten yaratıcı bir soru var.

 
Maksim Dmitrievski :

Evet bu amcayı zaten izlemiştim tekrar bakacağım senks)

Matematiksel anlam açıktır, ancak gerçek anlam - Forex'te aşırı eğitimli bir NN'nin tamamen farklı bir anlamı vardır ve bu tür aşırı eğitimden kurtulmanın bir yolu yoktur :) Bu nedenle, ya zor sıralama ve trend araçları arayışı ya da sürekli uyarlanabilir NN'yi yeniden eğitmek, ancak hangi kriterlere göre - zaten yaratıcı bir soru var.


Gerçek anlam şudur. Kontrol alanında kötü bir bölünme varsa, bunun doğru olup olmadığı önemli DEĞİLDİR, ayrılma gerçeğinin kendisi zayıftır. Ve model, eğitim aralığının% 50'sinden fazla çalışmadı, o zaman böyle bir model aşırı eğitilmiş olarak kabul edilir .... IMHO

Neden: