Ticarette makine öğrenimi: teori, pratik, ticaret ve daha fazlası - sayfa 212
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
R, MetaTrader/MQL'de gerçek "karmaşık hesaplamaları basit ve hemen şimdi yapma" ihtiyacından ne kadar uzakta olduğumuzu görmemi sağlayan harika bir sistem.
Biz (C++ geliştiricileri) kanımızda "her şeyi kendiniz yapabilirsiniz ve düşük seviyeli bir taban ve hesaplama hızı veriyoruz" yaklaşımına sahibiz. Performans konusunda fanatikiz ve başarılıyız - 64 bitte MQL5 harika.
R ile bizzat oturduğumda, tek bir satırda mümkün olduğunca çok sayıda güçlü fonksiyona ihtiyacınız olduğunu fark ettim ve genellikle size araştırma yapma fırsatı veriyor.
Bu nedenle keskin bir dönüş yaptık ve MetaTrader 5'i yükseltmeye başladık:
Tabii ki, yolculuğun başlangıcındayız, ancak kuvvetlerin uygulanması için doğru vektör zaten belli.
Motivasyonunuz harika! Her şey tam dediğiniz gibiyse ninjayı iliklerine kadar ısırırsınız . çoklu grafik)))
Ancak, IMHO, burada uv yazdıklarınıza ek olarak, radikal olarak yeni bir şey yaratmanız gerekecek. Bay Reshetov, sadece piyasadan indirilenlerle değil, keyfi veri kümeleriyle çalışmak için bir araştırma stüdyosuna ihtiyacımız var, çünkü neler olduğunu anlamak için birçok şeyin tamamen önemsiz, sentetik örnekler üzerinde denenmesi gerekiyor. ben bir programcı programcısı olarak)) Farklı grafikler, dağılımlar, isabet haritaları, dağılımlar vb. çizin. Genel olarak, böyle bir araç setinin doğrudan metaeditrden temin edilmesi çok güzel olurdu, ama açıkçası, ummuyorum bile ...
Ama genel olarak, elbette, düşüncelerinizin eğilimini seviyorum))
Ayrıntılar veya doğrulama olmadan kibar bir yanıttı. Ve cevap Wolfram Alpha ve Matlab ile uyuşmadı, ki bu bir problem.
Kenara gitmeye gerek yok - temel sorun açıkça belirlendi.
Cevabı Wolfram'ınkiyle eşleşmedi de ne demek? Kişinin cevabının "sıfır" olmaması çakışmadı mı? Adam, integralin = 0 olduğu sıfır noktasında, yoğunluğun mutlaka sıfır olması gerektiğini düşünmediğini söyledi (soruyu ona böyle koydum). Aynen öyle dedi. Ve herhangi bir noktadaki yoğunluk değerinin alakalı olmadığını da ekledi (eldeki konuyla alakalı olmadığı için "alakasız" okudum). Bu oldukça açık bir matematiksel ifadedir.
Tartışılan konuda matematik önemlidir.
Böyle ve böyle bir fonksiyonun integraline sahibiz (gama dağılımının olasılık yoğunluk fonksiyonu ). Herkes, parametrelerle bir denklemi Wolfram'a kaydırabileceğiniz gerçeğine zaten alıştı: entegrasyon alanını ve fonksiyon parametrelerini belirtin, o entegre edecek ve cevabı verecektir. Kendiniz oturup bu integrali belirli bir alan üzerinde hesaplarsanız, sıfırda 0, tüm alanda 1 ve bazı alt alanlarda [0,1] değeri alacağınızı düşündünüz. Sadece denklemi çözerek!
Gama dağılımının olasılık yoğunluk fonksiyonunun uç noktadaki limitinin pozitif alanda bir yere gitmesi bu fonksiyonun bir özelliğidir. Bu işlevi entegre ederek olanlarla hiçbir ilgisi yoktur. Bu adam bunun hakkında yazdı.
Kök sorulardan çekinmiyorum. Bakış açımızın bizden bağımsız bir kişi tarafından onaylandığını bir kez daha tekrarlayacağım - sıfırda hangi yoğunluğun önemli olmadığı (ilgili değil).
Motivasyonunuz harika! Her şey tam dediğiniz gibiyse ninjayı iliklerine kadar ısırırsınız . çoklu grafik)))
Ancak, IMHO, burada uv yazdıklarınıza ek olarak, radikal olarak yeni bir şey yaratmanız gerekecek. Bay Reshetov, sadece piyasadan indirilenlerle değil, keyfi veri kümeleriyle çalışmak için bir araştırma stüdyosuna ihtiyacımız var, çünkü neler olduğunu anlamak için birçok şeyin tamamen önemsiz, sentetik örnekler üzerinde denenmesi gerekiyor. ben bir programcı programcısı olarak)) Farklı grafikler, dağılımlar, isabet haritaları, dağılımlar vb. çizin. Genel olarak, böyle bir araç setinin doğrudan metaeditrden temin edilmesi çok güzel olurdu, ama açıkçası, ummuyorum bile ...
Ama genel olarak, elbette, düşüncelerinizin eğilimini seviyorum))
Reshetov'un bu "atışını" mı kastediyorsunuz?
" Bir çeşit çürük bu R, kare tekerlekli bir bisiklet. Tabanın kendisi, yani R eğrisinde YaP ve bir "piç törpüsü" ile ciddi bir iyileştirmeye ihtiyaç duyduğunda, bazı paketleri hakkında ne söyleyebiliriz? bunca yıldır R'deki temel işlevlerin doğruluğunu kontrol etme zahmetine bile girmedi mi?
MetaQuotes'un bazı kullanıcıların gözlerini gerçekler ve açık kaynak testleri üzerinde bu R'nin gerçekte neyi temsil ettiğine açması iyi oldu, böylece herkes iki kez kontrol edebilir ve kendi başına emin olabilir ve asılsız değil. Elbette herkes açılmadı çünkü. Yıkıcı tarikat R'den bireysel dini fanatikler, sunulan testlere atıfta bulunmak ve bunları kendi başlarına yeniden kontrol etmek ve fanatik bir kar fırtınası sürmek yerine, çarpık dil ve paketlerindeki hesaplamaların "yanılmazlığına" körü körüne inanmaya devam edecekler. "genel olarak kabul edilen standart" olarak R'nin eğriliği.
Sonuç daha doğru olacağından ve bunu eğri ve eğik R üzerinden yapmaya çalışacağından, ticaret stratejileri oluşturmak için MQL işlevini kullanmanın daha iyi olduğu artık oldukça açıktır.
Yapıcı bir yaklaşım, testler ve kaynakları ile " çıplak kral - R " yi ortaya çıkarmak için MetaQuotes geliştiricilerine özellikle teşekkür edilmelidir! "
Reshetov'un bu "atışını" mı kastediyorsunuz?
hayır, mesaj şu:
R, diğer birçok PL'ler gibi, diziler biçimindeki verileri işlemek için açıkça işlevsellik sağlaması nedeniyle MQL'ye kıyasla makine öğrenimi için hala daha uygundur. Gerçek şu ki, makine öğrenimi için bir seçim genellikle iki boyutlu bir veri dizisidir ve buna bağlı olarak dizilerle çalışmak için işlevsellik gereklidir:
Bu arada, örneklerin diziler biçiminde işlenmesi için gerekli olan yukarıdaki işlevsellik MQL'de uygulanmamıştır, makine öğrenme algoritması geliştiricilerinin önemli bir kısmı, tüm bunların uzun süredir mevcut olduğu diğer PL'leri tercih edecektir. Veya, hafızam bana hizmet ederse, kolaylık sağlamak için iki boyutlu dizilerin tek boyutlu olarak sunulduğu AlgLib kütüphanesinden iddiasız MLP'yi (geçen yüzyılın 60'larının algoritması) kullanacak.
Elbette rastgele dağılımların yoğunluk fonksiyonları da gerekli bir fonksiyoneldir. Ancak bu tür işlevler, makine öğrenimi görevlerinde her zaman gerekli değildir ve bazılarında hiç kullanılmazlar. Ancak, çok boyutlu dizilerde olduğu gibi, seçimli işlemler, makine öğrenimi algoritmalarının uygulanmasının herhangi bir görev olmadan yapamayacağı bir şeydir, tabii ki, önemsiz bir XOR'dan bilinen normalleştirilmiş verileri ezberlemek için bir ızgarayı eğitmek bir görev değilse.
Reshetov'un bu "atışını" mı kastediyorsunuz?
" Bir çeşit çürük bu R, kare tekerlekli bir bisiklet. Tabanın kendisi, yani R eğrisinde YaP ve bir "piç törpüsü" ile ciddi bir iyileştirmeye ihtiyaç duyduğunda, bazı paketleri hakkında ne söyleyebiliriz? bunca yıldır R'deki temel işlevlerin doğruluğunu kontrol etme zahmetine bile girmedi mi?
MetaQuotes'un bazı kullanıcıların gözlerini gerçekler ve açık kaynak testleri üzerinde bu R'nin gerçekte neyi temsil ettiğine açması iyi oldu, böylece herkes iki kez kontrol edebilir ve kendi başına emin olabilir ve asılsız değil. Elbette herkes açılmadı çünkü. Yıkıcı tarikat R'den bireysel dini fanatikler, sunulan testlere atıfta bulunmak ve bunları kendi başlarına yeniden kontrol etmek ve fanatik bir kar fırtınası sürmek yerine, çarpık dil ve paketlerindeki hesaplamaların "yanılmazlığına" körü körüne inanmaya devam edecekler. "genel olarak kabul edilen standart" olarak R'nin eğriliği.
Sonuç daha doğru olacağından ve bunu eğri ve eğik R üzerinden yapmaya çalışacağından, ticaret stratejileri oluşturmak için MQL işlevini kullanmanın daha iyi olduğu artık oldukça açıktır.
Yapıcı bir yaklaşım, testler ve kaynakları ile " çıplak kral - R " yi ortaya çıkarmak için MetaQuotes geliştiricilerine özellikle teşekkür edilmelidir! "
"Vizon MQL" hakkındaki gönderinizi zaten sildiniz mi? Tıpkı Radov'un figürlerinin Trump seçildikten sonra Facebook'larını ovuşturduğu gibi gönderilerinizi ovuşturuyorsunuz.
İşte eğlence için Wolfram Alpha'da bir gama dağılımı örneği.
Bir fonksiyon verilir, biraz basitleştirilmiş bir gama dağılım yoğunluk fonksiyonu.
Öz, payda x'tedir. Sağdaki limit, görebileceğiniz gibi, x->0 Wolfram'da doğru bir şekilde değerlendirilir: inf.
Yani, sağdaki limitte, sonsuzdaki sıfır noktasındaki yoğunluk (bu tam olarak dgamanın cevabıdır).
Bu işlevi büyük bir desteğe entegre edelim:
İntegral 1'e eşittir (tabii ki tam bir destek alınmadığından yuvarlatılmış).
Sonuç olarak, uç noktada fonksiyonun sonsuza gitmesine rağmen, bu fonksiyonun integrali olması gerektiği gibi mükemmel bir şekilde kabul edilir.
İşte eğlence için Wolfram Alpha'da bir gama dağılımı örneği.
Sonuç olarak, uç noktada fonksiyonun sonsuza gitmesine rağmen, bu fonksiyonun integrali olması gerektiği gibi mükemmel bir şekilde kabul edilir.
Örnek için teşekkürler, haklısın. Bu integral yakınsar.
Yoğunluğu belirlemek için x=0 noktasındaki sınır değerler de kullanılabilir ve bu durum sapmalara yol açmaz.
Örnek için teşekkürler, haklısın. Bu integral yakınsar.
Yoğunluğu belirlemek için x=0 noktasındaki sınır değerler de kullanılabilir ve bu durum sapmalara yol açmaz.
Teşekkür ederim! Saygı duyuyorum.
Hızlı işleme için paketler içeren bir R örneği.
library(data.table)
library(ggplot2)
start <- Sys.time()
set.seed(1)
dummy_coef <- 1:9
x <- as.data.table(matrix(rnorm(9000000, 0, 1), ncol = 9))
x[, (paste0('coef', c(1:9))):= lapply(1:9, function(x) rnorm(.N, x, 1))]
print(colMeans(x[, c(10:18), with = F]))
x[, output:= Reduce(`+`, Map(function(x, y) (x * y), .SD[, (1:9), with = FALSE], .SD[, (10:18), with = FALSE])), .SDcols = c(1:18)]
x[, sampling:= sample(1000, nrow(x), replace = T)]
lm_models <- x[,
{
lm(data = .SD[, c(1:9, 19), with = F], formula = output ~ . -1)$coefficients
},
by = sampling]
lm_models[, coefs:= rep(1:9, times = 1000)]
avg_coefs <- lm_models[, mean(V1), by = coefs]
plot(dummy_coef, avg_coefs$V1)
lm_models[,
print(shapiro.test(V1)$p.value)
, by = coefs]
ggplot(data = lm_models, aes(x = V1)) +
geom_histogram(binwidth = 0.05) +
facet_wrap(~ coefs, ncol = 3)
Sys.time() - start
Çalışma süresi: 5 sn. 1000 lineer model inşa edildi. Her biri 1000 gözlemde.
[1] 0.8908975
[1] 0.9146406
[1] 0.3111422
[1] 0.02741917
[1] 0.9824953
[1] 0.3194611
[1] 0.606778
[1] 0.08360257
[1] 0.4843107
Tüm katsayılar normal dağılmıştır.
Ve görselleştirme için ggplot-ik.
Ve başka bir örnek. Ayrıca, istatistikleri simüle etmek için büyük örnekleri döndürmekle de ilişkilidir.
########## simulate diffference between mean density with different sample size
library(data.table)
library(ggplot2)
rm(list=ls());gc()
start <- Sys.time()
x <- rnorm(10000000, 0, 1)
y <- rnorm(10000000, 0, 1)
dat <- as.data.table(cbind(x, y))
dat[, (paste0('sampling_', c(100, 1000, 10000))):= lapply(c(100, 1000, 10000), function(x) sample(x, nrow(dat), replace = T))]
dat_melted <- melt(dat, measure.vars = paste0('sampling_', c(100, 1000, 10000)))
critical_t <- dat_melted[,
{
mean(x) - mean(y)
}
, by = .(variable, value)]
ggplot(critical_t, aes(x = V1, group = variable, fill = variable)) +
stat_density(alpha = 0.5)
Sys.time() - start
gc()
Çalışma süresi 3.4 saniye.
Sıfır merkezli normal olarak dağıtılmış örnekler oluşturulur:
1000 ila 10.000 değer çifti
10.000'e 1.000 değer çifti
100.000'e 100 değer çifti
Her numune için ortalamalar (MO == 0) arasındaki fark dikkate alınır.
Numune araçlarının dağılım yoğunlukları, farklı büyüklükteki numuneler için türetilir.
Sadece burada örnekleme_100, örnek boyutunun elde edilmesinin 10.000.000 / 100 gerektiği anlamına gelir. Yani, daha küçük örnekler için standart hata daha büyüktür...