記事"R で 統計分布を MQL5 に -"についてのディスカッション - ページ 15

 

ありがとう

念のため(一応):

ubuntu14のwineでMT5を動かしています。

 
MT5をubuntu 14
のwineで動かしている。
 

私が何かを間違えたか、経験密度の計算に問題があるかのどちらかだ。スケーリング中に軸が混ざってしまったようだ:

#include <Math\Stat\Normal.mqh>
#include <Graphics\Graphic.mqh>
#define  NR 1000
#define  N 100
void OnStart()
  { double x[N], y[N], r[NR];
   if (!MathSequenceByCount(-1,1,N,x)) {Print("MathSequenceByCount() error "); return;}
   if (!MathProbabilityDensityNormal(x,0,1,y)) {Print("MathProbabilityDensityNormal() error "); return;}
   ChartSetInteger(0,CHART_SHOW,false);
   CGraphic graphic;
   graphic.Create(0,"G",0,0,0,750,350);
   graphic.CurveAdd(x,y,CURVE_LINES,"theor.");
   if (!MathRandomNormal(0,1,NR,r)) {Print("MathRandomNormal() error "); return;}
   if (!MathProbabilityDensityEmpirical(r,N,x,y)) {Print("MathProbabilityDensityEmpirical() error "); return;} 
   graphic.CurveAdd(x,y,CURVE_LINES,"empir.");
   graphic.CurvePlotAll();
   graphic.Update(); 
   Sleep(30000);
   ChartSetInteger(0,CHART_SHOW,true);
   graphic.Destroy(); 
  }

遠く

 

実効実効値の計算誤差

//+------------------------------------------------------------------+
//| 配列[]の値の分散を計算する。
//+------------------------------------------------------------------+
double MathVariance(const double &array[])
  {
   int size=ArraySize(array);
//--- データ範囲をチェックする
   if(size<2)
      return(QNaN); // 少なくとも2回の観測が必要
//--- 平均を計算する
   double mean=0.0;
   for(int i=0; i<size; i++)
      mean+=array[i];
   mean=mean/size;
//--- 分散を計算する
   double variance=0;
   for(int i=0; i<size; i++)
      variance+=MathPow(array[i]-mean,2);
   variance=variance/(size-1);
//--- 分散を返す
   return(variance);
  }
 
fxsaber:

RMS計算時のエラー

これは誰かへの回答ですか、それとも独り言ですか?明日、ソースコードを見てみます。もしかしたら、そこにエラーがあるかもしれません。

 
Rashid Umarov:

これは誰かに対する答えなのか、それとも単なる独り言なのか?明日、ソースコードを見てみよう。もしかしたら、そこに間違いがあるかもしれない。

この記事では、特にMath.mqhの関数について説明しています。そのような関数のソースコードを抜き出し、エラーを強調しました。

 
fxsaber:

この記事では、特にMath.mqhの関数について説明している。そのような関数のソースコードを抜き出し、エラーを強調しました。

は不偏、すなわち標準偏差の 計算です。つまり、2つの2次的なものがあります:-)単純にサイズ-で割った場合は平均2乗、サイズ-1で割った場合は不偏または標準です。異なる場合には異なるものが使われるが、サイズが大きい場合にはその差はほとんどない。
 
Maxim Kuznetsov:
は不偏または標準偏差の 計算である。言い換えれば、2つの2次関数がある:-)単純にサイズ-で割った場合は平均2乗、サイズ-1で割った場合は不偏または標準偏差となる。場合によって異なるものが使われますが、サイズが大きい場合はその差はほとんどありません。

そうですね

 
Maxim Kuznetsov:
は不偏または標準偏差の 計算である。言い換えれば、2つの2次関数がある:-)単純にサイズ-で割った場合は平均2乗、サイズ-1で割った場合は不偏または標準偏差となる。異なるケースで異なるものが適用されるが、サイズが大きい場合、その差は驚くほど小さくなる

なぜ小さいサイズでは機能せず、大きいサイズでは最小限の差しかないものを導入するのか?

MathMeanで(size-1)で割ることができる。ほとんど誰も気づかないだろう。


ZY Rも(size-1)で数えるのか?MathMeanで確認しました。Wolframは(size-1)で割る。バカだ。

Wolfram|Alpha: Computational Knowledge Engine
Wolfram|Alpha: Computational Knowledge Engine
  • www.wolframalpha.com
Wolfram|Alpha is more than a search engine. It gives you access to the world's facts and data and calculates answers across a range of topics, including science, nutrition, history, geography, engineering, mathematics, linguistics, sports, finance, music...
 
fxsaber:

なぜ小さなサイズでは機能せず、大きなサイズでは最小限の違いしかないものを導入するのか!

MathMeanでは(size-1)で割ることができる。ほとんど誰も気づかないだろう。

それはあなたが数学的統計学のコースを取るためのものです :-))これは、GOSTという形で私たちに天から与えられた神の真理だと考えてください。