こちらを参考にしつつ、統計学の学び直しを図ります。
1-3.データからグラフを作ってみよう2
まとめ
・データが量的変数ならば度数分布表が作れる
・度数分布表が作れる場合は階級の区分は気を付ける事(適当に階級を区切らない)
少しづつ専門用語が出てきて難しくなってきましたね。(相対度数とか)
少しづつ使って(見て)、どんどん慣れていきましょう。
相対度数とは
相対度数はデータの総数をN、その階級の度数をX(i)とすると以下式で表せます
相対度数 = \frac{X_{i}}{N}×100 (1)
各相対度数を順番に足していけば必ず100になります。
早速これは示してみましょう。
データの総数は100です。
度数 | 相対度数 |
---|---|
5 | ? |
10 | ? |
30 | ? |
35 | ? |
20 | ? |
先ほど、各相対度数は、(1)式によって求められることは分かっているので
上の表を埋めると下記のようになります。
度数 | 相対度数 |
---|---|
5 | 5% |
10 | 10% |
30 | 30% |
35 | 35% |
20 | 20% |
ではここで、各相対度数を足し合わせてみましょう。
簡単な足し算で出来るので、計算は省略しますが合計100%になったはずです。
つまり、相対度数は全体に対しての割合を表していることになります。
ここから話を進めていく際、難しい言葉がたくさん出てくると思います。
その際は、一つずつ意味をしっかりと把握していきましょう!(私も進んでは分からない言葉を調べたりしています...一進一退ですね!)
階級地の設定に関しては深くは述べません。興味がある方は調べてみるといいかもしれません!
クイズ
下記、度数分布表を見て、pythonを用いグラフを記載せよ。
階級 | 度数 |
---|---|
26~28 | 5 |
28~30 | 10 |
30~32 | 30 |
32~34 | 35 |
34~36 | 20 |
もしpythonでのグラフを忘れてしまった人は以前の記事を見ていただくといいかもしれません...
ヒントは「matplotlib」は様々なグラフを準備してくれている、ですよ!
回答
一例をお見せします。
import matplotlib.pyplot as plt
#from matplotlib import pyplot as plt でも可能
x1 = [26 for x in range(5)]
x2 = [29 for x in range(10)]
x3 = [31 for x in range(30)]
x4 = [33 for x in range(35)]
x5 = [36 for x in range(20)]
x = x1 + x2 + x3 + x4 + x5
#print(x)
plt.xlim(26,36)
#範囲の指定
plt.hist(x,bins = 5)
#binsによってどれだけ棒を表示させるか決められる、今回だと5個のグラフが表示されている
plt.grid()
plt.show();
すこし見慣れないものが現れましたね...
こちらに関しては敢えて内緒にしておきましょう!!(笑)
大丈夫です、googleで調べてみてください!
作者は度数を因数に与えてしまっていて、グラフが全然できませんでした。
みなさんは引っ掛かりませんでしたか?
分からない箇所は質問してもらって大丈夫です!
(内包表記の部分に関しては一つずつ値を与えても大丈夫です!
もしくは、for文を回しながら、20回までは26~28の値、その次は28~30、といった形でappendを用いて追加することもできそうですね!)