JavaScript | 各要素の平均値との差(偏差)を計算して返す関数

JavaScript JavaScript
スポンサーリンク

では「各要素の平均値との差(偏差)を計算して返す関数」を作ってみましょう。
これは 統計の基礎(偏差) に触れる練習です。


目標

  • 配列の平均値を求める
  • 各要素から平均値を引いて「偏差」を計算する
  • 偏差を集めた新しい配列を返す

✅ 模範解答(for文バージョン)

function getDeviations(arr) {
  if (arr.length === 0) return [];

  // 平均値を計算
  let total = 0;
  for (let i = 0; i < arr.length; i++) {
    total += arr[i];
  }
  const average = total / arr.length;

  // 偏差を計算
  const deviations = [];
  for (let i = 0; i < arr.length; i++) {
    deviations.push(arr[i] - average);
  }

  return deviations;
}

// 実行例
console.log(getDeviations([3, 7, 2, 9, 5]));
// 平均は 5.2 → [-2.2, 1.8, -3.2, 3.8, -0.2]
JavaScript

✅ 模範解答(for…ofバージョン)

function getDeviations(arr) {
  if (arr.length === 0) return [];

  const total = arr.reduce((sum, num) => sum + num, 0);
  const average = total / arr.length;

  const deviations = [];
  for (const num of arr) {
    deviations.push(num - average);
  }

  return deviations;
}

console.log(getDeviations([10, 20, 30, 40]));
// 平均は25 → [-15, -5, 5, 15]
JavaScript

✅ 模範解答(forEachバージョン)

function getDeviations(arr) {
  if (arr.length === 0) return [];

  let total = 0;
  arr.forEach(num => total += num);
  const average = total / arr.length;

  const deviations = [];
  arr.forEach(num => {
    deviations.push(num - average);
  });

  return deviations;
}

console.log(getDeviations([4, 6, 8]));
// 平均は6 → [-2, 0, 2]
JavaScript

💡 解説

  • 偏差 = 各要素 − 平均値
  • 偏差の合計は必ず 0 になる(統計の基本性質)。
  • 偏差を使うと「分散」や「標準偏差」など、データのばらつきを測る指標につながる。

🔥 発展練習

  • 偏差の「二乗」を計算して返す関数を作る(分散の準備)
  • 偏差の絶対値を返す関数を作る(平均からの距離を測る)
タイトルとURLをコピーしました