クロス集計(Cross Tabulation)とは、2つ以上のカテゴリ変数(質的データ)を組み合わせてデータの関係性を分析する手法です。
通常、行と列に異なるカテゴリ変数を配置し、それらの交差するセルに集計結果を表示する表(クロス集計表)を作成します。
クロス集計の用途
クロス集計はマーケティングや市場調査、統計分析、ビジネスインテリジェンスなど幅広い分野で活用されています。
例えば、次のような用途があります。
- 顧客分析:年齢層ごとの購入傾向を把握する。
- アンケート分析:性別ごとの満足度の違いを分析する。
- 販売データ分析:地域ごとの売上パターンを比較する。
クロス集計表の例
例えば、顧客の性別と購入した商品カテゴリをクロス集計した表を考えてみましょう。
性別 | 家電 | 衣料品 | 食品 | 合計 |
---|---|---|---|---|
男性 | 30 | 20 | 50 | 100 |
女性 | 25 | 40 | 35 | 100 |
合計 | 55 | 60 | 85 | 200 |
この表から、
- 男性は食品を最も多く購入している。
- 女性は衣料品の購入割合が高い。
- 食品の購入者数が最も多い。
といった洞察が得られます。
クロス集計の計算方法
クロス集計は、単純なカウントだけでなく、比率や平均値を算出することも可能です。
割合の計算
各セルの値を全体の合計で割ることで、各カテゴリの比率を求められます。
性別 | 家電 (%) | 衣料品 (%) | 食品 (%) | 合計 (%) |
男性 | 15.0 | 10.0 | 25.0 | 50.0 |
女性 | 12.5 | 20.0 | 17.5 | 50.0 |
合計 | 27.5 | 30.0 | 42.5 | 100.0 |
これにより、
- 衣料品は女性の購入比率が高い。
- 食品は最も購入されているカテゴリ。
といった情報が可視化されます。
カイ二乗検定を用いた分析
クロス集計は、統計的な有意性を確認するためにカイ二乗検定(Chi-Square Test)と組み合わせて使われることが多いです。
これにより、2つのカテゴリ変数間に統計的な関係があるかどうかを判断できます。
Pythonで独立性のカイ二乗検定を行う方法は以下の記事にまとめてあります。
ExcelやPythonでのクロス集計の実施
クロス集計はExcelやPythonでも簡単に実施できます。
Excelでのクロス集計
Excelでは、ピボットテーブルを使用することでクロス集計を作成できます。
- データを選択
- 「挿入」→「ピボットテーブル」
- 行と列にカテゴリ変数を設定
- 値にカウントや合計を設定
Python(Pandas)でのクロス集計
Pythonでは、pandas
ライブラリのcrosstab
関数を使うことでクロス集計が可能です。
import pandas as pd
# サンプルデータ
data = {'性別': ['男性', '男性', '女性', '女性', '男性', '女性', '男性'],
'商品カテゴリ': ['家電', '食品', '衣料品', '食品', '衣料品', '家電', '食品']}
df = pd.DataFrame(data)
# クロス集計表の作成
table = pd.crosstab(df['性別'], df['商品カテゴリ'], margins=True)
print(table)
上記コードの実行結果は以下のとおりです。
商品カテゴリ 家電 衣料品 食品 All
性別
女性 1 1 1 3
男性 1 1 2 4
All 2 2 3 7
まとめ
クロス集計は、データの関係性を明らかにする有効な手法です。基本的な集計だけでなく、比率計算や統計的な検定を組み合わせることで、より深い分析が可能になります。ExcelやPythonを活用することで、手軽に実施できます。