統計検定4級の勉強をしていると、「擬似乱数」という言葉が出てきます。
スーパーコンピュータで、やること?
いえいえ。
家にある、普通のパソコンで「擬似乱数」を簡単に発生させることができます。
一緒にやってみましょう!
100人から10人をランダムに選びたい!
100人から無作為抽出によって10人を選ぶため、こんなことをしてみます。
これは、統計検定4級の公式問題集の選択肢にあった文章を少し変えたものです。
- 全員に1〜100の番号をつける
- 疑似乱数を発生させて100倍し、小数点以下を切り捨て、1を足す
- 対応する番号を持つ人を対象とする
どうして、あそこで「+1」をするのかが分からない・・・
疑似乱数とは
規則性のない、ランダムな数の並びに見えるけれども、実際は一定の手順で作られる数値のこと。
コンピュータが作るランダムな数値の列のことをいいます。
そんなことできるの?
Googleスプレッドシートでやってみます
100人全員に通し番号をつける
まず、全員に通し番号をつけてみましょう。
とりあえず、1と2だけは入力してくださいね。
100まで一気にできちゃった!
疑似乱数を発生させる:RAND関数
「RAND」は「無作為」を意味する英語「ランダム(random)」の一部です。
「RAND」を選びます。
Enterを押します。
10人選ぶために、擬似乱数は20コくらい作りましょうか。
あれ? 乱数の数字がさっきと変わってる!
シート上のセルに変更が加えられるたびに、乱数は再計算されます。
乱数がいちいち変わって困るときは、コピーして「値のみ貼り付け」を。
ランダムに選ぶための数値を計算
疑似乱数を発生させて100倍し、小数点以下を切り捨て、1を足す
計算結果を小数点以下切り捨てに:ROUNDDOWN関数
「ROUNDDOWN関数」は、指定した桁数に数値を切り捨てる関数です。
使い方:ROUNDDOWN(数値, 桁数)
アルファベットは大文字でも小文字でもOK
どうして「+1」をするの?
ROUNDDOWN(D2*100,0)+1
この式、どうして最後に「+1」してるのかな?
今回使った疑似乱数は「0以上1未満」だから。
?
「0以上1未満」を100倍すると、どんな数になるかな?
「0以上1未満」を100倍すると、「0以上100未満」の数になりますよね。
この問題では、全員に「1〜100」の通し番号をつけました。
あ、そうか!
擬似乱数を元に計算した「0以上100未満」の数を「1〜100」の通し番号に対応させるため、「+1」をしているんです。
全部の数値を計算
疑似乱数に対応する、全部の数値を計算しましょう。
この数値を上から使って、選ぶべき10人の番号を決めることができます。
もし、数値がダブっていたら、次の数値を使ってね。
まとめ
統計検定の勉強をしていると、分からないことがいろいろ出てきます。
でも、実際に表計算ソフトを使ってやってみると、意外に簡単!
「擬似乱数」が、家のパソコンでできるなんて・・・
これからもこんな感じで、統計を身近にご紹介していきたいと思います。
一緒に楽しんでいきましょう!