&
」はテキストを結合する演算子である。データとは何らかの実験・観測・調査を行って得られる観測値の集合である。
実験を行って記録したデータやアンケート調査で得られたデータで、集計などの加工を行う前のデータを生データという。
データには全ての観測値がそろっている完全データと、所々の観測値が欠けている不完全データがある。 観測値が欠けているところを欠損値(欠測値)といい、その原因としては観測できなかったり、記録ミスなど様々である。 データ中で欠損値は空白や「**」「NA」などの記号で表されることがある。 それらは表計算ソフトの計算でエラーや間違いが起こる原因となるので気をつける必要がある。
以下にデータを表で表現した例をいくつか挙げる。
ある集団の性別と年齢を聞き取り、身長を測定して得られた生データである。
番号 | 性別 | 年齢[歳] | 身長[cm] |
---|---|---|---|
$1$ | 女 | $22$ | $160.6$ |
$2$ | 男 | $19$ | $171.6$ |
$3$ | 男 | $21$ | $173.2$ |
$\vdots$ | $\vdots$ | $\vdots$ | $\vdots$ |
一番上の行は各列の項目を表すラベルである。 「番号」は個人(個体)を区別するためのもので、学籍番号や ID を使うこともある。
番号以外の各列の項目は、様々な値に変化するので変数や変量という。 この表では「性別」「年齢」「身長」の3つの変数があるので 3変数(3変量)のデータという。
変数は $x,y,z$ などの記号で表し、それぞれの変数の値は $x_{1},x_{2},x_{3},\cdots$ のように番号を下付きの添え字で区別することがある。 この表の各列は以下のように変数で表せる。
番号 $i$ | 性別 $x$ | 年齢[歳] $y$ | 身長[cm] $z$ |
---|---|---|---|
$1$ | $x_{1}$ | $y_{1}$ | $z_{1}$ |
$2$ | $x_{2}$ | $y_{2}$ | $z_{2}$ |
$3$ | $x_{3}$ | $y_{3}$ | $z_{3}$ |
$\vdots$ | $\vdots$ | $\vdots$ | $\vdots$ |
例 1 の表の行と列を入れ替えたものである。 データの内容は例 1 と全く同じなのでこれでも問題はないが、表計算ソフトでは例 1 のような形式が扱いやすい。
番号 | $1$ | $2$ | $3$ | $\cdots$ |
---|---|---|---|---|
性別 | 女 | 男 | 男 | $\cdots$ |
年齢[歳] | $22$ | $19$ | $21$ | $\cdots$ |
身長[cm] | $160.6$ | $171.6$ | $173.2$ | $\cdots$ |
例1の生データから「年齢」を 10代、20代、30代でそれぞれ集計して表にしたデータである。 このような表を度数分布表という。
年齢 | 度数 |
---|---|
10代 | 341 |
20代 | 156 |
30代 | 3 |
合計 | 500 |
例1の生データで「年齢」と「性別」で人数を集計して表にしたデータである。 このような表を分割表もしくはクロス集計表という。
年齢 | |||||
---|---|---|---|---|---|
10代 | 20代 | 30代 | 合計 | ||
性 別 | 男 | 173 | 80 | 0 | 253 |
女 | 168 | 76 | 3 | 247 | |
合計 | 341 | 156 | 3 | 500 |
データがどういう値でどのように散らばっているかを分布という。 データがどのような分布になっているかを読み取るには大きく分けて二通りある。
データの分布をグラフとして表現するために、度数分布表を作成してグラフ(ヒストグラム)に描くことが良く行われる。
生データをいくつかの階級というグループに分け、それぞれの階級に入る観測値がいくつか数えて度数(頻度)で表した表を度数分布表という。
度数分布表の例
階級番号 $i$ | 下限値 $l_{i}$ | 上限値 $u_{i}$ | 階級値 $v_{i}$ | 度数 $f_{i}$ | 累積度数 $F_{i}$ | 相対度数 $f_{i}/n$ |
---|---|---|---|---|---|---|
1 | 140 | 145 | 142.5 | 2 | 2 | 0.004 |
2 | 145 | 150 | 147.5 | 12 | 14 | 0.024 |
3 | 150 | 155 | 152.5 | 52 | 66 | 0.104 |
4 | 155 | 160 | 157.5 | 91 | 157 | 0.182 |
5 | 160 | 165 | 162.5 | 111 | 268 | 0.222 |
6 | 165 | 170 | 167.5 | 100 | 368 | 0.200 |
7 | 170 | 175 | 172.5 | 84 | 452 | 0.168 |
8 | 175 | 180 | 177.5 | 34 | 486 | 0.068 |
9 | 180 | 185 | 182.5 | 13 | 499 | 0.026 |
10 | 185 | 190 | 187.5 | 1 | 500 | 0.002 |
合計 | 500 | 1.000 |
項目 | 変数 | 説明 |
---|---|---|
階級番号 | $i$ | 階級を区別するための番号である。元データの個体を区別するための番号とは異なる。 |
下限値 | $l_{i}$ | 階級の下限値である。 |
上限値 | $u_{i}$ | 階級の上限値である。 |
階級値 | $v_{i}$ | 階級を代表する値で、普通は下限値と上限値の中央の値にとる。 |
度数 | $f_{i}$ | 階級に属する観測値の個数である。度数の合計が元データの総数 $n$ である。 |
累積度数 | $F_{i}$ | 最初の階級からその階級までの度数の和である。最後の階級の累積度数は総数 $n$ に一致する。 |
相対度数 | $f_{i}/n$ | 度数 $f_{i}$ を総数 $n$ で割った割合である。相対度数の合計は 1 になる。 |
観測値の総数が $n$ の生データがあるとする。
番号 | 身長[cm] |
---|---|
$1$ | $160.6$ |
$2$ | $171.6$ |
$3$ | $173.2$ |
$\vdots$ | $\vdots$ |
$n$ | $163.9$ |
この生データから以下の手順で度数分布表を作成する。
データの最小値と最大値から全体の範囲を決める。 最小値と最大値を含むように範囲を決めればよいが、階級幅と合わせてきりがよくなるように決めた方が分かりやすい。
それぞれの階級の階級幅は上限値から下限値を引いたものに等しい。 普通は階級幅を等幅にとるため、全体の範囲を階級数で割ったものが階級幅である。
階級幅や階級数はどうやって決めればよいだろうか。 それらを決める絶対的な方法はないが、目安の一つとしてスタージェスの公式がある。 \[ k\simeq 1+\log_{2}n \] ここで $k$ は階級数で、$\log_{2} n$ は $n$ に対する底(てい)が 2 の対数である。 右辺が整数にならない場合は、切り上げて整数にする。
スタージェスの公式の階級数をもとに、階級幅が 5 や 10 など、きりのよい数字になるように階級数を決めると分かりやすい。
階級数と階級幅が決まれば、それをもとに各階級の下限値と上限値を設定する。 $i$ 番目の階級を代表する値を階級値 $v_{i}$ という。 階級値 $v_{i}$ は普通は下限値 $l_{i}$ と上限値 $u_{i}$ の中央の値にとる。 \[ v_{i}=\frac{l_{i}+u_{i}}{2} \]
$i$ 番目の階級にいくつの観測値が入るかを数えて度数 $f_{i}$ とする。 日本では普通は下限値以上、上限値未満の観測値を数える。 \[ (下限値)\le (観測値) < (上限値) \]
観測値はいずれかの階級に属するため、度数 $f_{i}$ の合計は観測値の総数 $n$ に一致するはずである。 \[ n=f_{1}+f_{2}+\cdots+f_{k}=\sum_{i=1}^{k}f_{i} \] これが一致しない場合は、度数の数え間違いをしている可能性が高い。
必要なら度数から累積度数や相対度数を求める。
度数分布表を柱状グラフで表したものをヒストグラムという。 ヒストグラムにすると分布の形状が分かりやすくなる。
ヒストグラムは横軸に階級値をとり、横幅を階級幅とした長方形を隙間なく並べた柱状グラフである。 普通、階級幅は全ての階級で同じなので、長方形の高さは度数にとる。 階級幅が階級ごとに異なる場合は、面積が度数に比例するように高さを調整する。
以下は データセット1 の身長のヒストグラムである。 スタージェスの公式を使って階級幅 5cm にしてある。
ヒストグラムを描くことで分布の中心の位置や散らばり具合などの特徴を知ることができる。
階級幅を変えてみるとヒストグラムはどのように変わるだろうか。 以下は同じデータで階級幅 10cm にしたヒストグラムと階級幅 0.2cm にしたヒストグラムである。
階級幅を変えることでヒストグラムの印象がかなり変わることが分かるだろう。
階級幅が大きすぎると、分布が大ざっぱになって細かな分布が見えなくなる。 逆に階級幅が小さすぎると細かいところが見えすぎて凸凹が激しく、全体的な分布の傾向がつかみにくくなる。
「身長」のデータから度数分布表を作成する。
ダウンロードした CSV ファイルを LibreOffice Calc で開くと、セル D2 から D501 に身長のデータが並んでいる(セル D1 はラベル)。
まず、データの横のセル G1 から M2 に以下のような度数分布表のラベルを用意する。
G | H | I | J | K | L | M | |
---|---|---|---|---|---|---|---|
1 | 身長の度数分布表 | ||||||
2 | 階級番号 | 下限値 | 上限値 | 階級値 | 度数 | 累積度数 | 相対度数 |
次に以下の手順で度数分布表を作成する。
データの最大値と最小値を求めてデータの範囲を決める。
=MIN(D2:D501)
」と入力する。=MAX(D2:D501)
」と入力する。=1+LOG(500,2)
」と入力して計算する。この結果、階級数は 10 が目安となる。=(H3+I3)/2
」と入力し、セル J3 をコピーしてセル J4 から J12 に貼り付ける。G | H | I | J | K | L | M | |
---|---|---|---|---|---|---|---|
1 | 身長の度数分布表 | ||||||
2 | 階級番号 | 下限値 | 上限値 | 階級値 | 度数 | 累積度数 | 相対度数 |
3 | 1 | 140 | 145 | 142.5 | |||
4 | 2 | 145 | 150 | 147.5 | |||
$\vdots$ | $\vdots$ | $\vdots$ | $\vdots$ | $\vdots$ | |||
12 | 10 | 185 | 190 | 187.5 |
COUNTIFS 関数 を使って度数を数える。
=COUNTIFS(D$2:D$501,">="&H3,D$2:D$501,"<"&I3)
」と入力する。
「">="&H3
」は「セル H3 の値以上」という条件、「"<"&I3
」は「セル I3 の値未満」という条件である1)。
この条件によって各階級で数えられる度数は以下の観測値に合うものになる。 \[ (下限値)\le (観測値)<(上限値) \]
=SUM(K3:K12)
」と入力する。=K3
」と入力する。=L3+K4
」と入力する。=K3/500
」と入力する。=SUM(M3:M12)
」と入力して相対度数の合計を求める。関数 | 説明 |
---|---|
COUNTIFS(範囲1, 条件1, 範囲2, 条件2) | 範囲1 の中で条件1 に合うセル、かつ、範囲2 の中で条件2 に合うセルの個数を数える。 |
範囲と条件はセットになっている。
ここでは 「範囲1, 条件1
」と「範囲2, 条件2
」の2セットになっているが、3セットでも 4セットでもよい。
関数 | 説明 |
---|---|
FREQUENCY(データ範囲, 区間) | データ範囲の観測値を区間に従って階級に分けて度数を求める。 |
先ほど作成した度数分布表からヒストグラムを作成する。 ヒストグラムは棒グラフで表現する。
データセット1 の「体重」のデータから度数分布表を作成し、ヒストグラムを描きなさい。
作成したファイルは ODF 表計算ドキュメント(拡張子 .ods)で提出すること。
ファイル形式を ODF 表計算ドキュメント(拡張子 .ods)にするには ファイル形式の変更 を参照。
&
」はテキストを結合する演算子である。