&
」はテキストを結合する演算子である。データとは何らかの実験・観測・調査を行って得られる観測値の集合である。
実験を行って記録したデータやアンケート調査で得られたデータで、集計などの加工を行う前のデータを生データという。
データには全ての観測値がそろっている完全データと、所々の観測値が欠けている不完全データがある。 観測値が欠けているところを欠損値(欠測値)といい、その原因としては観測できなかったり、記録ミスなど様々である。 データ中で欠損値は空白や「**」「NA」などの記号で表されることがあり、それは表計算ソフトの計算でエラーや間違いが起こる原因となるので気をつける必要がある。
以下にデータを表で表現した例をいくつか挙げる。
ある集団の性別と年齢を聞き取り、身長を測定して得られた生データである。
番号 | 性別 | 年齢[歳] | 身長[cm] |
---|---|---|---|
1 | 女 | 22 | 160.6 |
2 | 男 | 19 | 171.6 |
3 | 男 | 21 | 173.2 |
⋮ | ⋮ | ⋮ | ⋮ |
一番上の行は各列の項目を表すラベルである。 「番号」は個人(個体)を区別するためのものである。
番号以外の各列の項目は、様々な値に変化するので変数や変量という。 この表は「性別」「年齢」「身長」の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}$ |
⋮ | ⋮ | ⋮ | ⋮ |
例 1 の表の行と列を入れ替えたものである。 データの内容は例 1 と全く同じなのでこれでも問題はないが、表計算ソフトでは例 1 のような形式が扱いやすい。
番号 | 1 | 2 | 3 | … |
---|---|---|---|---|
性別 | 女 | 男 | 男 | … |
年齢[歳] | 22 | 19 | 21 | … |
身長[cm] | 160.6 | 171.6 | 173.2 | … |
例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$ | 上限値 $u$ | 階級値 $v$ | 度数 $f$ | 累積度数 | 相対度数 |
---|---|---|---|---|---|---|
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$ | 階級の下限値である。 |
上限値 | $u$ | 階級の上限値である。 |
階級値 | $v$ | 階級を代表する値で、普通は下限値と上限値の中央の値にとる。 |
度数 | $f$ | 階級に属する観測値の個数である。 |
累積度数 | 最初の階級からその階級までの度数の和である。最後の階級の累積度数は総数に一致する。 | |
相対度数 | 度数を総数で割った割合である。相対度数の合計は 1 になる。 |
観測値の総数が $n$ の生データがあるとする。 この生データから以下の手順で度数分布表を作成する。
データの最小値と最大値から全体の範囲を決める。 最小値と最大値を含むように範囲を決めればよいが、階級幅と合わせてきりがよくなるように決めた方が分かりやすい。
それぞれの階級幅は普通は等幅にとる。 等幅の場合は、全体の範囲を階級数で割ると階級幅が求まる。
階級幅や階級数はどうやって決めればよいだろうか。 それを決める絶対的な方法はないが、目安の一つとしてスタージェスの公式がある。 \[ 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 | |||
⋮ | ⋮ | ⋮ | ⋮ | ⋮ | |||
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(データ範囲, 区間) | データ範囲の観測値を区間に従って階級に分けて度数を求める。 |
先ほど作成した度数分布表からヒストグラムを作成する。 ヒストグラムは棒グラフで表現する。
[挿入]
→[グラフ]
を選択してグラフウィザードのダイアログを表示する。[次へ]
をクリックする(デフォルトだとグラフの種類は縦棒)。[次へ]
をクリックする。[次へ]
をクリックする。[完了]
をクリックする。グラフが度数分布表の上に乗って邪魔な場合は移動させる。
[データ範囲]
を選択して「データ範囲」のダイアログを表示する。[データ系列]
タブをクリックし、右下の「範囲」の入力フォームの右側のボタンをクリックして、マウスでセル J3 から J12 を選択する。[OK]
をクリックする。[オプション]
タブをクリックし、「間隔」を 0% にする。[外枠]
タブをクリックし、「スタイル」で [実線]
を選択する。[OK]
をクリックする。データセット1 の「体重」のデータから度数分布表を作成し、ヒストグラムを描きなさい。
作成したファイルは ODFスプレッドシート(拡張子 .ods)で提出すること。
ファイル形式を ODFスプレッドシート(拡張子 .ods)にするには ファイル形式の変更 を参照。
&
」はテキストを結合する演算子である。