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

 
Maksim Dmitrievski :
bu yüzden bu hayatta neye inanacağımı biliyorum. .her şeyin yeniden kontrol edilmesi gerekiyor

+1 - ilk başta aykırı değerleri kaldırmadan yaptım ve normalleştirilmiş verilerin merkezinde (veya sıfırda) güçlü kaymalar elde ettim. Aykırı değerleri çıkardıktan sonra her şey daha kararlı hale geldi.

 
Maksim Dmitrievski :

yani, artık jPredictor değil mi? :)


Peki, neden tam olarak onunla .... Modelleri oradaki herhangi bir kütüphaneden daha hızlı bir şekilde inşa ediyor, vb. Çünkü verileri iyice sallıyor...

 
Michael Marchukajtes :

Peki, neden tam olarak onunla .... Modelleri oradaki herhangi bir kütüphaneden daha hızlı bir şekilde inşa ediyor, vb. Çünkü verileri iyice sallıyor...


sadece uzun bir süre.. :)

 
elibrarius :

+1 - ilk başta aykırı değerleri kaldırmadan yaptım ve normalleştirilmiş verilerin merkezinde (veya sıfırda) güçlü kaymalar elde ettim. Aykırı değerleri çıkardıktan sonra her şey daha kararlı hale geldi.


Pekala, bazen normalizasyon nedeniyle kayma ile ilgili sorunlar olabilir, bu yüzden tüm girdileri artışların logaritması aracılığıyla alıyorum ve normalleştirilmeleri gerekiyorsa merkez her zaman sıfırda olacak

ancak genel olarak, ağırlığın NS'sinin anormallikler üzerinde güçlü bir şekilde kaymadığı gerçeği nedeniyle aykırı değerler daha fazla kaldırılır .. ve örneğin ormanlar onları umursamıyor

 
Maksim Dmitrievski :

sadece uzun bir süre.. :)


Bu yüzden giriş sayısını istatistiksel olarak azaltıyorum ve eğitim zamanla yeterli hale geliyor. Bir iş günü için düşünün, bir model yaptım + 4. seviyenin artırılması. Ayrıca bir geri dönüş modeli yapacağım ve haftalarca kazanmalıyım. neyse umarım öyledir...

 
Maksim Dmitrievski :

Pekala, bazen normalizasyon nedeniyle kayma ile ilgili sorunlar olabilir, bu yüzden tüm girdileri artışların logaritması aracılığıyla alıyorum ve normalleştirilmeleri gerekiyorsa merkez her zaman sıfırda olacak

ancak genel olarak, ağırlığın NS'sinin anormallikler üzerinde güçlü bir şekilde kaymadığı gerçeği nedeniyle aykırı değerler daha fazla kaldırılır .. ve örneğin ormanlar onları umursamıyor

Aslında, logaritma benzer bir şey yapar, ancak güçlü emisyonları atmaz, yaklaşık olarak verir. Ancak, onları da atmıyorum, ancak onları maksimuma eşitliyorum. if(v>maks){v=maks;}

Genel olarak, her öngörücü için izin verilen aralığı önceden belirlemek ve tüm deneyleri bunun içinde yapmak istiyorum. Çünkü benim yöntemim ve logaritma ile bile, örnekten örneğe verilerde bir miktar yanlılık olacaktır.

 
elibrarius :
Aslında, logaritma benzer bir şey yapar, ancak güçlü emisyonları atmaz, yaklaşık olarak verir. Ancak, onları da atmıyorum, ancak onları maksimuma eşitliyorum. if(v>maks){v=maks;}

evet, her şey doğru .. muhtemelen)

önce log(close[0]/close[n]) gibi bir satır alıyorum

ve daha sonra

 void NormalizeArrays( double &a[]) //нормируем от -1 до 1
  { 
   double multiplier;
   double x_min= MathAbs (a[ ArrayMinimum (a)]);
   double x_max= MathAbs (a[ ArrayMaximum (a)]);
   if (x_min>=x_max) multiplier = x_min;
     else multiplier = x_max;
   for ( int i= 0 ;i< ArraySize (a);i++)
     {
      a[i]=a[i]/multiplier;
     }
  }
ve daha sonra küçük örnekler alırsanız, çarpanı değişmemesi için büyük bir örnekten önceden belirleyebilirsiniz.
 
Maksim Dmitrievski :

evet, her şey doğru .. muhtemelen)

önce log(close[0]/close[n]) gibi bir satır alıyorum

ve daha sonra

Min ve max yansıtılmazsa (örneğin -100 ve 90), o zaman örneğin -1'den 0,9'a bir normalleştirmeniz olur. Ama öte yandan merkez hep 0 olacak. Yer değiştirmelerle mücadelede ilginç bir yaklaşım.

Ve görünüşe göre almak zorundasın

a[i]=a[i]/Abs(multiplier);

Aksi takdirde negatif min. her şeyi tersine çevirecek.

 
elibrarius :

Min ve max yansıtılmazsa (örneğin -100 ve 90), o zaman örneğin -1'den 0,9'a bir normalleştirmeniz olur. Ama öte yandan merkez hep 0 olacak. Yer değiştirmelerle mücadelede ilginç bir yaklaşım.

Ve görünüşe göre almak zorundasın

Aksi takdirde negatif min. her şeyi tersine çevirecek.


evet, burada merkezin kaymaması için daha önemli olana dayanarak

orada, biraz daha yüksek, Abises zaten max ve min için alınmış

 double x_min= MathAbs (a[ ArrayMinimum (a)]);
double x_max= MathAbs (a[ ArrayMaximum (a)]);
 
Maksim Dmitrievski :

orada, biraz daha yüksek, Abyss zaten max ve min için alındı

eksik)

Başka bir nokta, örneğin 0 değil, örneğin 0,5 alırsanız - yönteminizle bile örnekten örneğe "yüzer".

Her giriş için yalnızca sabit manuel aralık ayarı yardımcı olacaktır. Ama nasıl tanımlanacağı belli değil. Örneğin, verileri bir yıl boyunca çalıştırabilir ve emisyonların %1-5'ini atabilir. Ve yıl boyunca onlar üzerinde çalışın. Her ne kadar bir yıl içinde değişecekler.