情報科学実験II

2002年度後期
担当: 菊地


目的

データ解析の基礎となる母集団、標本、標本分布、標準誤差などの概念を体感する。現在では、コンピュータシミュレーションにより、理論的な定理を簡単に検証することができる。この実験では、統計学、確率論の基礎的な理論である大数の法則、中心極限定理をシミュレーションにより検証する。

方法

擬似乱数を用いて、コンピュータを使ったシミュレーション実験を行う。具体的には、試行回数が1回の二項分布に従うデータから得られる標本平均の標準誤差の値を求める。

背景

二項分布とは、例えばコインを投げて半々の確率で表と裏が出る現象や、ある人がある問題に正解する、不正解する、といった、確率的に成功、不成功となるような事象を取り扱う分布である。

例えば、確率が半々(0.5)で表、裏が出るようなコイン投げを考えてみる。10回投げた時には、いわゆる理想的に表と裏が起これば、確率通り、5回が表、5回が裏となる。ただし、実際には、それぞれのコイン投げは独立な事象であり、必ずしも5回ずつではなく、6、4であったり、ひどい時には、10、0の場合もないとはいえない。

しかし、例えば1000回投げた場合を想像してみると、1000、0というのは、まず考えられないし、600、400ということもあまり考えにくい。だいたい、表、裏が500回前後になりそうだ、というのは、実感として受け入れやすいことである。

すなわち、投げる回数が多ければ多いほど、だいたい半々で表、裏が起こるということになる。もう少しつきつめて考えてみると、逆に、何回投げれば、表と裏が半々に出たと判断できるほど近付くのか、知りたくなってくる。このことは、実は大数の法則、中心極限定理によって示されていることである。

この実験では、上記の事象をコンピュータによってシミュレートし、大数の法則、中心極限定理で示されていることの検証を行う。このように、理論的に示されていることの中には、一見、実社会の現象と結びつかないようなことであっても、実際には、すでに常識的に理解されていることを証明しているような場合もある。


内容


1. 試行回数が1回の二項分布に従うn個のデータ{X1, X2, X3, ..., Xn}を生成する。

まず、確率pで表が出るコインをn回投げたことを想定したデータをシミュレーションにより作成する。

[0, 1)の一様分布に従う乱数から、確率pで1、確率(1-p)で0となるような0と1から構成されるデータをn個発生させる。なお、プログラムは、1となる確率(成功の確率)p、データの個数nを、後から容易に変更ができるように作成する。例えば、n=5として、生成したデータが{1, 0, 0, 0,1}であった場合には、5回投げて、表、裏、裏、裏、表と出たことを表すことになる。

Cを用いる場合には、一様乱数の発生は以下の手順で行う。なお、用いる計算機の言語、アプリケーションは何でもかまわない。

srand48(time(NULL))は、実行する度に乱数のシードを変更するための呼び出しである。この関数を実行しないと、毎回実行する度に同じ乱数が発生されるため、シミュレーション実験を行う場合には、通常、この関数を呼び出すことが多い。


2. 1で生成したデータの標本平均Xmeanと標本分散Xvarを求める。

標本平均: Xmean=(X1+X2+...+Xn)/n

標本分散: Xvar=((X1-Xmean)2+(X2-Xmean)2+...+(Xn-Xmean)2)/n

この時、理論的には、平均はp、分散はp(1-p)となるので、シミュレーションにより実際に求めた値と比較を行うこと。


3. 2で求めた標本平均Xmeanの標準誤差を求める。

1と2により、シミュレーションにより発生させたn個のデータの標本平均、標本分散が求まる。このn個のデータの生成、計算の処理を続けてm回行うようにプログラムを変更する。すると、Xmeanは、m回の繰り返しのそれぞれの回で計算されることになる。今度は、そのm個のXmeanの標本平均、標本分散を計算する。

Xmeanの平均、分散の値は、理論的にはそれぞれ、p、p(1-p)/nとなる。また、Xmeanの分散の平方根の値(標準偏差)を、標本平均の標準誤差と呼ぶ。なお、Xmeanは、平均と分散の値が計算されているだけではなく、nを大きくしていくと、中心極限定理により、その分布自体の形が平均p、分散p(1-p)/nの正規分布に近付いていくことがわかっている。


4. 上記のシミュレーションによって確認できたことについて、レポートを作成する。

レポートには実験で作成したプログラムと、シミュレーションの結果を必ず示すこと。例えば、作成したプログラムでは、p、n、mの値をいろいろと変化させることができるはずなので、変化させることによって計算結果も変化するはずである。変化させたことによって、結果がどう変わるのか(例えば、理論的な値により近付く、など)について、考察を行うことが考えられる。

レポート提出期限

12/3(火)の実験で提出