文章 "MQL5 中的统计分布 - 取最佳的 R" - 页 16

 
Maxim Kuznetsov:
这就需要你去上一门数学统计课程了:-)把它当作上天以国家标准的形式赐予我们的神圣真理吧

Maple 和 Mathcad 正在挥手告别。

 
fxsaber:

ZY R 是否也通过 (size-1) 进行计数?

MathVariance 计算样本方差的方法类似于 R 中的 var()。

1.2 MathVariance

该函数计算数组元素的方差(第二矩)。如果出现错误,则返回NaN。类似于 R 中的var()

R:

MQL5:

#include <Math\Stat\Math.mqh>
void OnStart()
  {
//---
   double y[]={1,2,3,4,5,6,7,8,9,10};
   Print(MathVariance(y));
  }



Wolfram:


Excel:


Variance | R Tutorial
  • www.r-tutor.com
An R tutorial on computing the variance of an observation variable in statistics.
 
Quantum:

是的,MathVariance 计算样本方差的方法类似于 R 中的 var()。

R:

MQL5:

Wolfram:

Excel:

Mathcad:

在您所引用的系统中,似乎没有理解什么是均方差。

 
fxsaber:

Mathcad:

在 MathCad 中 计算样本方差,请用 "Var "代替 "var"。
 
Quantum:
在 MathCad 中 计算样本方差,请用 "Var "代替 "var"。

如何在 MQL 中做到这一点?

ZY 在 mathcad 中,有均值,但没有平均值。许多函数也是如此。大多数人使用的函数都是小写字母。而当需要特定功能时,他们会使用大写字母。但在 R/Wolfram/Excel 中,情况似乎恰恰相反:如果有可能给出特定的内容,就会默认给出;如果需要标准的内容,就用不同的写法。当然,Math.mqh 不能计算有效值是个遗憾。

 
Alexey Nikolaev:

要么是我弄错了,要么是经验密度计算有问题。

感谢您的留言,您说得没错,经验密度的归一化计算有误。附上更正后的 Math.mqh。


附加的文件:
Math.mqh  425 kb
 
fxsaber:

如何在 MQL 中实现?

ZY 在 mathcad 中,有均值,但没有平均值。许多函数也是如此。大多数人在使用函数时都使用小写字母。而当您需要特定的东西时,则使用大写字母。但在 R/Wolfram/Excel 中,情况似乎恰恰相反:如果可以提供特定的功能,则默认提供;如果需要标准功能,则另写。因此,Math.mqh 不能计算有效值当然是个遗憾。

一般来说,我们现在使用的函数MathVariance() 应该叫做MathUnbiasedVariance () 。因为它是 样本无偏方差(按 n-1 归一化)。我查看了 ALGLIB 库,那里也能计算 样本无偏方差

关于该主题的文章不错
Выборочная несмещенная дисперсия
Выборочная несмещенная дисперсия
  • 投票: 6
  • 2014.08.06
  • Дмитрий Езепов
  • statanaliz.info
Приветствую посетителей блога statanaliz.info. Это очередная статья из рубрики «вариация данных». Сегодня мы продолжаем знакомство со статистической непредсказуемостью. Сразу разочарую: новых показателей вариации сегодня не будет. Зато мы возвращаемся к полюбившейся дисперсии и среднеквадратическому отклонению (корень из дисперсии), и на то...
 
Dennis Kirichenko:

一般来说,我们现在使用的函数MathVariance() 应该叫做MathUnbiasedVariance () 。因为它是 采样无偏方差(按 n-1 归一化)。我查看了 ALGLIB 库,那里也能计算采样 无偏方差

你能不能不用这种方法?

 
fxsaber:

你会让它保持原样吗?

我不会编辑 SB,让作者去编辑吧:-)原则上,您可以根据 SB 编写自己的统计类。

在我看来,这里还有一个细微差别:何时使用有偏估计或无偏估计。以及我们使用的是哪种人群--样本还是一般人群。SB直接 告诉我们,我们面对的是一个样本。但情况并非总是如此。是的,当人口较少时,所有这些都至关重要。

 
Dennis Kirichenko:

原则上,您可以根据 SB 编写自己的统计类。

在我看来,这里还有一个细微差别:何时使用有偏估计或无偏估计。以及我们使用的是哪种人群--样本还是一般人群。SB直接 告诉我们,我们面对的是一个样本。但情况并非总是如此。是的,当人口规模较小时,所有这些都至关重要。

那就不要改变 SB,增加它。当然,我自己也认为,从头开始改正和编写并不困难。关键是,你可以把代码传给别人,而不需要你的 "圣经",因为每个人都有一个 "圣经"。