Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее" - страница 16

 
fxsaber:

ЗЫ R то же считает через (size-1)?

Да. MathVariance считает sample variance аналогично var() в R.

1.2. MathVariance

Функция рассчитывает дисперсию (второй момент) элементов массива. В случае ошибки возвращает NaN. Аналог var() в R.

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 считает sample variance аналогично var() в R.

R:

MQL5:

Wolfram:

Excel:

Mathcad:

Похоже, нет понимания, что такое Средне-Квадратичное Отклонение в приведенных Вами системах.

 
fxsaber:

Mathcad:

Чтобы рассчитать sample variance в MathCad попробуйте "Var" вместо "var".
 
Quantum:
Чтобы рассчитать sample variance в MathCad попробуйте "Var" вместо "var".

Как это сделать в MQL?

ЗЫ В mathcad есть mean, но нет Mean. И так со множеством функций. И большинство народа использует функции именно с маленькой буквы. А когда надо что-то специфическое - с большой. А в R/Wolfram/Excel, похоже, все наоборот: если есть возможность дать что-то специфическое, то это дается по-умолчанию, а если нужно что-то стандартное - пиши иначе. А так, конечно, жаль, что Math.mqh не умеет считать СКО.

 
Alexey Nikolaev:

Либо я что-то напутал, либо есть проблема с вычислением эмпирической плотности.

Спасибо за сообщение, Вы правы, есть ошибка в нормировке эмпирической плотности. В приложении исправленная версия Math.mqh.


Файлы:
Math.mqh  425 kb
 
fxsaber:

Как это сделать в MQL?

ЗЫ В mathcad есть mean, но нет Mean. И так со множеством функций. И большинство народа использует функции именно с маленькой буквы. А когда надо что-то специфическое - с большой. А в 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:

Оставите по-плохому?

Я не буду править СБ, пускай авторы правят :-)  В принципе можно свой стат.класс написать на основе СБ.

Тут ещё нюанс в другом, имхо: когда пользоваться смещённой или несмещённой оценкой. И с какой совокупностью мы работаем - выборочной или генеральной. СБ сразу нам говорит, что мы имеем дело с выборочной. А это невсегда так. Да, всё это критично, когда совокупность небольшого размера.

 
Dennis Kirichenko:

Я не буду править СБ, пускай авторы правят :-)  В принципе можно свой стат.класс написать на основе СБ.

Тут ещё нюанс в другом, имхо: когда пользоваться смещённой или несмещённой оценкой. И с какой совокупностью мы работаем - выборочной или генеральной. СБ сразу нам говорит, что мы имеем дело с выборочной. А это невсегда так. Да, всё это критично, когда совокупность небольшого размера.

Ну так не править СБ, а добавить. Мне самому, конечно, не сложно и поправить и с нуля написать. Речь о том, что кому-то код можно передавать без своей библы, т.к. у всех есть СБ.

 
Quantum:

Спасибо за сообщение, Вы правы, есть ошибка в нормировке эмпирической плотности. В приложении исправленная версия Math.mqh.


Спасибо
Причина обращения: