確率論や数理統計に基づいて、統計分析をしたり、数理モデル構築したりする際、しばしば「ランダム(無作為)」かどうか、が問題となる。標本調査では、標本をランダムに抽出する必要がある。為替や株価の時系列分析をするときには、観測データにランダムな変動が含まれることを想定している。
例えば、経済予測をする際に、経済モデルを設定して、シミュレーションを行うことがある。そこで用いる金利や為替等の前提条件に、ランダムな変動を織り込むことで、シミュレーション結果の現実味を高めることができる。このため、昔から、計算によってランダムな数(乱数)を発生させる手法が考えられてきた。
しかし、計算式で乱数を発生させようとしても、最初はそれらしいものが得られるが、長い数列を見ていくと、やがて同じ数が繰り返し現れてしまう。そこで、数列の長さをものすごく長くして、簡単には繰り返しが起こらないようにするといった工夫が考えられている。
しかし、それでも、何億個、何兆個もの乱数列を計算式で発生させようとすると、繰り返しの問題が生じてしまう。このように、ある計算式によって得られる数列は、本当の乱数ではないので、擬似乱数と呼ばれている。そもそもランダムである乱数を、何かの計算式を使って発生させるというのは、自己矛盾していると言えよう。
そこで、計算式で発生させる代わりに、既にある数を利用してはどうか、という発想に行き着く。その代表的なものとして、円周率πが挙げられる。
π=3.141592653589793… と続く円周率は、小数点以下が無限に続くことが知られている。それだけではなく、いまのところ、小数点以下の数値の並びに規則性が見つかっておらず、その一部分を切り出して乱数として使うことができる。ただし、何か隠れた数学的な規則性があるに違いない、と信じている数学者や統計学者も多く、その研究も進められている。円周率の数の並びは、現在知られている中で、かなりランダムに近いと言えよう。
次に、与えられたものが、ランダムかどうかを判断することを考えてみよう。例えば、aとbを20個並べた文字列である、列Iと、列IIが、与えられたとしよう。
順番 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
列I a, a, a, a, a, b, b, a, b, b, a, a, b, a, b, b, a, b, b, b
列II a, b, b, a, b, a, b, a, a, b, a, a, a, b, a, b, b, a, b, b
列Iでは、早い順番の方にaが多い。一方、列IIには、そのような傾向は見られない。感覚的に、列Iと、列IIでは、ランダムかどうかに、違いがあるように見える。
このように2種類の文字が並んだ列のランダム性を、統計的に判定する手段として、「ウィルコクソンの順位和検定」という方法がある。この方法は、文字の列がランダムであるかどうかの判定ではなく、ランダムではないかどうかの判定を行う。以下に示すとおり、具体的な内容は、かなり技術的だが、感覚ではなく、数量的に、ランダム性についての判定を行うことができる。
以上のように、乱数を作ることは難しい。また、乱数が、本当にランダムかどうかを判断するのにも、手間がかかる。しかし、シミュレーションでは、乱数を用いて調査や分析を行うことで、結果の現実味を高めることができる。シミュレーションの結果を見る際は、乱数の設定方法にも注意をしてみてはどうかと思われるが、いかがだろうか。
篠原 拓也
ニッセイ基礎研究所 保険研究部
【関連記事】
・
成績は本当に良くなったの?-見かけの成績改善にはご用心
・
疾病発生率の特殊事情-統計のとり方しだいで、疾病発生率は変わる?
・
定義しだいで確率は変わる-「確率空間」の定義が曖昧だと、どうなるか?
・
米国銃規制問題~オバマ大統領の涙の訴えにも盛り上がらない世論
・
「幸せ」のライフデザイン-“What"から“How"の時代へ