分散の求め方マスターガイド:基礎から応用まで徹底解説
統計学を学ぶ上で欠かせない「分散」は、データのばらつき具合を数値化した重要な指標です。平均値だけではデータの特性を十分に把握できないケースも多く、分散を計算することでデータの分布状況をより詳細に理解することができます。本記事では、分散の基本的な概念から計算方法、そして実際の応用例まで、初学者にもわかりやすく解説していきます。テスト勉強や研究、データ分析などあらゆる場面で役立つ知識なので、しっかりとマスターしていきましょう。
分散とは何か?基本概念の理解
分散とは統計学における重要な指標の一つで、データのばらつき具合を数値で表したものです。データが平均値からどれだけ離れているかを示す値であり、データ分析や確率統計の基礎となる概念です。平均値だけではデータの特性を十分に捉えられないケースが多く、分散を計算することでデータの散らばり具合を正確に把握できるようになります。
分散の定義とその意味
分散は、各データと平均値との差(偏差)の二乗の平均として定義されます。分散値が大きいほど、データが平均から大きく離れて散らばっていることを示します。逆に、分散値が小さいほど、データが平均の周りに集中していることを意味します。
数学的に表すと、分散は以下の式で計算されます:
σ² = Σ(x – μ)² / n
ここで:
- σ²(シグマの二乗)は分散を表します
- x は各データ値
- μ(ミュー)は平均値
- n はデータの総数
- Σ(シグマ)は合計を表す記号です
分散の意味を理解することは、データ分析の基本中の基本です。例えば、テストの点数を分析する場合、平均点が同じ70点でも、ある学級では65〜75点に集中(分散が小さい)しているのに対し、別の学級では30〜100点と広く分布(分散が大きい)していることがあります。このように、分散はデータの特性を把握するための重要な指標となります。
分散と標準偏差の関係
分散と密接な関係にあるのが標準偏差です。標準偏差は分散の正の平方根であり、同じ単位でデータのばらつきを表現できるという利点があります。
標準偏差 = √分散
例えば、身長(cm)の分散が36cm²の場合、標準偏差は6cmとなります。分散が二乗の単位であるのに対し、標準偏差は元のデータと同じ単位で表されるため、直感的に理解しやすいという特徴があります。
データの正規分布における標準偏差の意味は特に重要で、データの約68%が平均値±1標準偏差の範囲に、約95%が平均値±2標準偏差の範囲に、約99.7%が平均値±3標準偏差の範囲に含まれることが知られています。これを「3シグマルール」と呼びます。
母分散と標本分散の違い
統計学において、母分散と標本分散の違いを理解することは非常に重要です。母分散は母集団全体の分散を表し、標本分散は母集団から抽出した一部のデータ(標本)の分散を表します。
母分散の計算式: σ² = Σ(x – μ)² / N
標本分散の計算式: s² = Σ(x – x̄)² / (n-1)
ここで、μは母平均、x̄は標本平均、Nは母集団のサイズ、nは標本サイズを表します。
注目すべきは、標本分散の計算で分母が(n-1)となっている点です。これは「ベッセルの修正」と呼ばれ、標本から母分散を推定する際のバイアスを減らすために行われます。標本サイズが大きくなるほど、この修正の影響は小さくなります。
分散の計算方法:基本の手順
分散を求めるには、いくつかの基本的な手順があります。ここでは、具体的な計算方法を詳しく解説していきます。どのようなデータセットでも適用できる汎用的な手順なので、しっかりとマスターしましょう。
ステップバイステップの計算プロセス
分散を計算するための基本的な手順は以下の通りです:
- データの平均値を計算する まず、すべてのデータ値を合計し、データの個数で割って平均値を求めます。
- 各データと平均値の差(偏差)を求める 各データ値から平均値を引いて、偏差を計算します。
- 偏差を二乗する 計算した偏差をそれぞれ二乗します。これにより、負の値も正の値として扱えるようになります。
- 二乗した偏差の合計を求める すべての二乗偏差を合計します。
- 合計をデータ数(または自由度)で割る 標本分散を求める場合は、合計をデータ数から1を引いた値(n-1)で割ります。 母分散を求める場合は、単純にデータ数nで割ります。
この手順を具体例で説明すると、データ集合{2, 4, 6, 8, 10}の分散を求める場合:
- 平均値の計算:(2 + 4 + 6 + 8 + 10) / 5 = 30 / 5 = 6
- 各データの偏差:2-6=-4, 4-6=-2, 6-6=0, 8-6=2, 10-6=4
- 偏差の二乗:(-4)²=16, (-2)²=4, 0²=0, 2²=4, 4²=16
- 二乗偏差の合計:16 + 4 + 0 + 4 + 16 = 40
- 標本分散の計算:40 / (5-1) = 40 / 4 = 10
したがって、このデータセットの標本分散は10となります。
公式を用いた分散の計算方法
分散を計算するための数学的な公式はいくつかありますが、最も一般的なものは以下の2つです:
基本公式(定義に基づく計算): s² = Σ(x – x̄)² / (n-1)
計算公式(計算の効率化のための変形): s² = [Σx² – (Σx)²/n] / (n-1)
2つ目の公式は、特に手計算で分散を求める際に便利です。なぜなら、平均からの偏差を個別に計算する必要がなく、データ値の二乗和とデータ値の合計の二乗から直接分散を求められるからです。
先ほどの例で計算公式を使ってみると:
- Σx = 2 + 4 + 6 + 8 + 10 = 30
- Σx² = 2² + 4² + 6² + 8² + 10² = 4 + 16 + 36 + 64 + 100 = 220
- s² = [220 – (30)²/5] / (5-1) = [220 – 900/5] / 4 = [220 – 180] / 4 = 40 / 4 = 10
両方の公式で同じ結果が得られることが確認できます。
分散計算の際の注意点
分散を計算する際に注意すべきポイントがいくつかあります:
- 母分散と標本分散の区別 計算の目的に応じて、適切な分母(nまたはn-1)を選択することが重要です。母集団全体のデータを扱う場合はn、標本データから母集団を推定する場合はn-1を使用します。
- 桁数と丸め 計算過程での丸めは最終結果に影響することがあるため、中間計算では十分な桁数を保持し、最終結果のみ適切に丸めることをお勧めします。
- 外れ値の影響 分散は外れ値に非常に敏感です。これは偏差を二乗するため、平均から大きく離れた値は分散に大きな影響を与えます。データ分析前に外れ値の確認と適切な処理を検討してください。
- ゼロ分散の解釈 分散がゼロになる場合、すべてのデータ値が同じであることを意味します。データに変動がないということです。
- 大きな数値の扱い 非常に大きな値や小さな値を含むデータセットでは、数値誤差が生じる可能性があります。そのような場合は、データを標準化するなどの前処理が有効です。
エクセルやプログラミング言語での分散計算法
実際のデータ分析では、手計算ではなくツールを使用することが一般的です。ここでは、Excelおよび各種プログラミング言語での分散の計算方法を紹介します。
Excelを使った分散の求め方
Excelでは、分散を計算するための関数が用意されています:
- VAR.S関数: 標本分散を計算します(分母はn-1)
- VAR.P関数: 母分散を計算します(分母はn)
使い方は非常に簡単です。例えば、A1からA10のセルに入力されたデータの標本分散を求めるには:
=VAR.S(A1:A10)
母分散を求めるには:
=VAR.P(A1:A10)
Excel 2007以前では、これらの関数はそれぞれVAR関数とVARPに相当します。
さらに、Excelでは分散だけでなく標準偏差も直接計算できます:
- STDEV.S関数: 標本標準偏差を計算
- STDEV.P関数: 母集団標準偏差を計算
これらの関数を使うことで、数式を入力する手間が省け、計算ミスのリスクも減少します。
Pythonによる分散計算
Pythonでは、NumPyライブラリやStatisticsモジュールを使って分散を計算できます:
NumPyを使用した方法:
import numpy as np
# データ
data = [2, 4, 6, 8, 10]
# 標本分散(分母はn-1)
sample_variance = np.var(data, ddof=1)
print("標本分散:", sample_variance) # 出力: 10.0
# 母分散(分母はn)
population_variance = np.var(data, ddof=0)
print("母分散:", population_variance) # 出力: 8.0
Statisticsモジュールを使用した方法:
import statistics
# データ
data = [2, 4, 6, 8, 10]
# 標本分散
sample_variance = statistics.variance(data)
print("標本分散:", sample_variance) # 出力: 10.0
# 母分散
population_variance = statistics.pvariance(data)
print("母分散:", population_variance) # 出力: 8.0
Pythonはデータ分析やデータサイエンスで広く使われている言語なので、これらの関数に慣れておくと便利です。
Rによる分散計算
R言語は統計解析に特化したプログラミング言語で、分散の計算も簡単に行えます:
# データ
data <- c(2, 4, 6, 8, 10)
# 標本分散
sample_variance <- var(data)
print(sample_variance) # 出力: 10
# 母分散
population_variance <- var(data) * (length(data) - 1) / length(data)
print(population_variance) # 出力: 8
Rでは、デフォルトでvar()
関数は標本分散を計算します。母分散を計算するには、標本分散に(n-1)/nを掛ける必要があります。
分散の実践的な応用例と解釈
分散は理論的な統計量であるだけでなく、実際のデータ分析や意思決定の場面で重要な役割を果たします。ここでは、分散の実用的な応用例と、分散値をどのように解釈すべきかについて解説します。
教育データ分析での分散の活用
教育現場では、テストや評価の結果を分析する際に分散が重要な指標となります。
例えば、クラスAとクラスBの数学のテスト結果を比較する場合を考えてみましょう:
クラス | 平均点 | 分散 |
---|---|---|
クラスA | 70点 | 25 |
クラスB | 70点 | 100 |
上記のデータでは、両クラスの平均点は同じ70点ですが、分散に大きな違いがあります。これは、クラスAでは点数が平均の周りに集中している(均質的な学力)のに対し、クラスBでは点数のばらつきが大きい(学力差が大きい)ことを示しています。
この情報は教育者にとって非常に重要です。クラスBではより個別対応が必要かもしれませんし、学習支援の方法も異なる可能性があります。このように、分散は単なる数値ではなく、教育現場での具体的な指導方針に影響する重要な指標となります。
金融分野における分散とリスク分析
金融の世界では、分散はリスク分析の基礎となる概念です。特に投資におけるポートフォリオ理論では、分散が中心的な役割を果たします。
投資リターンの分散は、投資のリスクを表す指標として使われます。分散が大きいほど、リターンのばらつきが大きく、リスクが高いことを意味します。逆に、分散が小さいほど、安定した投資と見なされます。
例えば、以下の2つの投資オプションを比較してみましょう:
投資オプション | 平均年間リターン | リターンの分散 |
---|---|---|
投資A | 8% | 4 |
投資B | 8% | 16 |
両方の投資オプションの平均リターンは同じ8%ですが、リターンの分散は投資Bの方が大きいです。これは、投資Bの方がリスクが高いことを示しています。投資家はこの情報を基に、自分のリスク許容度に合わせた投資決定をすることができます。
また、異なる資産クラスに分散投資することで、ポートフォリオ全体の分散(リスク)を低減できるという「分散投資の効果」も、分散の概念に基づいています。
科学実験における分散の解釈
科学実験では、測定結果の信頼性や再現性を評価するために分散が使用されます。
例えば、ある化学反応の収率を測定する実験を複数回実施した結果を考えてみましょう:
実験条件 | 平均収率 | 収率の分散 |
---|---|---|
条件A | 75% | 1.5 |
条件B | 73% | 8.2 |
条件Aの平均収率はわずかに高いですが、それよりも重要なのは、条件Aの方が分散が小さいことです。これは、条件Aの方が安定した結果を得られることを示しており、実験の再現性が高いと言えます。
科学者はこの情報を基に、より信頼性の高い実験条件を選択したり、分散が大きい条件の場合はその原因を探ったりします。このように、分散は実験データの質を評価する重要な指標となります。
特殊なケースでの分散計算法
通常のデータセットだけでなく、特殊なケースや特定の分布における分散の計算方法について理解することも重要です。ここでは、いくつかの特殊なケースにおける分散の計算法を解説します。
グループ化されたデータの分散計算
大量のデータを扱う場合、データを階級(グループ)に分けて集計することがあります。例えば、100人の学生のテスト点数を5つの点数区間にグループ化するような場合です。グループ化されたデータから分散を計算する方法を見ていきましょう。
グループ化されたデータの分散を求める公式は次のとおりです:
s² = [Σ(f・x²) – (Σ(f・x))²/n] / (n-1)
ここで:
- f は各階級の度数(頻度)
- x は各階級の中央値
- n は総度数(Σf)
具体例で説明しましょう。以下のデータは、あるテストの点数分布を示しています:
点数区間 | 度数(人数) | 階級中央値 |
---|---|---|
0-20 | 5 | 10 |
21-40 | 15 | 30 |
41-60 | 40 | 50 |
61-80 | 30 | 70 |
81-100 | 10 | 90 |
このデータから分散を計算する手順は:
- 各階級の中央値(x)と度数(f)の積を求める: f・x
- 各階級の中央値の二乗と度数の積を求める: f・x²
- 1と2の合計を求める: Σ(f・x)とΣ(f・x²)
- 公式に代入して計算する
計算結果を表で整理すると:
点数区間 | 度数(f) | 中央値(x) | f・x | f・x² |
---|---|---|---|---|
0-20 | 5 | 10 | 50 | 500 |
21-40 | 15 | 30 | 450 | 13,500 |
41-60 | 40 | 50 | 2,000 | 100,000 |
61-80 | 30 | 70 | 2,100 | 147,000 |
81-100 | 10 | 90 | 900 | 81,000 |
合計 | 100 | – | 5,500 | 342,000 |
分散の計算: s² = [342,000 – (5,500)²/100] / (100-1) = [342,000 – 30,250,000/100] / 99 = [342,000 – 302,500] / 99 = 39,500 / 99 ≈ 398.99
したがって、このグループ化されたデータの標本分散は約399となります。
グループ化データの分散計算では、階級の幅が広すぎると精度が落ちる可能性があるため注意が必要です。
確率分布における理論的分散
理論的な確率分布には、それぞれ特有の分散の計算式があります。代表的な確率分布とその分散について見ていきましょう。
1. 二項分布 n回の独立した試行で、各試行が確率pで成功する場合の分散: Var(X) = n・p・(1-p)
例:公正なコインを10回投げたときの表の出る回数の分散 Var(X) = 10 × 0.5 × (1-0.5) = 10 × 0.5 × 0.5 = 2.5
2. ポアソン分布 単位時間あたりの平均発生回数がλの事象の分散: Var(X) = λ
例:1時間あたり平均3件の電話がかかってくる場合の分散 Var(X) = 3
3. 正規分布 平均μ、標準偏差σの正規分布の分散: Var(X) = σ²
例:平均170cm、標準偏差5cmの身長分布の分散 Var(X) = 5² = 25
これらの理論的分散は、実際のデータから計算された分散と比較する際の基準として使用されます。実測値と理論値の差が大きい場合、データが想定している分布に従っていない可能性があります。
多次元データの分散共分散行列
複数の変数を同時に扱う多変量解析では、分散だけでなく、変数間の関係も考慮する必要があります。ここで重要になるのが分散共分散行列です。
n個の観測値と p個の変数がある場合、分散共分散行列は p×p の行列となり、対角要素には各変数の分散、非対角要素には変数間の共分散が配置されます。
例えば、身長(X)と体重(Y)というデータがある場合、分散共分散行列は次のようになります:
| Var(X) Cov(X,Y) |
Σ = | |
| Cov(X,Y) Var(Y) |
ここで:
- Var(X)は身長の分散
- Var(Y)は体重の分散
- Cov(X,Y)は身長と体重の共分散
共分散は次の式で計算されます: Cov(X,Y) = Σ[(x_i – x̄)(y_i – ȳ)] / (n-1)
分散共分散行列は、主成分分析や判別分析など多くの多変量解析手法の基礎となります。また、多変量データの構造を視覚的に理解するのにも役立ちます。
分散計算の応用問題と演習
分散の概念や計算方法を十分に理解するためには、実際に問題を解いて練習することが効果的です。ここでは、異なる難易度の演習問題とその解答を提供します。
基本的な計算演習
問題1 以下のデータセットの分散を求めなさい。 {3, 7, 8, 12, 15}
解答
- 平均値の計算: (3 + 7 + 8 + 12 + 15) / 5 = 45 / 5 = 9
- 各データの偏差: 3 – 9 = -6 7 – 9 = -2 8 – 9 = -1 12 – 9 = 3 15 – 9 = 6
- 偏差の二乗: (-6)² = 36 (-2)² = 4 (-1)² = 1 3² = 9 6² = 36
- 二乗偏差の合計: 36 + 4 + 1 + 9 + 36 = 86
- 標本分散の計算: 86 / (5-1) = 86 / 4 = 21.5
したがって、このデータセットの標本分散は21.5です。
問題2 ある小テストの得点データが{75, 82, 88, 90, 95}である。母分散を求めなさい。
解答
- 平均値の計算: (75 + 82 + 88 + 90 + 95) / 5 = 430 / 5 = 86
- 各データの偏差: 75 – 86 = -11 82 – 86 = -4 88 – 86 = 2 90 – 86 = 4 95 – 86 = 9
- 偏差の二乗: (-11)² = 121 (-4)² = 16 2² = 4 4² = 16 9² = 81
- 二乗偏差の合計: 121 + 16 + 4 + 16 + 81 = 238
- 母分散の計算(分母はn): 238 / 5 = 47.6
したがって、このデータセットの母分散は47.6です。
応用問題例とその解法
問題3 あるクラスの数学テストの結果が以下のように度数分布表で与えられている。このデータの分散を求めなさい。
点数 | 人数 |
---|---|
40-49 | 3 |
50-59 | 7 |
60-69 | 12 |
70-79 | 10 |
80-89 | 6 |
90-99 | 2 |
解答 グループ化されたデータの分散を求めるため、各階級の中央値を使用します。
点数区間 | 度数(f) | 中央値(x) | f・x | f・x² |
---|---|---|---|---|
40-49 | 3 | 44.5 | 133.5 | 5,940.75 |
50-59 | 7 | 54.5 | 381.5 | 20,791.75 |
60-69 | 12 | 64.5 | 774.0 | 49,923.00 |
70-79 | 10 | 74.5 | 745.0 | 55,502.50 |
80-89 | 6 | 84.5 | 507.0 | 42,841.50 |
90-99 | 2 | 94.5 | 189.0 | 17,860.50 |
合計 | 40 | – | 2,730.0 | 192,860.00 |
平均値 = 2,730 / 40 = 68.25
分散の計算: s² = [192,860 – (2,730)²/40] / (40-1) = [192,860 – 7,452,900/40] / 39 = [192,860 – 186,322.5] / 39 = 6,537.5 / 39 ≈ 167.63
したがって、このグループ化されたデータの標本分散は約167.63です。
分散計算のマスターへの道
分散の概念と計算方法について詳しく解説してきました。分散はデータのばらつき具合を示す重要な統計指標であり、平均値と合わせて使用することでデータの特性をより深く理解することができます。
基本的な分散の計算プロセスは、データの平均値を求め、各値と平均との差(偏差)を二乗して合計し、データ数(または自由度)で割るという手順です。母分散と標本分散の違いを理解し、目的に応じて適切な計算式を選択することが重要です。
ExcelやPython、Rなどのツールを使えば、複雑なデータセットでも簡単に分散を計算できます。また、グループ化されたデータや特定の確率分布における分散についても学びました。
分散の知識は教育、金融、科学実験など多くの分野で活用されています。データのばらつきを数値化することで、リスク評価や実験の信頼性判断など、重要な意思決定の基準となります。
分散の概念を正しく理解し、適切に計算・解釈できるようになることは、データに基づいた判断を行う上で非常に重要なスキルです。本記事で解説した内容を理解し、実際のデータ分析に応用してみてください。統計学の基礎として、分散の知識はこれからの学習や研究活動において大きな力となるでしょう。