Excelで学ぶ統計講座(初級)

基本統計量

本章で用いる実習用ファイル

基本統計量とヒストグラム

基本統計量の中でも特に重要なのが代表値とデータの散らばり(散布度)である。

代表値…分布上の位置を表す
  • 平均値…比例・間隔尺度・順序尺度・名義尺度
  • 中央値…比例・間隔尺度・順序尺度名義尺度
  • 最頻値…比例・間隔尺度・順序尺度・名義尺度
  • 最大値…比例・間隔尺度・順序尺度・名義尺度
  • 最小値…比例・間隔尺度・順序尺度・名義尺度

cf.尺度

散布度
  • 範囲…最大値 - 最小値
  • 分散…個々の値と平均値との偏差平方の平均
  • 標準偏差…SQRT(分散)
ABCDEF
1No名前グループ身長血液型
21中澤裕子モーニング娘。158O
32石黒彩モーニング娘。160A
43飯田圭織モーニング娘。167A
54安倍なつみモーニング娘。152A
65福田明日香モーニング娘。149B
122121山﨑愛生モーニング娘。159B
123122橋迫鈴アンジュルム152O
124
全データ
尺度
グループ(名義尺度)
C2:C123
身長(比例尺度)
D2:D123
血液型(名義尺度)
E2:E123

各データセル範囲には項目名で名前定義をしている。

基本統計量

GHIJ
1統計量
2人数(N)=COUNT(身長)
3平均値(mean)=AVERAGE(身長)
4中央値(median)=MEDIAN(身長)
5最頻値(mode)
6最大値(max)=MAX(身長)
7最小値(min)=MIN(身長)
8範囲(range)=H6 - H7
9分散(V)=VAR.P(身長)
10標準偏差(sd)=STDEV.P(身長)
11不偏分散(u2)=VAR.S(身長)
12標準偏差(u)=STDEV.S(身長)
13
人数
データの大きさ。
COUNT()
平均値 mean
算術平均。averageは通俗的な単語。
AVERAGE()
中央値 median
数値を大小順に並べたときに真ん中に来る値。
MEDIAN()
最頻値 mode
度数分布表から求める(厄介)。
最大値 max
範囲内で一番大きい数値。
MAX()
最小値 min
範囲内で一番小さい数値。
MIN()
範囲 range
最大値 - 最小値。
分散と標準偏差

分散はデータの散らばり度合を表す統計量である。「範囲」と違って、全データの値を参照して算出される。

偏差を一辺とする正方形群 正方形の平均面積

個々の値(身長)とその平均値(AVERAGE(身長))との差を偏差(身長-AVERAGE(身長))と呼ぶ。

この偏差を一辺とする正方形の面積偏差平方((身長-AVERAGE(身長))^2)であり、そのN個の正方形の面積の総和が偏差平方和(SUM((身長-AVERAGE(身長))^2))である。

分散はこの偏差平方和を正方形の個数(N)(COUNT(身長))で割ったものである。つまり偏差を一辺とする正方形の面積の平均値分散であり、その平方根を取ったもの(分散を面積とする正方形の一辺の長さ)が標準偏差である。

DFGHIJ
1身長偏差平方統計量
2158=(身長-AVERAGE(身長))^2人数122
31604.829186375平均値157.80
416784.59476015中央値157
8145163.9029569分散=SUM((身長-AVERAGE(身長))^2)/COUNT(身長)
91580.03902244標準偏差=SQRT(I8)
1221591.434104407
12315233.66853064
124

ここでの数式はスピル配列を用いている。

分散
身長と身長の平均値(AVERAGE(身長))の差を二乗したものの合計(偏差平方和)を求め、それをデータの大きさ(N)で除算する。
標準偏差
分散の平方根を取ったもの。

Excelではこの分散はVAR.P関数で求められる。一方Excelには同じく分散を求める関数としてVAR.S関数がある。

このVAR.S関数で求められる分散を不偏分散と呼ぶ。不偏分散のなんたるか、どういうときに用いるのかは推測統計のときに説明する。

度数分布表とヒストグラム

名義尺度を変数として度数分布表を作るのは簡単(後述)。例えば血液型の度数分布表を作るには各血液型ごとの人数を数える。ExcelならばCOUNTIFS関数を用いるのが簡便である。

今回のように連続数を変数として度数分布表を作る時には、もう一手間が必要となる。変数を任意の区切り幅でカテゴリ―化してから度数分布表を作る。今回は身長を5cm区切りで設定する。この区切りを「ビン」と呼ぶ。

今回はビンを140(cm)を最小に、5(cm)区切りで設定した。

140-145145-150150-155155-160160-165165-170170-175175-180180-185

140-145の区切りは

  • 140以上150未満
  • 140より大きく150以下

という二つの方式があるが、日本では一般的に「140以上150未満」とするのが一般的なので、そちらを採択する。

KLM
2人数
3140
4145
5150
6155
7160
8165
9170
10175
11180
12185
13

140-145に当てはまる人数を数えるには「身長>=140」かつ身長<145」の条件に当てはまる「身長」の数値数を求める式を入力する。

Excelでは条件付き集計を行う。今回はその中から一番ベーシックな方法、COUNT関数とIF関数を組み合わせる方法を紹介する。

セルL3
  • 身長>=K3
  • 身長<K4

この二つの条件を論理積で結ぶ。

  • (身長>=K3)*(身長<K4)

この条件に当てはまる(TRUE)のとき、COUNT関数で数えられる値(ex.1)、FALSEの時はそのまま出力する。

  • IF( (身長>=K3)*(身長<K4), 1)

この数式は「1」ないしは「FALSE」からなる配列を作る。140-145の階層には該当者がいないので、「FALSE」だけが並ぶ。例えば155-160の階層の場合(IF( (身長>=K6)*(身長<K7), 1))、配列は下のようになる。

No1234567122
1FALSEFALSEFALSEFALSE1FALSEFALSE

この配列で数値(「1」)が入っている数を数える。

  • COUNT(IF( (身長>=K3)*(身長<K4), 1))
セルL4以降

セルL4をオートフィルでコピーする。

KLM
2人数
3140=COUNT(IF( (身長>=K3)*(身長<K4), 1))
41453
515035
615541
716030
816511
91701
101750
111801
121850
13

直接身長データからヒストグラムを作成できるが(「140より大きく150以下」方式のみ)、今回は度数分布表からヒストグラムを作る。

KLM
2人数
31400
41453
515035
615541
716030
816511
91701
101750
111801
121850
13
  1. 度数分布表(セルK2:L12)をアクティブセルにする
  2. グラフを挿入する
    1. [おすすめグラフ]ボタンをクリックする
      [挿入]→[グラフ]
      [挿入]→[グラフ]
    2. グラフの種類を選択する
      [集合縦棒]
      [すべてのグラフ]→[縦棒]→[集合縦棒]

      [集合縦棒]を選択する

  3. 棒のデザインを修正する
    1. 作られたグラフの[データ要素](縦棒)をダブルクリックする
      集合縦棒グラフ(初期)
      棒グラフのデータ系列(青い四角形)
    2. [要素の間隔]を「0%」に指定する
      系列のオプション
      [要素の間隔]:0%

      ウィンドウ右側に出る「書式設定」画面から[系列のオプション][系列のオプション][要素の間隔]を「0%」とする

    3. [枠線]を設定する
      系列のオプション
      [枠線(単色)][色]:白

      [枠線]より[枠線(単色)]・[色]→白を選択する

  4. タイトルを修正して完成
    ヒストグラム(完成)
    [タイトル]:身長のヒストグラム

最頻値

「最頻値」は難物である。順序尺度・名義尺度の時は単純に同じ値の数を数えれば最頻値が求められるが、比例・間隔尺度においてはそれではあまり実用にならない(ExcelのMODE系関数は使えない)。一定の区切り幅の中で度数の高い区間から求める方が実用的である。このような最頻値は先に作成した度数分布表を元に求める。

KLM
2人数
31400
41453
515035
615541
716030
816511
91701
101750
111801
121850
13
  1. 一番大きい度数(41)を見つける
  2. それに対応する区切り(155-160)を探す
  3. その範囲の中央値(157.5)を最頻値とする
  4. 度数が一番大きい区切りが複数あるとき(150-155の区切りにも41人いた場合)、すべての中央値の平均値を最頻値とする。

実用的には区切りを目視で探して、暗算でよいが、式で求める場合は以下のようにする。

  1. 度数の最大値を求める:MAX(L3:L12)
  2. 対応する区切りを探す
    1. 度数の最大値に対応する区切りを判定する
      KLMNO
      2人数
      31400=L3:L12=MAX(L3:L12)
      41453FALSE
      515035FALSE
      615541TRUE
      716030FALSE
      816511FALSE
      91701FALSE
      101750FALSE
      111801FALSE
      121850FALSE
      13
    2. 最大値に対応する区切りの始点の数値を配列に入れる
      KLMNO
      2人数
      31400FALSE=IF(M3#,K3:K12)
      41453FALSEFALSE
      515035FALSEFALSE
      615541TRUE155
      716030FALSEFALSE
      816511FALSEFALSE
      91701FALSEFALSE
      101750FALSEFALSE
      111801FALSEFALSE
      121850FALSEFALSE
      13
  3. その区切りの中央値を求める(区切りの始点に区切り幅を2で除算した値を足したものが中央値である)
    KLMNO
    2人数
    31400FALSE=IF(M3#,K3:K12+(K4-K3)/2)
    41453FALSEFALSE
    515035FALSEFALSE
    615541TRUE157.5
    716030FALSEFALSE
    816511FALSEFALSE
    91701FALSEFALSE
    101750FALSEFALSE
    111801FALSEFALSE
    121850FALSEFALSE
    13
  4. この中央値の配列の平均値が最頻値となる。
    KLMNO
    2人数
    31400FALSEFALSE
    41453FALSEFALSE
    515035FALSEFALSE
    615541TRUE157.5
    716030FALSEFALSE
    816511FALSEFALSE
    91701FALSEFALSE
    101750FALSEFALSE
    111801FALSEFALSE
    121850FALSEFALSE
    13
    13最頻値=AVERAGE(N3:N12)
最頻値
KLM
2人数
31400
41453
515035
615541
716030
816511
91701
101750
111801
121850
13
=AVERAGE(IF(L3:L12=MAX(L3:L12), K3:K12 + (K4 - K3)/2))
基本統計量まとめ
GHIJ
1統計量
2人数(N)=COUNT(身長)
3平均値(mean)=AVERAGE(身長)
4中央値(median)=MEDIAN(身長)
5最頻値(mode)=AVERAGE(IF(度数=MAX(度数),各ビンの始点 + ビンの幅/2))
6最大値(max)=MAX(身長)
7最小値(min)=MIN(身長)
8範囲(range)=H6-H7
9分散(V)=VAR.P(身長)
10標準偏差(sd)=STDEV.P(身長)
11不偏分散(u2)=VAR.S(身長)
12標準偏差(u)=STDEV.S(身長)
13

グループ別集計

基本統計量

カテゴリーごとに統計量を求めるときには条件付き集計を行う。

HIJKLMNO
15グループ人数平均分散最大最小中央値
16
17
18
25合計122157.8029.93182.0145.0157.0
26

カテゴリー変数は漏らさず、ダブらないようにリスト化する必要がある。ExcelではUNIQUE関数を用いる。

重複しない値:UNIQUE(配列)

UNIQUE関数は配列から重複しない値を返す関数である。

H
15グループ
16=UNIQUE(グループ)
17Berryz工房
18℃-ute
19アンジュルム
20カントリー・ガールズ
21Juice=Juice
22こぶしファクトリー
23つばきファクトリー
24BEYOOOOONDS
25合計
26

データの並び順は元配列の並び順に依存する。

条件付き集計

Excelには条件付き集計を行うための機能としてIFS関数群が用意されている(COUNTIFS, SUMIFS, AVERAGEIFS, MAXIFS, MINIFS)。ただこの関数群だけでは足りない。具体的には中央値・分散などが求められない。

そこでここでは度数分布表と同様IF関数と集計関数を合わせて用いる。

データの大きさN(人数)
HI
15グループ人数
16モーニング娘。=COUNT(IF(グループ=H16, 1))
17Berryz工房8
18℃-ute8
19アンジュルム18
20カントリー・ガールズ6
21Juice=Juice9
22こぶしファクトリー8
23つばきファクトリー9
24BEYOOOOONDS12
25合計=COUNT(グループ)
26
平均値 mean
HJ
15グループ平均値
16モーニング娘。=AVERAGE(IF(グループ=H16, 身長))
17Berryz工房161.65
18℃-ute158.80
19アンジュルム158.33
20カントリー・ガールズ152.50
21Juice=Juice159.14
22こぶしファクトリー157.25
23つばきファクトリー158.54
24BEYOOOOONDS158.57
25合計=AVERAGE(グループ)
26
分散 V
HK
15グループ分散
16モーニング娘。=VAR.P(IF(グループ=H16, 身長))
17Berryz工房82.94
18℃-ute36.53
19アンジュルム19.00
20カントリー・ガールズ7.58
21Juice=Juice14.81
22こぶしファクトリー22.63
23つばきファクトリー17.94
24BEYOOOOONDS31.73
25合計=VAR.P(グループ)
26
最大値 max
HL
15グループ最大値
16モーニング娘。=MAX(IF(グループ=H16, 身長))
17Berryz工房182
18℃-ute170
19アンジュルム166
20カントリー・ガールズ157
21Juice=Juice165
22こぶしファクトリー163.5
23つばきファクトリー167
24BEYOOOOONDS168
25合計=MAX(グループ)
26
最小値 min
HM
15グループ最小値
16モーニング娘。=MIN(IF(グループ=H16, 身長))
17Berryz工房150
18℃-ute152
19アンジュルム152
20カントリー・ガールズ148
21Juice=Juice153.3
22こぶしファクトリー150
23つばきファクトリー153
24BEYOOOOONDS150
25合計=MIN(グループ)
26
中央値 median
HN
15グループ中央値
16モーニング娘。=MEDIAN(IF(グループ=H16, 身長))
17Berryz工房160
18℃-ute157
19アンジュルム159.5
20カントリー・ガールズ152.5
21Juice=Juice160
22こぶしファクトリー157.5
23つばきファクトリー159
24BEYOOOOONDS158
25合計=MEDIAN(グループ)
26

箱ひげ図

分布をグループごとに視覚的に比較するときには箱ひげ図を用いる。

ABCDEF
1No名前グループ身長血液型
21中澤裕子モーニング娘。158O
32石黒彩モーニング娘。160A
43飯田圭織モーニング娘。167A
54安倍なつみモーニング娘。152A
65福田明日香モーニング娘。149B
122121山﨑愛生モーニング娘。159B
123122橋迫鈴アンジュルム152O
124

Excelで箱ひげ図を作る際、量的変数(「身長」)とグループ化変数(「グループ」)が並んでいると両者を一つの範囲選択すれば簡単に作成できるが、いつもそうであるとは限らない(「身長」と「血液型」)。今回はグループで箱ひげ図を作るが、敢えて一般的なやり方を説明する。

  1. セル範囲D1:D123をアクティブセルにする
  2. グラフを挿入する
    1. [おすすめグラフ]ボタンをクリックする
      [挿入]→[グラフ]
      [挿入]→[グラフ]
    2. グラフの種類を選択する
      [箱ひげ図]
      [すべてのグラフ]→[箱ひげ図]→[箱ひげ図]

      [箱ひげ図]を選択する

  3. データ範囲を修正する(連続する範囲選択した場合は不要)
    1. [グラフデザイン]リボン中の[データ]グループにある[データの選択]ボタンをクリックする
      [データの選択]ボタン
      [グラフデザイン]→[データ]→[データの選択]
    2. [データソースの選択]ダイアログボックスより[横(項目)軸ラベル]の[編集]ボタンをクリックする
      [データソースの選択]ダイアログボックス
      [データソースの選択][横(項目)軸ラベル][編集]
    3. [軸ラベルの範囲]を設定する
      [軸ラベル]
      [軸ラベルの範囲]:=記述統計!$C$2:$C$123

      [軸ラベルの範囲]欄にグループ化変数の範囲を入力する(=記述統計!$C$2:$C$123)

      [凡例項目(系列)]:身長, [横(項目)軸ラベル]:モーニング娘。モーニング娘。モーニング娘。モーニング娘。モーニング娘。
      箱ひげ図
      箱ひげ図作成例

      縦軸が見えなくなることがあるが、グラフの大きさを変更すると現れる。

  4. 縦軸を修正する
    1. 縦軸をダブルクリックする
    2. [軸の書式設定]画面より[軸のオプション]の[最小値]と[最大値]を適宜修正する
      [軸の書式設定]
      [最小値]:140,[最大値]:190
  5. タイトルを修正して完成
    箱ひげ図
    箱ひげ図完成例
箱ひげ図の見方
箱ひげ図説明(最大値・75%点・平均値・中央値・25%点・最小値)

グループごとの分布の特徴を一瞥できる。