「分散」は統計学や確率論でよく使われます。
一連の数値が与えられた場合、その分散をどのように見つけるのでしょうか?
まず、平均を求め、次に各数値から平均を引き、二乗和を求め、最後にシーケンスのサイズで割って分散を求めます。
例: シーケンス [1, 2, 2, 3] が与えられたとします。
まず平均を求めます:
(1 + 2 + 2 + 3) / 4 => 2
次に分散を求めます:
((1 - 2)^2 + (2 - 2)^2 + ( 2-2)^2 + (3 - 2)^2) / 4 => 0.5
場合によっては、結果はそれほど多くの桁を見つける必要はなく、3 桁または 4 桁のままにしておきます。これで、JS の toFixed メソッドを使用して小数点以下を四捨五入できるようになりました。
var variance = function(numbers) { var mean = 0; var sum = 0; for(var i=0;i<numbers.length;i++){ sum += numbers[i]; } mean = sum / numbers.length; sum = 0; for(var i=0;i<numbers.length;i++){ sum += Math.pow(numbers[i] - mean , 2); } return sum / numbers.length; };
上記は JavaScript に関する興味深い質問です: 分散の計算 詳細については、PHP 中国語 Web サイト (m.sbmmt.com) に注目してください。