[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

情報処理技法(統計解析)第2回

目次
索引

統計データの種類

量的データと質的データ

統計データには色々な種類があります。 例えば、ある高校で健康診断を行ったとします。 すると、学年、性別、身長、体重などのデータが集まります。 また、学力テストを行った場合は、英語の得点、数学の得点などのデータが得られます。

ここでは、統計データを量的データと質的データに分類します。 量的データ quantitative data )とは、身長や体重など、数量で表されるデータです。 以下は、量的データの例としての、身長データです。

身長データ(量的データの例)
生徒 1 2 3 4 5 6 7 8 9 10
身長(cm) 155.7 179.4 171.9 161.0 162.8 168.2 163.0 153.2 153.6 173.4

質的データ qualitative data )とは、学年や性別など、所属や性質を表しているデータです。 例えば、学年は1年生、2年生、または3年生です。 また、性別は、男子または女子です。 以下は、質的データの例としての、学年データです。

学年データ(質的データの例)
生徒 1 2 3 4 5 6 7 8 9 10
学年 3年生 1年生 3年生 3年生 2年生 2年生 2年生 1年生 3年生 3年生

質的データは、データを解析する前に、番号に置き換えます。 学年なら、1年生を1, 2年生を2, 3年生を3とします。 性別なら、男子を1, 女子を2とします。

番号に置き換えた学年データ
生徒 1 2 3 4 5 6 7 8 9 10
学年 3 1 3 3 2 2 2 1 3 3

量的データと質的データに関連して、連続型データと離散型データという分類もあります。 連続型データ continuous data )は、12.345...のように、小数点以下何桁も値をとるデータです。 これに対して、1, 2, 3, ...のように、飛び飛びの値をとるデータが 離散型データ discrete data )です。

一般的に、量的データは連続型データで、質的データは離散型データです。 ただし、この分類は絶対的ではなく、離散型データを連続型データと見なすこともあります。

例えば、得点データは、0点、1点、…、100点のように、飛び飛びの値をとるので離散型データですが、飛び飛びといっても101種類もの値をとるので、連続型データと見なしたほうがよいです。

1次元データと多次元データ

先ほど、健康診断では身長と体重のデータが集まると言いました。 身長のみ、あるいは体重のみに注目した場合、これを 1次元のデータ 1-dimensional data )と呼びます。

身長と体重の関係に注目する場合は、 2次元データ 2-dimensional data )と言います。

身長データと体重データ(2次元データの例)
生徒 1 2 3 4 5 6 7 8 9 10
身長(cm) 155.7 179.4 171.9 161.0 162.8 168.2 163.0 153.2 153.6 173.4
体重(kg) 51.0 71.1 67.2 56.1 55.1 61.0 57.6 50.5 50.1 68.0

3種類のデータの関係性に注目した、3次元データも考えられます。 一般的に、2次元以上のデータは 多次元データ multi-dimensional data )と呼ばれます。

今日の授業では、1次元データを取り上げます。


度数分布表

統計データを集めたら、すぐに最大値、最小値、平均値などを計算したくなるかもしれません。 しかし、データ全体の傾向を把握することが、もっと重要です。 度数分布表を作成すると、データを全体的に理解できます。

度数分布表 frequency table )とは、データの値をいくつかの 階級 class )(データの範囲)に区切り、それぞれの階級の 度数 frequency )(データが何件あるか)をまとめた表です。

ここで、学力テストにおける、英語の得点を見てみましょう。

73, 68, 82, 68, 100, 70, 36, 67, 92, 85, 64, 71, 78, 68, 73, 65, 70, 66, 77, 69, 62, 73, 71, 83, 56, 75, 74, 88, 66, 51, 85, 73, 86, 89, 77, 54, 75, 78, 55, 61, 65, 78, 68, 68, 67, 68, 58, 59, 80, 74, 77, 72, 59, 71, 80, 75, 90, 68, 69, 73, 58, 70, 81, 75, 70, 74, 76, 83, 74, 72, 61, 73, 66, 58, 56, 63, 85, 69, 74, 75, 69, 65, 73, 76, 63, 71, 79, 57, 62, 85, 66, 64, 72, 56, 78, 62, 75, 69, 59, 86.

このままでは、全体の傾向は分かりません。 そこで、以下のように度数分布表を作成すると、分かりやすくなります。

英語の得点の度数分布表
階級 度数
0点以上10点未満 0
10点以上20点未満 0
20点以上30点未満 0
30点以上40点未満 1
40点以上50点未満 0
50点以上60点未満 13
60点以上70点未満 30
70点以上80点未満 39
80点以上90点未満 14
90点以上100点未満 2
100点以上110点未満 1

階級の個数を 階級数 number of bins )と呼び、階級のきざみを 階級幅 bin width )と呼びます。 この場合は、階級数が11階級、階級幅が10点きざみです。

連続型データの場合、階級の境界値が問題になります。

のどちらに決める必要があります。

離散型データの場合、度数分布表は度数の多い順に並べ替えたほうが、分かりやすくなります。


ヒストグラム

度数分布表が作成できたら、次にヒストグラムを作成します。 ヒストグラム histogram )とは、度数分布表の階級を横軸にし、度数を縦軸にしたグラフです。 ヒストグラムは、棒グラフに似ています。

以下は、英語の得点の度数分布表をヒストグラムにしたものです。

英語の得点のヒストグラム
英語の得点のヒストグラム

ヒストグラムは、棒が横にくっついた棒グラフに見えるかもしれません。 確かに、連続型データでは、棒を横にくっつけますが、離散型データでは、棒を横から離します。

度数分布表やヒストグラムを作成するとき、階級数と階級幅をどう決めるかが問題になります。 階級数を減らすと階級幅が広くなり、大雑把になってきます。 逆に、階級数を増やすと階級幅が狭くなり、細かい点が目立ってきます。

先ほどの英語の得点を、階級数3, 階級幅50にすると以下のようになります。

英語の得点のヒストグラム(階級数3)
英語の得点のヒストグラム(階級数3)

階級数51, 階級幅2にすると、以下のようになります。

英語の得点のヒストグラム(階級数51)
英語の得点のヒストグラム(階級数51)

どちらも、全体の傾向を見るのには不適切です。


Excelによる度数分布表

それでは、Excelで度数分布表を作成しましょう。 次のExcelファイルをダウンロードしてください。

stat_02_data.xlsx

生徒(student)の学年(year)、性別(gender)、身長(height)、体重(weight)
student year gender height weight
1 3 2 155.7 51.0
2 1 1 179.4 71.1
3 3 1 171.9 67.2
... ... ... ... ...
10 3 1 173.4 68.0

まず、離散型データの例として、学年の度数分布表を作成します。 離散型データの場合は、ExcelのCOUNTIF関数を使うとできます。 この関数は、

COUNTIF(範囲, 検索条件)

という形式で、範囲の中から検索条件に一致するデータの個数を数えます。

Excelシートの余白(例えばセルG2からH5まで)に、「学年」、「人数」、そして学年(1, 2, 3)を入力してください。

度数分布表の作成(1)
度数分布表の作成(1)

が入力できれば、人数が数えられます。

ここで、$B$3:$B$12やG3などのセル参照は、キー入力しなくても、セルをクリックやドラッグしても入力できます。 その際、絶対参照($B$3:$B$12)に変換するには、commandキーを押しながらTキーを押します。 (Windowsの場合はF4キーを押します。)

なお、絶対参照($B$3:$B$12)と相対参照(G3, G4, G5)を組み合わせたのは、数式をコピー・アンド・ペーストしたいからです。 実際、セルH3に入力した数式をセルH4, H5にコピー・アンド・ペーストすればでき上がります。 Excelが得意な人は、フィル・ハンドル(クリックしたセルの右下の正方形)をドラッグすると、簡単にコピー・アンド・ペーストできます。

度数分布表の作成(2)
度数分布表の作成(2)

度数分布表としてはこれでもよいですが、仕上げとして、人数の多い順に並び替え、学年を詳しく書きます。

セルG2からH5までを、J2にコピー・アンド・ペーストします。 ただし、普通のペーストではなく、「形式を選択してペースト」をクリックし、「値」をクリックします。

度数分布表の作成(3)
度数分布表の作成(3)

値をペーストすることによって、数式の再計算を避けることができます。

セルJ2からK5までをドラッグし、リボンの「データ」をクリックし、「並べ替え/フィルター」項目の「並べ替え」の三角ボタン→「並べ替えのユーザー設定」とクリックします。 (Windowsの場合は、単に「並べ替え」をクリックします。) 「先頭行を列見出しとする」チェックボックスをオンにし、「列」を「人数」にして、「順序」を「最大から最小」にします。 すると、人数の多い順に並び変わります。

度数分布表の作成(4)
度数分布表の作成(4)

最後に、学年の列を詳しく書いて、完成です。

学年ごとの人数の度数分布表
学年ごとの人数の度数分布表

次に、連続型データの例として、身長の度数分布表を作成します。 連続型データの場合、FREQUENCY関数というものがありますが、この関数は扱いが難しいので、代わりにCOUNTIFS関数を使います。 (この関数は、Excel 2007から追加されました。) この関数は、COUNTIF関数の範囲と検索条件を複数にしたもので、

COUNTIFS(範囲1, 検索条件1, 範囲2, 検索条件2, ...)

という形式です。 それぞれの範囲と検索条件のすべてを満たすデータの個数を数えます。 範囲を同じにすれば、すべての検索条件を満たすデータの個数となります。

Excelシートの余白(例えばセルG8からH12まで)に、「身長」、「人数」、そして境界値(150, 160, 170, 180)を入力してください。

度数分布表の作成(5)
度数分布表の作成(5)

そして、セルH9に

=COUNTIFS($D$3:$D$12, ">="&G9, $D$3:$D$12, "<"&G10)

と入力し、このセルをH10とH11にコピー・アンド・ペーストします。 ただし、H12にはペーストしません。

度数分布表の作成(6)
度数分布表の作成(6)

ここで、検索条件「">="&G9」は、「G9以上」という意味です。 「">="」で「以上」を表し、「&」で文字列を連結します。 また、検索条件「"<"&G10」は、「G10未満」という意味です。 したがって、セルH9では、身長が150以上かつ160未満の人数が数えられます。

度数分布表としてはこれでもよいですが、仕上げとして、身長を詳しく書きます。 人数の多い順には並び替えません。

セルG8からH11までを、J8にコピー・アンド・ペーストします。 学年のときと同様に、値をペーストします。 最後に、身長を詳しく書いて完成です。

身長の度数分布表
身長の度数分布表

Excelによるヒストグラム

度数分布表が完成したので、これをヒストグラムにします。

まず、度数分布表全体(セルJ2からK5まで)をドラッグします。 次に、リボンの「グラフ」(Windowsの場合は「挿入」)をクリックし、「グラフの挿入」項目で「縦棒」→「集合縦棒」とクリックします。 すると、棒グラフが表示されます。

ヒストグラムの作成(1)
ヒストグラムの作成(1)

上側のグラフ・タイトルの「人数」をダブル・クリックして、「学年ごとの人数のヒストグラム」に変更します。 右側の凡例の「人数」をクリックし、deleteキーを押して、削除します。

ヒストグラムの作成(2)
ヒストグラムの作成(2)

リボンの「グラフ レイアウト」をクリックし、「ラベル」項目で「軸ラベル」→「横軸ラベル」→「軸ラベルを軸の下に配置」とクリックして、「学年」と入力します。 同様に、「軸ラベル」→「縦軸ラベル」→「軸ラベルを垂直に配置」とクリックして、「人数」と入力します。

これで、ヒストグラムが完成しました。

学年ごとの人数のヒストグラム
学年ごとの人数のヒストグラム

身長のヒストグラムも、同じように作成できます。 ただし、身長は連続型データなので、棒を横にくっつける必要があります。

棒を横にくっつけるには、グラフの棒を右クリックして「データ系列の書式設定」をクリックし、「オプション」タブをクリックして、「要素の間隔」を0%にします。

ヒストグラムの作成(3)
ヒストグラムの作成(3)

同じウィンドウで「線」タブ→「線の色」タブとクリックして、(Windowsの場合は「枠線の色」タブをクリックし、「線(単色)」ラジオ・ボタンをオンにして、)「色」を黒にします。

ヒストグラムの作成(4)
ヒストグラムの作成(4)

これで、棒が横にくっつきます。

身長のヒストグラム
身長のヒストグラム

演習2

ある高校で、3年1組から3年5組までの希望者100人に対して、英語と数学の試験を実施したとします。 クラス、英語の得点、数学の得点をまとめたExcelファイルをダウンロードしてください。

stat_02_report.xlsx

生徒(studnet)のクラス(class)、英語(English)の得点、数学(mathematics)の得点
student class English mathematics
1 3 73 68
2 4 68 74
3 1 82 72
... ... ... ...
100 3 86 86

(1)Excelで、クラスごとの人数の度数分布表を作成してください。

クラスごとの人数の度数分布表
クラスごとの人数の度数分布表

(2)Excelで、クラスごとの人数のヒストグラムを作成してください。

クラスごとの人数のヒストグラム
クラスごとの人数のヒストグラム

(3)Excelで、数学の得点の度数分布表を作成してください。 階級幅は10点きざみとし、0点以上10点未満のようにします。

数学の得点の度数分布表
数学の得点の度数分布表

(4)Excelで、数学の得点のヒストグラムを作成してください。 階級幅は10点きざみとし、0点以上10点未満のようにします。

数学の得点のヒストグラム
数学の得点のヒストグラム

レポート課題

今日の演習2の答案(Excelファイル)をメールで提出してください。 差出人は学内のメール・アドレス(学生番号@cis.twcu.ac.jp)とし、宛先はkonishi@cis.twcu.ac.jpとします。 メールの本文には、学生番号、氏名、科目名、授業日(10月7日)を明記してください。


付録

分析ツールによるヒストグラム

連続型データの度数分布表を作成するときに、上記ではCOUNTIFS関数を使いました。 Excelの分析ツールを使っても、度数分布表が作成できます。

分析ツールを起動する前に、境界値を入力しておきます。 Excelシートの余白(例えばG15からG18まで)に、身長、160, 170, 180と入力します。 これで、

という階級になります。

度数分布表の作成(1)
度数分布表の作成(1)

次に、分析ツールを起動します。 リボンの「データ」をクリックし、「分析」項目の「データ分析」をクリックします。 分析ツールのウィンドウが開いたら、「ヒストグラム」をクリックします。

度数分布表の作成(2)
度数分布表の作成(2)

「入力範囲」には、身長データの範囲($D$2:$D$12)を入力します。 右側の三角ボタンをクリックし、範囲をドラッグし、再び三角ボタンをクリックするのが簡単です。 「データ区間」には、境界値の範囲($G$15:$G$18)を入力します。 「ラベル」のチェックボックスをオンにします。 「出力先」をクリックし、Excelシートの余白(例えば$J$15)を入力します。

度数分布表の作成(3)
度数分布表の作成(3)
度数分布表の作成(4)
度数分布表の作成(4)

後は、身長を詳しく書けば、度数分布表が完成します。

身長の度数分布表
身長の度数分布表

StatPlusによるヒストグラム

StatPlusを利用すると、連続型データの度数分布表とヒストグラムが一度に作成できます。 分析ツールの場合と同様に、Excelシートの余白に、階級の境界値を入力しておきます。

ヒストグラムの作成(1)
ヒストグラムの作成(1)

StatPlusを起動し、メニューバーで「Statistics」→「Basic Statistics and Tables」→「Histogram」とクリックします。 すると、「Histogram - Advanced Option」ウィンドウが開きますが、これは「Cancel」ボタンで閉じます。

ヒストグラムの作成(2)
ヒストグラムの作成(2)

「Histogram」ウィンドウが開いているので、「Continuous Variables」入力欄に、連続型データのラベルとデータの範囲が入力されるように、右側のボタンをクリックして、Excelのシートをドラッグします。 同様に、「Bin Range」入力欄に、境界値のラベルとデータの範囲が入力されるように、右側のボタンをクリックして、Excelのシートをドラッグします。 そして、「Lables in first row」チェックボックスをオンにして、「OK」ボタンをクリックします。

ヒストグラムの作成(3)
ヒストグラムの作成(3)

すると、Excelの新しいウィンドウが開き、度数分布表とヒストグラムが表示されます。 度数分布表の「Count」列は、度数を意味します。

ヒストグラム(1)
ヒストグラム(1)

Rコマンダーによるヒストグラム

Rコマンダーを利用すると、連続型データのヒストグラムが作成できます。 ただし、階級の境界値は「おまかせ」になり、階級数のみ指定できます。

最初に、「Rコマンダー」ウィンドウを開きます。 MacとWindowsで開き方が違うので、前回の説明を参照してください。

「Rコマンダー」ウィンドウを開いたら、Excelシートのデータの範囲(セルB2からE12まで)をドラッグし、右クリックして「コピー」をクリックします。 「Rコマンダー」ウィンドウをアクティブにし、「データ」→「データのインポート」→「テキストファイルまたはクリップボード, URLから」とクリックします。 すると、インポート用のウィンドウが開くので、「ファイル内に変数名あり」チェックボックスをオンにし、「クリップボード」ラジオ・ボタンをオンにして、「OK」ボタンをクリックします。

ヒストグラムの作成(1)
ヒストグラムの作成(1)

「Rコマンダー」ウィンドウの「データセットを表示」ボタンをクリックすると、読み込まれたデータが確認できます。

ヒストグラムの作成(2)
ヒストグラムの作成(2)

次に、「Rコマンダー」ウィンドウで、「グラフ」→「ヒストグラム」とクリックします。 すると、「ヒストグラム」ウィンドウが開くので、「変数」選択欄でデータの名前(height)をクリックし、「区間の数」入力欄を「auto」(自動)のままにするか階級数(3)を入力し、「頻度」ラジオ・ボタンをオンにして、「OK」ボタンをクリックします。

ヒストグラムの作成(3)
ヒストグラムの作成(3)

すると、新しいウィンドウが開き、ヒストグラムが表示されます。

ヒストグラム(1)
ヒストグラム(1)

離散型データ(質的データ)の度数分布表を作成するには、まず、次のようにして、質的データになるように変換します。

「Rコマンダー」ウィンドウで、「データ」→「アクティブデータセット内の変数の管理」→「数値変数を因子に変換」とクリックします。 すると、「数値変数を因子に変換」ウィンドウが開くので、質的データに設定したいデータの名前(year)をクリックし、「水準名を指定」ラジオ・ボタンをオンにし、「新しい変数名...」入力欄に新しいデータの名前(year2)を入力して、「OK」ボタンをクリックします。

ヒストグラムの作成(4)
ヒストグラムの作成(4)

すると、「水準名」ウィンドウが開くので、番号に置き換える前の名前(1に対してfirst(1年生)など)を入力し、「OK」ボタンをクリックします。

ヒストグラムの作成(5)
ヒストグラムの作成(5)

念のため、「データセットを表示」ボタンをクリックして、データを確認します。

ヒストグラムの作成(6)
ヒストグラムの作成(6)

後は、次のようにすると、「出力ウィンドウ」に度数分布表が表示されます。

まず、「Rコマンダー」ウィンドウで、「統計量」→「要約」→「頻度分布」とクリックします。 すると、「頻度分布」ウィンドウが開くので、データの名前(year2)をクリックして、「OK」ボタンをクリックします。

ヒストグラムの作成(7)
ヒストグラムの作成(7)
ヒストグラムの作成(8)
ヒストグラムの作成(8)

また、次のようにすると、ヒストグラムが表示されます。

まず、「Rコマンダー」ウィンドウで、「グラフ」→「棒グラフ」とクリックします。 すると、「棒グラフ」ウィンドウが開くので、データの名前(year2)をクリックして、「OK」ボタンをクリックします。

ヒストグラムの作成(9)
ヒストグラムの作成(9)
ヒストグラム(2)
ヒストグラム(2)

参考文献


[小西ホームページ]   [目次・索引]   [前の授業]   [次の授業]

2015年10月7日更新
小西 善二郎 <konishi@cis.twcu.ac.jp>
Copyright (C) 2015 Zenjiro Konishi. All rights reserved.