Позвольте мне представить вам ALMA, лучший скользящее среднее я когда-либо использованы. Это сайт Arnaud Legoux, где вы можете найти соответствующие объяснения: http://www.arnaudlegoux.com.
И это простая реализация PHP из него:
Код:
Функция ALMA ($ данных) {
$ Сигма = 6;
$ Смещение = 0,85;
$ Размер = кол (данные $);
$ M = $ смещение * ($ размер - 1);
$ S = $ размер / $ сигма;
$ Сумма = 0;
$ Норма = 0;
для ($ I = 0; $ я < $ Размер; $ Я ++) {
$ Коэфф = ехр (- ($ я - $ м) * ($ я - $ м) / 2 * $ s * $ s);
$ SUM данные + = $ [$ размер - $ я - 1] * $ коэфф;
$ Норма + = $ коэфф;
}
вернуть $ суммы / $ нормы;
}
$ Сигма = 6;
$ Смещение = 0,85;
$ Размер = кол (данные $);
$ M = $ смещение * ($ размер - 1);
$ S = $ размер / $ сигма;
$ Сумма = 0;
$ Норма = 0;
для ($ I = 0; $ я < $ Размер; $ Я ++) {
$ Коэфф = ехр (- ($ я - $ м) * ($ я - $ м) / 2 * $ s * $ s);
$ SUM данные + = $ [$ размер - $ я - 1] * $ коэфф;
$ Норма + = $ коэфф;
}
вернуть $ суммы / $ нормы;
}
массив $ данных скомпрометирует последние значения закрытия, Данные [0] является последним один. Утверждается, что нечетное значение для размера массива даст лучшие результаты.
Любое мнение приветствуется!