Обсуждение статьи "Статистические распределения в MQL5 - берем лучшее из R и делаем быстрее" - страница 16
![MQL5 - Язык торговых стратегий для клиентского терминала MetaTrader 5](https://c.mql5.com/i/registerlandings/logo-2.png)
Вы упускаете торговые возможности:
- Бесплатные приложения для трейдинга
- 8 000+ сигналов для копирования
- Экономические новости для анализа финансовых рынков
Регистрация
Вход
Вы принимаете политику сайта и условия использования
Если у вас нет учетной записи, зарегистрируйтесь
ЗЫ R то же считает через (size-1)?
Да. MathVariance считает sample variance аналогично var() в R.
1.2. MathVariance
Функция рассчитывает дисперсию (второй момент) элементов массива. В случае ошибки возвращает NaN. Аналог var() в R.
R:
MQL5:
Wolfram:
Excel:
Да. MathVariance считает sample variance аналогично var() в R.
R:
MQL5:
Wolfram:
Excel:
Mathcad:
Похоже, нет понимания, что такое Средне-Квадратичное Отклонение в приведенных Вами системах.
Mathcad:
Чтобы рассчитать sample variance в MathCad попробуйте "Var" вместо "var".
Как это сделать в MQL?
ЗЫ В mathcad есть mean, но нет Mean. И так со множеством функций. И большинство народа использует функции именно с маленькой буквы. А когда надо что-то специфическое - с большой. А в R/Wolfram/Excel, похоже, все наоборот: если есть возможность дать что-то специфическое, то это дается по-умолчанию, а если нужно что-то стандартное - пиши иначе. А так, конечно, жаль, что Math.mqh не умеет считать СКО.
Либо я что-то напутал, либо есть проблема с вычислением эмпирической плотности.
Спасибо за сообщение, Вы правы, есть ошибка в нормировке эмпирической плотности. В приложении исправленная версия Math.mqh.
Как это сделать в MQL?
ЗЫ В mathcad есть mean, но нет Mean. И так со множеством функций. И большинство народа использует функции именно с маленькой буквы. А когда надо что-то специфическое - с большой. А в R/Wolfram/Excel, похоже, все наоборот: если есть возможность дать что-то специфическое, то это дается по-умолчанию, а если нужно что-то стандартное - пиши иначе. А так, конечно, жаль, что Math.mqh не умеет считать СКО.
Вообще, по-хорошему, функция, которая сейчас есть - MathVariance() - должна называться MathUnbiasedVariance(). Ибо это выборочная несмещенная дисперсия (нормируется посредством n-1). Посмотрел в библиотеке ALGLIB, там тоже рассчитывается выборочная несмещенная дисперсия.
Хорошая статья по теме.Вообще, по-хорошему, функция, которая сейчас есть - MathVariance() - должна называться MathUnbiasedVariance(). Ибо это выборочная несмещенная дисперсия (нормируется посредством n-1). Посмотрел в библиотеке ALGLIB, там тоже рассчитывается выборочная несмещенная дисперсия.
Оставите по-плохому?
Оставите по-плохому?
Я не буду править СБ, пускай авторы правят :-) В принципе можно свой стат.класс написать на основе СБ.
Тут ещё нюанс в другом, имхо: когда пользоваться смещённой или несмещённой оценкой. И с какой совокупностью мы работаем - выборочной или генеральной. СБ сразу нам говорит, что мы имеем дело с выборочной. А это невсегда так. Да, всё это критично, когда совокупность небольшого размера.
Я не буду править СБ, пускай авторы правят :-) В принципе можно свой стат.класс написать на основе СБ.
Тут ещё нюанс в другом, имхо: когда пользоваться смещённой или несмещённой оценкой. И с какой совокупностью мы работаем - выборочной или генеральной. СБ сразу нам говорит, что мы имеем дело с выборочной. А это невсегда так. Да, всё это критично, когда совокупность небольшого размера.
Ну так не править СБ, а добавить. Мне самому, конечно, не сложно и поправить и с нуля написать. Речь о том, что кому-то код можно передавать без своей библы, т.к. у всех есть СБ.
Спасибо за сообщение, Вы правы, есть ошибка в нормировке эмпирической плотности. В приложении исправленная версия Math.mqh.