Я пытаюсь вычислить стандартное отклонение набора чисел, поскольку Excel будет с функцией STDEVPA(), но я не получаю правильный результат. Я следую формуле:Что не так с моим кодом для вычисления стандартного отклонения?
Вот мой [Node] Код:
var _ = require('underscore');
var prices = [
1.37312,
1.35973,
1.35493,
1.34877,
1.34853,
1.35677,
1.36079,
1.36917,
1.36769,
1.3648,
1.37473,
1.37988,
1.37527,
1.38053,
1.37752,
1.38652,
1.39685,
1.39856,
1.39684,
1.39027
];
var standardDeviation = 0;
var average = _(prices).reduce(function(total, price) {
return total + price;
})/prices.length;
var squaredDeviations = _(prices).reduce(function(total, price) {
var deviation = price - average;
var deviationSquared = deviation * deviation;
return total + deviationSquared;
});
var standardDeviation = Math.sqrt(squaredDeviations/prices.length);
console.log(standardDeviation);
Когда я запускаю это, я получаю 0.26246286981807065, и вместо этого я должен получить 0,0152.
Обратите внимание, что я размещен на StackOverflow, а не на сайте математики, потому что, на мой взгляд, это больше ориентировано на программирование, чем математику. Если я опубликую там, они скажут мне, что я буду размещать здесь, потому что это связано с программированием.
Проводили ли вы какие-либо отладки? –
Как точка останова или что-то в этом роде? Нет. Я запустил программу и получил представленную информацию. –