Bayesian regresyon - Bu algoritmayı kullanarak Uzman Danışman yapan var mı? - sayfa 40

 

Ve ruhum hala sözde normal olarak dağılmış alıntı artışları konusunu kazmak istiyor.

Birisi "için" konuşursa, bu sürecin neden normal olamayacağına dair argümanlar vereceğim. Ayrıca bunlar, CLT ile koordine edilecek, herkes tarafından anlaşılabilir argümanlar olacaktır. Ve bu argümanlar o kadar banal ki, hiçbir şüphe olmamalı.

 
-Aleks- :

Ve olasılık ne ifade edecek, en yakın çubuk için tahmin veya en yakın çubukların hareket vektörü?

Olasılık, bir sonraki tik (artış) tahminini ifade edecektir. Sadece istiyorum:

- Bayes formülüne göre olasılığın maksimum olacağı gelecekteki Ybayes kenelerinin değerlerini hesaplayın.

- Ybay'leri gelen gerçek Yreal keneleriyle karşılaştırın. İstatistikleri toplayın ve işleyin.

Değerler arasındaki fark makul ise, kodu göndereceğim ve bundan sonra ne yapacağımı soracağım. Gerileme? Vektör? Krivulka mı? kafa derisi soyma?

 
Yuri Evseenkov :

Olasılık, bir sonraki tik (artış) tahminini ifade edecektir. Sadece istiyorum:

Ve neden kenelere inelim? 5 dakikada %70 doğrulukla kenelerin yönünü tahmin etmeyi öğrenebilirsiniz, ancak 100 tık ileride, anlıyorsunuz, doğruluk düşecek.

Yarım saat veya bir saat ilerideki artışları deneyin. Bu benim için ilginç, belki bir konuda yardımcı olabilirim.

 
Yuri Evseenkov :

Olasılık, bir sonraki tik (artış) tahminini ifade edecektir. Sadece istiyorum:

- Bayes formülüne göre olasılığın maksimum olacağı gelecekteki Ybayes kenelerinin değerlerini hesaplayın.

- Ybay'leri gelen gerçek Yreal keneleriyle karşılaştırın. İstatistikleri toplayın ve işleyin.

Değerler arasındaki fark makul ise, kodu göndereceğim ve bundan sonra ne yapacağımı soracağım. Gerileme? Vektör? Krivulka mı? kafa derisi soyma?

ARIMA'nın nesi var? Gruplar halinde, giriş akışına bağlı olarak türevlerin sayısı (artış artışları) otomatik olarak hesaplanır. Durağanlıkla ilgili pek çok incelik paketin içinde saklı.

Gerçekten daha derine inmek istiyorsanız, o zaman biraz ARCH?

Bir kez denendi. Sorun şu. Artış kolayca hesaplanabilir. Ancak bu artışın güven aralığını artışın kendisine eklersek, önceki fiyat değeri güven aralığı içinde kaldığından AL veya SAT.

 

Evet, SanSanych'in yazdığı gibi klasik yaklaşım, veri analizi, veri gereksinimleri ve sistem hatalarını hatırlamaktır.

Ama bu konu Bayes ile ilgili ve ben Bayesci düşünmeye çalışıyorum, siperdeki o asker gibi arka (deneyimden sonra) olasılığı hesaplıyor. Yukarıda bir askerle ilgili örnek verdim.

Ana sorulardan biri, a priori olasılık için ne alınması gerektiğidir. Başka bir deyişle, geleceğin perdesinin arkasına kim koyacak, sıfır çubuğunun sağında. Gauss? Laplace? Sosis mi? Profesyonel matematikçiler burada ne yazıyor (benim için karanlık "orman")?

Gauss'u seçtim çünkü ilk önce normal dağılım hakkında bir fikrim var ve ikinci olarak buna inanıyorum. “Ateş etmezse”, diğer yasaları alıp Bayes formülüne Gauss yerine veya Gauss ile birlikte iki olasılığın bir ürünü olarak koyabilirsiniz. Doğru anladıysam bir Bayes ağı oluşturmaya çalışın.

Tabii ki, bunu tek başıma yapamam. Buketin altında formüle ettiğim görevde Gauss ile başa çıkacaktım. Gönüllü olarak katılmak isteyen varsa - bekliyoruz. İşte güncel bir soruna bir örnek.

Verilen: Normal MT4 rastgele sayı üreteci.

Gerekli: Normal RNG tarafından oluşturulan MT4[] dizisini normal dağılımlı ND[] dizisine dönüştürmek için MQL4 kodunu FP() işlevi biçiminde yazın.

Dönüşüm formülleri https://www.mql5.com/go?link=https://habrahabr.ru/post/208684/ Vasily (soy adını bilmiyorum) Sokolov tarafından gösterildi.

Nezaket ve fedakarlığın yüksekliği, sonuçların grafiksel bir gösterimi olacaktır, ancak hesaplanan diziler için grafikler doğrudan MT4 penceresinde ölçeklenebilir ve ben de ölçekleyebilirim. Projelerimde bunu yaptım.

Buradaki birçok kişinin bu sorunu iki tıklama ile bir matta çözeceğini anlıyorum. paketler, ancak genellikle tüccarlar, programcılar, ekonomistler ve filozoflar için erişilebilir olan MQL4 dilini konuşmak istiyorum.

Преобразование равномерно распределенной случайной величины в нормально распределенную
Преобразование равномерно распределенной случайной величины в нормально распределенную
  • habrahabr.ru
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста. Пометьте топик понятными вам метками, если хотите или закрыть
 
Yuri Evseenkov :

Evet, SanSanych'in yazdığı gibi klasik yaklaşım, veri analizi, veri gereksinimleri ve sistem hatalarını hatırlamaktır.

Ama bu konu Bayes ile ilgili ve ben Bayesci düşünmeye çalışıyorum, siperdeki o asker gibi arka (deneyimden sonra) olasılığı hesaplıyor. Yukarıda bir askerle ilgili örnek verdim.

Ana sorulardan biri, a priori olasılık için ne alınması gerektiğidir. Başka bir deyişle, geleceğin perdesinin arkasına kim koyacak, sıfır çubuğunun sağında. Gauss? Laplace? Sosis mi? Profesyonel matematikçiler burada ne yazıyor (benim için karanlık "orman")?

Gauss'u seçtim çünkü ilk önce normal dağılım hakkında bir fikrim var ve ikinci olarak buna inanıyorum. “Ateş etmezse”, diğer yasaları alıp Bayes formülüne Gauss yerine veya Gauss ile birlikte iki olasılığın bir ürünü olarak koyabilirsiniz. Doğru anladıysam bir Bayes ağı oluşturmaya çalışın.

Tabii ki, bunu tek başıma yapamam. Buketin altında formüle ettiğim görevde Gauss ile başa çıkacaktım. Gönüllü olarak katılmak isteyen varsa - bekliyoruz. İşte güncel bir soruna bir örnek.

Verilen: Normal MT4 rastgele sayı üreteci.

Gerekli: Normal RNG tarafından oluşturulan MT4[] dizisini normal dağılımlı ND[] dizisine dönüştürmek için MQL4 kodunu FP() işlevi biçiminde yazın.

Dönüşüm formülleri https://www.mql5.com/go?link=https://habrahabr.ru/post/208684/ Vasily (soy adını bilmiyorum) Sokolov tarafından gösterildi.

Nezaket ve fedakarlığın yüksekliği, sonuçların grafiksel bir görüntüsü olacaktır, ancak hesaplanan diziler için grafikler doğrudan MT4 penceresinde ölçeklenebilir ve ölçeklenebilir. Projelerimde bunu yaptım.

Buradaki birçok kişinin bu sorunu iki tıklama ile bir matta çözeceğini anlıyorum. paketler, ancak genellikle tüccarlar, programcılar, ekonomistler ve filozoflar için erişilebilir olan MQL4 dilini konuşmak istiyorum.

Normal dağılım da dahil olmak üzere farklı dağılımlara sahip bir jeneratör:

https://www.mql5.com/en/articles/273

Статистические оценки
Статистические оценки
  • 2011.03.15
  • Victor
  • www.mql5.com
Оценка статистических параметров последовательности очень важна, так как большинство математических моделей и методов строятся исходя из различного рода предположений, например, о нормальности закона распределения, или требуют знания значения дисперсии или других параметров. В статье кратко рассматриваются простейшие статистические параметры случайной последовательности и некоторые методы ее визуального анализа. Предлагается реализация этих методов на MQL5 и способ визуализации результатов расчета при помощи программы Gnuplot.
 

R dilinde dağılımın kısa bir analizi:

# load data
fx_data <- read.table('C:/EURUSD_Candlestick_1_h_BID_01.08.2003-31.07.2015.csv'
                           , sep= ','
                           , header = T
                           , na.strings = 'NULL')

fx_dat <- subset(fx_data, Volume > 0)

# create open price returns
dat_return <- diff(x = fx_dat[, 2], lag = 1)

# check summary for the returns
summary(dat_return)
      Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
-2.515e-02 -6.800e-04  0.000e+00 -3.400e-07  6.900e-04  6.849e-02 

# generate random normal numbers with parameters of original data
norm_generated <- rnorm(n = length(dat_return), mean = mean(dat_return), sd = sd(dat_return))

#check summary for generated data
summary(norm_generated)
      Min.    1st Qu.     Median       Mean    3rd Qu.       Max. 
-8.013e-03 -1.166e-03 -7.379e-06 -7.697e-06  1.152e-03  7.699e-03 


# test normality of original data
shapiro.test(dat_return[sample(length(dat_return), 4999, replace = F)])

	Shapiro-Wilk normality test

data:  dat_return[sample(length(dat_return), 4999, replace = F)]
W = 0.86826, p-value < 2.2e-16


# test normality of generated normal data
shapiro.test(norm_generated[sample(length(norm_generated), 4999, replace = F)])

	Shapiro-Wilk normality test

data:  norm_generated[sample(length(norm_generated), 4999, replace = F)]
W = 0.99967, p-value = 0.6189


############## comparison of distributions
d1 <- density(dat_return)
d2 <- density(norm_generated)

p1 <- hist(dat_return, breaks = "Scott", freq = T)
p2 <- hist(norm_generated, breaks = "Scott", freq = T)

plot(p1, col = rgb(0,0,1,1/4), xlim = c(-0.01, 0.01))
lines(p2, col = rgb(1,0,0,1/4), xlim = c(-0.01, 0.01))

plot(d1, col = rgb(0,0,1,1/4), xlim = c(-0.01, 0.01))
lines(d2, col = rgb(1,0,0,1/4), xlim = c(-0.01, 0.01))

  

 

Saatlik çubukların açılış fiyatlarındaki mevcut artışlar için normal dağılım parametrelerini tahmin ettik ve orijinal seri ve aynı dağılımlarla normal için frekans ve yoğunluğu karşılaştırmak için gösterdik. Gözle bile görebileceğiniz gibi, orijinal saatlik çubuk artışları dizisi normalden çok uzaktır.

Ve bu arada, Tanrı'nın tapınağında değiliz. İnanmak isteğe bağlıdır ve hatta zararlıdır.

 

İşte yukarıdaki yazıdan, yukarıda yazdıklarımı yansıtan ilginç bir satır

summary(dat_return)
      Min.    1st Qu.     Median       Mean    3rd Qu.       Max.  

-2.515e-02 -6.800e-04 0.000e+00 -3.400e-07 6.900e-04 6.849e-02

Kadranlarda anladığım kadarıyla, tüm saatlik artışların %50'si 7 pipten az! Ve daha iyi artışlar kalın kuyruklarda, yani. iyinin ve kötünün diğer tarafında.

Ve TS nasıl görünecek? Bütün sorun bu, Bayes değil vesaire...

Yoksa başka bir şekilde mi anlaşılmalı?

 
СанСаныч Фоменко :

İşte yukarıdaki yazıdan, yukarıda yazdıklarımı yansıtan ilginç bir satır

-2.515e-02 -6.800e-04 0.000e+00 -3.400e-07 6.900e-04 6.849e-02

Kadranlarda anladığım kadarıyla, tüm saatlik artışların %50'si 7 pipten az! Ve daha iyi artışlar kalın kuyruklarda, yani. iyinin ve kötünün diğer tarafında.

Ve TS nasıl görünecek? Bütün sorun bu, Bayes değil vesaire...

Yoksa başka bir şekilde mi anlaşılmalı?

San Sanych, evet!

####### quantiles
hour1_quantiles <- data.frame()
counter <- 1
for (i in seq( from = 0.05 , to = 0.95 , by = 0.05 )){
        
        hour1_quantiles[counter, 1 ] <- i
        hour1_quantiles[counter, 2 ] <- quantile(dat_return, probs = i)
        counter <- counter + 1
}

colnames(hour1_quantiles) <- c(
                                         'probability'
                                        , 'value'
                                        )

plot(hour1_quantiles$ value , type = 's' )

#View

hour1_quantiles
   probability       value
1          0.05 - 0.0025375
2          0.10 - 0.0016600
3          0.15 - 0.0012100
4          0.20 - 0.0009000
5          0.25 - 0.0006800
6          0.30 - 0.0005050
7          0.35 - 0.0003600
8          0.40 - 0.0002300
9          0.45 - 0.0001100
10          0.50    0.0000000
11          0.55    0.0001100
12          0.60    0.0002400
13          0.65    0.0003700
14          0.70    0.0005100
15          0.75    0.0006900
16          0.80    0.0009100
17          0.85    0.0012100
18          0.90    0.0016600
19          0.95    0.0025300 
plot(y = hour1_quantiles$value, x = hour1_quantiles$probability, main = 'Quantile values for EURUSD H1 returns')


## what is absolute statistics of hourly returns?

summary(abs(dat_return))
    Min.   1 st Qu.   Median     Mean   3 rd Qu.     Max. 
0.000000 0.000300 0.000690 0.001097 0.001420 0.068490 

Ve bir ilginç şey daha - saatlik çubuklardaki ortalama mutlak artış 11 puandır! Toplam.

 
Alexey Burnakov : bir dizi saatlik çubuk artışı normalden çok uzak.
Böylece, yavaş yavaş, büyüleyici dönüşüm konusuna yaklaştık))) çünkü normal bir dağılım yoksa, bunu yapabilirsiniz.
Hastalanmak uzun zaman alacak, çünkü hem yeniden dönüşüme ihtiyacınız var hem de ..., ama Box-Cox'tan gerçekten hoşlanmıyorum))) Olmazsa üzücü
normal tahminciler, bunun nihai sonuç üzerinde çok az etkisi olacaktır ...