乱数と疑似乱数の違い




乱数」とは、0から9などのある範囲の数字が、等しい確率でランダムに出てくる数字の列です。

その順序には規則がない数字であり、次になんの数字が出てくるかは予測ができないものです。

乱数が活用されるのは、サンプリングをするときなどです。ランダムサンプリングでは、乱数を利用して、無作為な選択をつくり出します。無作為とは人の意思が入っておらず偶然であることです。

色々あるサンプリング方法の種類の記事に次のようなことを書きました。

ある大学の学生1000人に、住まいや通学について調査することになったとします。

1000人全員に対して調査をするのは大変ですので、100人に対して調査をすることを決めました。1000人から100人をランダムに選び出すのが、ランダムサンプリングです。

ランダムに選ぶためには、例えばこんなようにします。

学生全員に1から1000の番号を振り、1から1000番までの番号を書いたクジを作りよく混ぜ合わせた後に、クジを100個引く。 選び出されたクジに書かれている番号の学生を、調査対象とする。

乱数をつくり出すためには、乱数表を使ったり、乱数賽を使ったりします。あとは、カードやクジといったものも使えるでしょう。

乱数表は、統計学の本には付録として記載があります。また、日本工業規格の乱数表がインターネットで見つけられます。

[PDF](別紙3)乱数表(出典:日本工業規格(JIS)Z9031:2001 の付表)

乱数は、コンピューターでつくり出すこともできます。

たとえば、エクセルであれば、関数RAND()を使用すれば、数字をランダムにつくり出すことができます。

ただし、これはコンピューター内でなんらかの計算式を用いて作っているわけです。作り方をあらかじめ設定してつくっているわけですから、予測可能なものです。乱数に近いものではあるのですが、無作為とはいえません。

ですので、こういった乱数は本当の乱数ではないという意味で「疑似乱数」といいます。

「乱数は無作為なもの」、「疑似乱数はコンピュータで無作為っぽくつくったもの」という違いがあります。

とはいえ、疑似乱数であっても、乱数にかなり近いレベルで無作為ですから、実務上とくに問題はありません。

エクセルのRAND関数でつくった乱数で、無作為抽出を行うときのやり方を、下記の記事に書いています。よろしければ参考にしてください。

参考記事 エクセルRAND関数で乱数をつくり、ランダム(無作為)に標本を抽出する方法