注目イベント!
春の新人向け連載2025開催中!
今年も春の新人向け連載が始動しました!!
現場で役立つ考え方やTipsを丁寧に解説、今日から学びのペースを整えよう。
詳細はこちらから!
event banner

統計の話をしようじゃないか - ソフトウェア品質のための統計入門(No.4 ばらつきの把握:分散・標準偏差・レンジ)

| 7 min read
Author: shuichi-takatsu shuichi-takatsuの画像

はじめに

#

「統計の話をしようじゃないか」第4回は、ばらつきの把握をテーマにお話しします。

品質データに限らず、あらゆる実測データは多かれ少なかれ、ばらつきを含んでいます。
平均値や中央値といった代表値だけでは、分布の広がり(散らばり)が見えず、誤った解釈につながることもあります。

今回は、データのばらつきを定量的に捉えるための以下の指標を紹介します:

  • 分散(Variance)
  • 標準偏差(Standard Deviation)
  • レンジ(Range)

それぞれの違いや使いどころを、ヒストグラムや箱ひげ図を使って視覚的に解説していきます。


分散と標準偏差:データの散らばりを数値化する

#

● 分散とは?

#

分散は、データが平均からどれだけ離れているかの“二乗平均” です。
大きな分散=ばらつきが大きい、小さな分散=ばらつきが小さい、という意味になります。

ばらつきの大きさを測るなら、偏差の合計を求めればいいように思いますが、単純に偏差の合計を求めると値は常にゼロになります。(平均 μ\mu は「すべてのデータと平均の差(偏差)の合計がゼロになるように」定義されているため)
つまり、次のような関係が必ず成り立ちます:

i=1N(xiμ)=0\sum_{i=1}^{N} (x_i - \mu) = 0

これでは、ズレの大小を知るための「合計」が意味をなさないため、偏差に二乗を適用する必要があります。

分散=i=1N(xiμ)2N\text{分散} = \frac{\sum_{i=1}^{N} (x_i - \mu)^2}{N}

μ\mu:平均値
NN:データ数

ただし単位が「元データの単位の二乗」になるため、直感的に解釈しづらいという側面もあります。

Information

厳密にいうと、分散にはいくつかの種類(定義)があり、目的によって使い分けられます。

  • 母集団分散(population variance): σ2=1Ni=1N(xiμ)2\sigma^2 = \frac{1}{N} \sum_{i=1}^{N} (x_i - \mu)^2
  • 不偏分散(unbiased sample variance): s2=1n1i=1n(xixˉ)2s^2 = \frac{1}{n-1} \sum_{i=1}^{n} (x_i - \bar{x})^2

ここで、μ\muxˉ\bar{x} は以下の意味です。

  • μ\mu:母平均(母集団全体の平均)
  • xˉ\bar{x}:標本平均(サンプルの平均)

分母の値は「母集団全体のデータを扱うか」「標本から推定するか」で変わります。

  • 母集団全体を扱うとき:分母は NN
  • 標本を使って推定するとき:分母は n1n - 1(不偏分散)

国際的な記法の慣例として、次のように記号を使い分けます。

  • NN:母集団のサイズ(すべてのデータの個数)
  • nn:標本のサイズ(一部を抜き出したサンプルの個数)

これは「全体:部分」の対比を視覚的にわかりやすくするための表記上の工夫です。

実際には、不偏分散に対する「補正なし」の分散もあります。

  • 標本分散(biased sample variance): s2=1ni=1n(xixˉ)2s^2 = \frac{1}{n} \sum_{i=1}^{n} (x_i - \bar{x})^2

ただし、分母nnで割る標本分散は、母集団分散に比べて小さく見積もられがちです。
この偏りを補正し、より母集団分散に近い値を推定するために「自由度(※1)補正(degrees of freedom)」を行い、分母を n1n - 1 にしたものが不偏分散です。
この補正の背景や意味については、推測統計の回で詳しく紹介します。

※1:「自由度(degrees of freedom)」とは、推定の際に自由に変動できるデータの数を表します。
 自由度について興味がありましたら こちら でも解説しています。

例:実際のデータで分散を求めてみよう

たとえば、あるレビュー作業にかかった所要時間(分)が以下の通りだったとします:

[18, 21, 22, 24, 20, 19, 23, 25, 28, 30]

このデータの平均値と母集団分散を計算してみましょう。

import numpy as np
import matplotlib.pyplot as plt

# サンプルデータ(レビュー所要時間)
data = [18, 21, 22, 24, 20, 19, 23, 25, 28, 30]

# 母集団平均と分散(分母は N)
mean = np.mean(data)
var = np.var(data, ddof=0)  # ddof=0 により母集団分散

print(f"平均値: {mean:.2f} 分")
print(f"母集団分散: {var:.2f} 分²")

結果は以下のようになります。
・平均値: 23.00 分
・母集団分散: 13.40 分²

このように、データが平均からどの程度散らばっているか(ばらつき)を「分散」として数値化できます。
記述統計では、こうした分散の把握が、データの特性を掴む第一歩となります。

Information

なぜ偏差の二乗?:
読者の中には「なぜ偏差の二乗を使うのか? 絶対値でもいいじゃないか?」と思われた方がいると思います。(私もそうでした)

たしかに「データと平均のズレ(偏差)」を測りたいだけなら、
xiμ|x_i - \mu|
のように 絶対値 を使えば良さそうに思えます。
絶対値なら偏差を合計してもゼロになりません。
また単位も同じなので都合が良いです。

しかし、あえて 二乗 を使うのには、次のような理由があります:

  • 理由①:数学的に扱いやすい(微分が可能)
    絶対値の関数は、点 x=μx = \mu微分できない ため、最適化(平均値を求めるときの導出など)で扱いにくくなります。
    一方で、二乗は滑らかな関数なので、解析的な計算や導出に向いています。(機械学習ではこの関係が重要です。多くのアルゴリズムで「二乗誤差」を最小化する目的関数が用いられています)
    絶対値関数と二乗関数の比較
    絶対値関数(f(x)=xf(x) = |x|)は、原点(x=0x = 0)で折れ曲がっており、そこで微分係数が定義できません。つまり、点 x=0x = 0 において左右の接線の傾きが一致せず、微分不可能となります。
    二乗関数(f(x)=x2f(x) = x^2)は、定義域全体で滑らかであり、どの点でも連続かつ微分可能な関数です。

  • 理由②:理論的な性質が良い
    差の 二乗和が最小になる点 が「平均値」になります。
    これは、平均値という概念を「偏差の合計が最小となる代表値」として理論的に裏づける性質です。
    一方で、絶対値の偏差の合計が最小になるのは「中央値」です。
    つまり、どの代表値を使うかによって、何を最小化の基準とするかが変わってきます。
    中央値は、極端な値の影響を受けにくいという特徴があり、データが大きく偏っている場合などに適しています。

  • 理由③:他の統計量との接続がしやすい
    分散(偏差の二乗の平均)は、正規分布や仮説検定(※2) など、他の多くの統計的手法とスムーズにつながる性質を持っています。
    特に、正規分布の理論では「偏差の二乗和」が中心的な役割を果たします。
    (※2:仮説検定とは、「2つのグループに本当に違いがあるのか?」を統計的に検証する手法です。
    たとえば「新しいテスト手法でバグ検出数は本当に増えたのか?」を確認する際に使われます。
    その際に、分散標準誤差が重要な役割を果たします。詳細は「仮説検定」の回で詳しく扱います)

  • もちろん、絶対値を使う方法もある
    実際、「平均絶対偏差(MAD)」という指標も存在します。
    外れ値に対してロバストな代表値として一部の分野では使われています。
    ただし、分散や標準偏差ほど一般的には用いられません。

このように、「なぜ二乗?」という問いには 理論・計算・応用 の3つの観点から明確な理由があります。
最初は少し不自然に思えても、統計学の道を進むと 「ああ、だから偏差の二乗なのか」 と実感する場面がきっと出てきます。

● 標準偏差とは?

#

標準偏差は、分散の平方根です。
単位が元のデータと同じになるため、「データのばらつき幅」を感覚的に理解しやすいという利点があります。

たとえば:

  • テスト実行時間が 平均30秒、標準偏差5秒 であれば、
    → 「多くのデータが 30±5秒 の範囲にある」とざっくり捉えることができます。

なぜ分散の平方根をとるのか?

分散は「ばらつき」を数値化する便利な指標ですが、単位が元データの二乗(例:秒²、件²) になるため、実務では直感的に扱いづらいという難点があります。
標準偏差を使えば、元データと同じ単位(例:秒、件)で「平均からのズレの目安」を示すことができ、実務判断や報告書での説明にも非常に使いやすくなります。

例:実際のデータで分散を求めてみよう(分散と同じデータを使用します)

以下は、10件のレビュー所要時間(分)をもとに標準偏差を求めるコードです:

import numpy as np
import matplotlib.pyplot as plt

# サンプルデータ(レビュー所要時間)
data = [18, 21, 22, 24, 20, 19, 23, 25, 28, 30]

# 母集団標準偏差(ddof=0 に注目)
std_dev = np.std(data, ddof=0)

print(f"標準偏差: {std_dev:.2f} 分")

結果は以下のようになります。
・標準偏差: 3.66 分

● 分散と標準偏差、どう使い分ける?

#
  • 分散(variance) は「ばらつきの大きさ」を数理的・理論的に扱うときに便利です。
    正規分布や推測統計、分散分析(ANOVA)などの理論的手法では、分散の値そのものが重要な役割を果たします。(詳細は後の回で扱います)

  • 一方で、標準偏差(standard deviation) は「どれくらいデータが平均からズレているか」を直感的に理解するために使われます。
    実務や報告書では「この数値は ±○○ の範囲にあります」と説明したい場面が多く、標準偏差の方が扱いやすいのです。

ざっくりまとめると以下のようになります。

用途の違い 向いている指標
数理モデルや理論分析 分散
実務での説明・現場の理解 標準偏差(単位がそのまま)

どちらも「ばらつき」を表す重要な統計量ですが、目的や伝えたい相手に応じて使い分けることがポイントです。


レンジ:最も単純なばらつき指標

#

レンジ(Range)は、最大値 − 最小値 で計算される、非常にシンプルなばらつき指標です。
計算が簡単で直感的に理解しやすく、データの「全体の広がり」 をひと目で把握するのに役立ちます。

たとえば以下のレビュー時間(分)のデータがあったとします。

[18, 21, 22, 24, 20, 19, 23, 25, 28, 30]

この場合:

  • 最小値:18
  • 最大値:30
  • レンジ:30 − 18 = 12分

つまり、「このデータは最小18分〜最大30分の範囲で広がっている」とざっくり把握できます。

● 注意点:外れ値に弱い

#

レンジは「端っこの2点(最小・最大)」だけを見ているため、極端な外れ値に大きく左右されるという欠点があります。
たとえば、上記のデータに 80 という外れ値が入ると:

[18, 21, 22, 24, 20, 19, 23, 25, 28, 80]
  • 最大値が80になるため、レンジは 80 − 18 = 62 に。
  • 実態に比べて異常に大きなばらつきがあるように見えてしまいます。

そのため、レンジは他の指標(分散・標準偏差・四分位範囲(※3))と併用して使うのが望ましいです。

Information

※3:四分位範囲(Interquartile Range、IQR)は、データの中央50%がどれくらいの幅に分布しているかを示すばらつきの指標です。
  レンジが「全体の広がり(最大値−最小値)」を示すのに対し、IQRは極端な外れ値の影響を受けにくいという特長があります。

レンジとデータのばらつきを可視化すると以下のようになります。
レビュー所要時間のレンジ

このグラフでは、データの並びと両端の値が一目でわかり、レンジの意味を直感的に捉えることができます。


視覚化のすすめ:ヒストグラムと箱ひげ図

#

● ヒストグラム(Histogram)

#

ヒストグラムは、データの分布や偏り、ばらつきを一目で示してくれます。
散らばり具合や外れ値の有無もある程度読み取れる便利なツールです。

以下はテスト実行時間のヒストグラムの例です。
テスト実行時間のヒストグラム

ヒストグラムは、以下の情報をコンパクトに示します。

  • ばらつきの大きさ:分布の広がりで直感的に把握できる
  • 対称性 or 歪み:平均と左右の形がずれていれば「歪み」あり
  • 一峰性 or 多峰性:山が一つか複数かも視覚的に判断できる
  • 外れ値の存在:端に孤立した棒があれば可能性あり

● 箱ひげ図(Boxplot)

#

箱ひげ図(Boxplot)は、データのばらつき・分布・外れ値の有無をコンパクトに視覚化できる統計グラフです。
1本の図で「分布の特徴」をざっくりつかむのに非常に便利で、実務でもよく使われます。

以下は工程別レビュー所要時間のばらつきの箱ひげ図の例です。
工程別レビュー所要時間のばらつき

箱ひげ図は、以下の情報をコンパクトに示します。

  • 中央値(箱の中の横線)
  • 四分位範囲(IQR)(箱の上下端)
  • 最大・最小または外れ値(ひげと点)
  • 工程ごとの分布の広がりや偏り、外れ値の有無

実務では、工程別の作業時間やレビュー所要時間のばらつきを比較する際に重宝されます。


実務での注意・活用ポイント

#
  • 「平均±標準偏差」だけではなく、外れ値や IQR(箱ひげ図の「箱」の長さ) も必ず確認
  • 報告書には「ばらつきの指標」と「分布図」の両方を添えると説得力アップ
  • 異常値が多い場合は、IQR などの外れ値に強い指標 をメインに
  • 品質改善では、ばらつきが縮まる=工程安定、広がる=要注意のシグナル

まとめ

#
  • 「ばらつき」は品質データを正しく評価するために不可欠な視点
  • 分散・標準偏差・レンジはそれぞれ特徴があるので、用途に応じて使い分ける
  • ヒストグラムや箱ひげ図などの視覚化と併用すると、より直感的な理解が可能

次回予告

#

次回は、「形状を知る:歪度・尖度と分布のクセ」を扱います。
正規分布だけでなく、実務で遭遇する“非正規な”データのクセにどう向き合うかを解説します。

こちらに統計関連情報をまとめています。

データ分析にご活用いただければ幸いです。

豆蔵では共に高め合う仲間を募集しています!

recruit

具体的な採用情報はこちらからご覧いただけます。