Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3257
Alım-satım fırsatlarını kaçırıyorsunuz:
- Ücretsiz alım-satım uygulamaları
- İşlem kopyalama için 8.000'den fazla sinyal
- Finansal piyasaları keşfetmek için ekonomik haberler
Kayıt
Giriş yap
Gizlilik ve Veri Koruma Politikasını ve MQL5.com Kullanım Şartlarını kabul edersiniz
Hesabınız yoksa, lütfen kaydolun
in statistics.mqh.
functions
PearsonCorrM - Tüm satırların tüm satırlarla korelasyonu en hızlısıdır.
Bir yerde yanlışım var ama göremiyorum.
Ama bu dizeyle çalışıyor
const matrix<double> matrix1 = {{2, 2, 3}, {3, 2, 3}, {1, 2, 1}};
[0,0,0]
[0.8660254037844387,0,1]]
Görünüşe göre, bir sütundaki tüm veriler aynıysa, hesaplama atlanıyor.
2. sütunda tüm verileri 2'de bıraktım ve matrisin 2. satırı sıfır kaldı. Yine de köşegeni 1'lerle doldurmak muhtemelen doğrudur.
NOT. İlk başta bunun Alglib ile ilgili bir hata olduğunu düşündüm.
Eski kodda elemanların değerleri
m[row].Set(col, val);
Ve şimdi
m.Set(row,col, val) aracılığıyla ayarlanıyordu;
Geriye dönük uyumluluğun olmaması üzücü. Benim için önemli değil. Şu anda Alglib ile çalışmıyorum. Birinin eski kodları çalışmayı durdurursa, onu düzeltmek gerekecektir.
En üzücü olan şey, eski sürümün
m[satır].Set(col, val);
hata mesajı yazmaz, sadece hiçbir şey yapmaz. İnsanlar kodu değiştirmeyecek ve değiştirmeleri gerektiğini bilmeyeceklerdir. Bir şeyler sayacaktır, ancak matrisler değişmeden.
Görünüşe göre, bir sütundaki tüm veriler aynıysa, hesaplama atlanır.
Pearson satırlar arasında değil de sütunlar arasında mı hesaplama yapıyor?
Öyle görünüyor. Tek bir matris verir.Pearson satırlar arasında değil de sütunlar arasında mı hesaplama yapıyor?
ZY Öyle görünüyor. Bir birim matris üretir.Alglib iyi bir kütüphanedir, MO için her şeye sahiptir. Sinir ağları orada çok yavaş, ilk sürümlerde öyleydi.
in statistics.mqh.
PearsonCorrM - Tüm satırların tüm satırlarla korelasyonu en hızlısıdır.
Buna dayanarak korelasyon matrisini hesapladım.
Performansı ölçtüm.
Sonuç.
Alglib'in matrisi standart matris yönteminden daha hızlı hesapladığı görülüyor.
Bununla birlikte, örüntü arama için, korelasyon matrisini hesaplamak RAM tüketimi açısından çılgınca.
Python'un yukarıdaki örnekte olduğu gibi aynı boyuttaki orijinal matrisi okuması ne kadar sürer?
Ancak, kalıpları bulmak için bir korelasyon matrisini okumak RAM tüketen bir çılgınlıktır.
Dahili olanım i7-6700'ümde daha hızlı çalıştı
Yerel olanın daha yavaş olması garip, sadece kopyalamış olabilirler. Alglibe'nin lisans altında benzersiz bir hızlandırılmış algoritması olması pek olası değildir.
Alglib'in diğer 2 varyantını denediniz mi?
Döngülerde her satırdan her satıra veya her satırdan tüm satırlara sayarsanız, bellek daha ekonomik olacaktır (2 satır veya 1 satır + matris). Ancak daha uzun sürecektir, tam olarak hatırlamıyorum, ancak yerleşik işlevden daha yavaş olacağını düşünüyorum.
Ancak, kalıpları bulmak için bir korelasyon matrisini okumak RAM tüketen bir çılgınlıktır.
Hafıza ile daha da kötüleşir.
Başlatmadan önce
Ve Alglibov PearsonCorrM çalışması sırasında bellek her zaman büyüyor: Ekranda 5 gg ve 4.6 gördüm.
ve standart Matrix.CorrCoef çalışması sırasında.
Görünüşe göre, standart olan minimum bellek kullanımı için optimize edilmiş ve Alglibov olanı hız için optimize edilmiş.
Dahili olanın daha hızlı çalışmasını sağladım: i7-6700'de.
Ve Alglib'in PearsonCorrM programını çalıştırırken, bellek büyümeye devam ediyor: ve 5 gg görüldü, 4,6 ekrana geldi
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum
Ticarette makine öğrenimi: teori, modeller, uygulama ve algo-ticaret
fxsaber, 2023.09.25 18:01
Bu sadece CMatrixDouble 'dan matrix<double>'a bir geçiştir. Hatta hafıza nedeniyle bu matris karşılaştırmasını yapmak zorunda kaldım.
Ticaret, otomatik ticaret sistemleri ve ticaret stratejilerinin test edilmesi üzerine forum
Ticarette makine öğrenimi: teori, modeller, uygulama ve algo-ticaret
fxsaber, 2023.09.25 18:01