Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 3256
![MQL5 - MetaTrader 5 müşteri terminalinde yerleşik ticaret stratejileri dili](https://c.mql5.com/i/registerlandings/logo-2.png)
Ticaret fırsatlarını kaçırıyorsunuz:
- Ücretsiz ticaret 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
Küçük TF'lerde bellek taşması. Bellek 16 osu ve takas dosyası (mac'te takas) 30gig ile taşar. Örneğin, 50k x 50k korelasyon matrisi var.
Görünüşe göre, Python'un bazı özellikleri, çünkü algoritma MQL'de aynı.
Bu bir ön varyanttır. Bir elek ile daha da hızlıdır.
Bir milyon çubuk olduğunu varsayalım. Dizinin uzunluğu 10'dur. O zaman 10 milyon çift değer için 1d-dizi 80 Mb. nokta 3. - Peki, bellek tüketimi açısından 500 Mb olsun. Neyi hesaba katmadım?
Python'un bazı özellikleri olmalı, çünkü algoritma MQL'de de aynı.
Bu önden bir varyant. Elek daha da hızlı.
Bir milyon çubuk olduğunu varsayalım. Dizinin uzunluğu 10'dur. O zaman 10 milyon çift değer için 1d-dizi 80 Mb. s.3. - Peki, bellek tüketimi açısından 500 Mb olsun. Neyi hesaba katmadım?
Tüm satırların matrisinin tüm satırlarla korelasyonu, döngülerden (her diğer satıra 1 satır) ve hatta döngüden (tüm satırlara 1 satır) birçok kez daha hızlı kabul edilir. Algoritma nedeniyle orada bir tür hızlanma var. Korelasyon hesaplamasının alglib versiyonunda kontrol ettim.
Bana kodu ver, kontrol edelim.
MathAbs () bana gereksiz görünüyor
Python'un bazı özellikleri olmalı, çünkü algoritma MQL'de de aynı.
Bu önden bir varyant. Elek daha da hızlı.
Bir milyon çubuk olduğunu varsayalım. Dizinin uzunluğu 10'dur. O zaman 10 milyon çift değer için 1d-dizi 80 Mb. s.3. - Peki, bellek tüketimi açısından 500 Mb olsun. Neyi hesaba katmadım?
Python'daki hiçbir kütüphanenin bunu hesaplayamaması beni şaşırttı, bu yüzden kafam karıştı.
Pandas RAM'i taşırır, ek yük devasa boyuttadır.
Nampai sadece çöküyor ve yorumlayıcı oturumunu öldürüyor :) herhangi bir hata göstermeden.Bana kodu ver, kontrol edelim.
functions
PearsonCorrM - Tüm satırların tüm satırlarla korelasyonu en hızlısıdır.
//+------------------------------------------------------------------+
//| Pearson product-moment correlation matrix |
//| INPUT PARAMETERS: |
//| X - array[N,M], sample matrix: |
//| * J-th column corresponds to J-th variable |
//| * I-th row corresponds to I-th observation |
//| N - N>=0, number of observations: |
//| * if given, only leading N rows of X are used |
//| * if not given, automatically determined from input |
//| size |
//| M - M>0, number of variables: |
//| * if given, only leading M columns of X are used |
//| * if not given, automatically determined from input |
//| size |
//| OUTPUT PARAMETERS: |
//| C - array[M,M], correlation matrix (zero if N=0 or N=1) |
//+------------------------------------------------------------------+
static bool CBaseStat::PearsonCorrM(const CMatrixDouble &cx,const int n,
const int m,CMatrixDouble &c)
PearsonCorr2 - Satırdan satıra korelasyon. Tam bir matris için: 1. satır 1'den sonraki tüm satırlarla, 2. satır 2'den sonraki tüm satırlarla vb. kontrol edilir.
//| Pearson product-moment correlation coefficient |
//| Input parameters: |
//| X - sample 1 (array indexes: [0..N-1]) |
//| Y - sample 2 (array indexes: [0..N-1]) |
//| N - N>=0, sample size: |
//| * if given, only N leading elements of X/Y are |
//| processed |
//| * if not given, automatically determined from |
//| input sizes |
//| Result: |
//| Pearson product-moment correlation coefficient |
//| (zero for N=0 or N=1) |
//+------------------------------------------------------------------+
static double CBaseStat::PearsonCorr2(const double &cx[],const double &cy[],
const int n)
Ve PearsonCorrM2 aracılığıyla tüm matrisi 1 matrise ve kontrol edilecek başka bir satıra yazabilirsiniz. Böylece 1 satırı tüm satırlara aynı anda kontrol edebilirsiniz. 10. satır için 10'un üzerindeki satırlarla korelasyon zaten hesaplandığından gereksiz bir iş olduğu açıktır.
const int n,const int m1,const int m2,
CMatrixDouble &c)
20k*20k Numpy matrisi 2gb ağırlığındadır.
400 milyon çift sayı 3 gigabayt ağırlığındadır.
MathAbs () bana gereksiz görünüyor.
İşaretleri ayrıca da kontrol edebilirsiniz. Konu bu değil.
400 milyon çift sayı 3 gigabayt ağırlığındadır.
Bu anlaşılabilir bir durum, tüm bu sevinç için yeterli hafıza yok.