数学的基礎
個のデーター , , …, に対し、この平均を と書くとき、 であり、分散 は、 である。
平均を求める関数
概ね以下のようになるであろう。
function average(arr) {
let ave = 0; // 初期化を忘れないこと
for (let i = 0; i < arr.length; i++) { // ループ条件に注意
ave += arr[i];
}
// 以下はまとめて return ave / arr.length とも書ける
ave /= arr.length;
return ave;
}
注意点
-
変数の初期化を忘れないこと
-
配列の要素数は
.length
で取得できる -
配列の添字は 0 から始まる点に注意せよ
-
for ではループ条件に細心の注意を払うこと
-
最後の二行はまとめて
return ave / arr.length
と書くこともできる。 ただしこの場合、ave
が実際の意味と異なる (実際には最終的なave
には平均をn
倍したものが入っている) ので、変数名をave
からn_ave
(平均の 倍、の意) などに変えた方がよい
分散を求める関数
どの式を使うかによって多少違いは出るが、概ね以下のような感じであろう。
function variance(arr) {
let vari = 0; // var という変数名は使えないので注意
let ave = average(arr);
for (let i = 0; i < arr.length; i++) {
vari += (arr[i] - ave) * (arr[i] - ave);
}
vari /= arr.length;
return vari;
}
注意点
-
var
という変数名は使えないので注意 (JavaScript で別の意味ですでに使われているので) -
二乗の部分は
(arr[i] - ave) ** 2
と書いてもよい
検算
問題に指示されたデーターを使って、平均、分散を表示するには、例えば以下のように書ける。
data = [ 71, 80, 89 ]
console.log(average(data), variance(data))
このとき、
80 54
のように表示されるはずである。