• ベストアンサー

コインゲームの利得をエクセルでシミュレーション

noname#227064の回答

  • ベストアンサー
noname#227064
noname#227064
回答No.2

もっと簡単に、500個のセルに =if(rand()<1/2,1,-1) とでも入力して、その和をとった方が良いように思いますが、それはさておき。 そのゲームの1回の受け取り金額の期待値は 1*1/2+(-1)*1/2 = 0 その分散は (1-0)^2*1/2+(-1-0)^2*1/2 = 1 となります。 各ゲームは独立で1回の受け取り金額の分布が同じなので、500回のゲームの受け取り合計金額の期待値は 0*500 = 0 分散は 1*500 = 500 であることがわかります。 そして、独立同一分布からの標本の和の分布は中心極限定理により正規分布に近似できることから、500回のゲームの受け取り合計金額は期待値が0、分散が500の正規分布に従うとして良いことになります。 ご質問の方法は逆関数法により標準正規分布に従う乱数を500個生成して、それらの値を合計するという方法であり、この合計は期待値が0、分散が500の正規分布に従うことから、ゲームの結果をシミュレーションできるのです。

Xmlxml1234
質問者

補足

大変分かりやすく解説して頂き、誠にありがとうございます。 このゲームの場合、ある意味「たまたま」標準偏差が1、平均が0となるので上述の方法で必要十分だということでしょうか? もしこのゲームが表が出たら2、裏が出たら-2というルールだったなら、平均が0は変わりませんが、標準偏差は2となります。その場合のシミュレーションは 1、RAND関数で500個の乱数を生成 2、NORMSINV関数にかける 3、NORMSINV関数の出力結果それぞれに2をかける 4、3の結果を合計する という手順で問題ないでしょうか?

関連するQ&A

  • ExcelのRAND関数

    ExcelのRAND関数で、0から1の間の乱数を発生させることができます。 たとえば、10万行のデータの各行に一度にRAND関数で乱数を発生させた場合(1件目に=RAND()を入力してから下方向コピーする。)、同じ値が発生することはありうるのでしょうか。 データ量が多くなるほど小数点以下の桁数が増えていくので、そのようなことは起きないようになっているのではないかと思いますが、実際はどうなのでしょうか? 

  • RAND関数

    RAND関数で 質問あります。 RAND関数で 乱数発生の後、その 乱数が再計算される度、乱数が 変更されないように したいので、エクセルのHelp参照したら 「数式バーに =RAND()という数式を入力して”F9”キーを押し 数式を 計算結果の乱数に置き換えます」 と 書いてありましたが、何度やっても 固定されず 乱数のままです。 どうしたら 固定できるのでしょうか? お願いいたします。 エクセルは 2002です。 エクセル ヘルプの 検索は「RAND」で検索しました。

  • エクセルで0超1未満の乱数を発生する方法

    タイトルの通りです。 EXCELのRAND関数は0以上1未満の乱数を発生しますが、0超1未満の乱数を作る方法を教えて下さい。 確率の検証用に乱数を作りたいのですが、0や1(0%や100%)は除きたいのです。もちろん非常に小さい数でも0でなければ採用したいのですが0だけはダメです。 実用上、RANDでも0は殆ど出ないとは思いますが…あるいは乱数を発生させておいて0になった時だけ再計算させれば良いのかもしれませんが、出来れば再計算無しで最初からそうしたいのです。

  • 乱数関数について

    「エクセルの乱数関数を用いて、0~1の乱数を100個発生させなさい」という問題があるんですが、どうしてもわかりません。RANDをつかうらしいですが。ぜひとも教えてください。

  • エクセルの乱数発生についてお尋ねします。

    rand()のような関数のファミリーを使うと乱数が発生できます。 そこで、ある程度広がりを持ったシート内に乱数を発生させました。 それは満足していますが、マウスで処理をしたり、何かをアクティブにしたり非アクティブにしたりする操作をすると、乱数が毎回発生してしまいます。シートの数字がパッと変わるのです。 乱数を発生させるタイミングがコントロールできていないわけですが、どのように考えたらいいでしょうか。1回乱数を発生させたら固定したままで、”では、ここで乱数を発生させる”というコマンドの出し方なのですが。エクセルではどうしたらいいでしょうか。

  • エクセルで「乱数」を出す@関数は?

    「1-2-3」では、乱数を出す関数は「@INT(@RAND*400)+1」で1~400の間のアットランダムな乱数をさながらサイコロのように出すことが出来るのですが、エクセルではそういう関数があるのでしょうか? 是非教えて下さい。

  • エクセル 乱数でユーザーID

    エクセル2002使用です 一定規模の人数にユーザーIDなどを割り振るような目的で使用したいのですが、エクセルのrand関数もしくはVBAのrnd関数を使って、英数字を組み合わせて乱数を発生させることは可能でしょうか? よろしくお願いします。

  • cの実装している乱数でシュミレーションしているのですが、

    rand()関数を使って2次元正方格子(100*100)の最近接結合、 a.2値ランダム相互作用(-J,J) b.強磁性体相互作用(J>0) c.反強磁性体相互作用(J<0) でのisingモデルをシュミレーションしたい、たとえば平均磁化mを求めたいのですが、実装している乱数ではすぐに周期がオーバーするような気がするのですが、何かいい乱数とかはありませんか? もし外部から関数を引っ張ってくるとしたらその計算も速い、あまり計算がかからないものがあるとうれしいです。 このシュミレーションでは乱数の周期性は問題にならないなら、実装の乱数を使うのですが、どなたか教えてもらえますか?

  • 正規乱数とは

    学校の宿題ですがまず正規乱数の発生は2つの方法があるというのですが、意味がわかりません。 正規乱数でなんですか。 なぜ12個足して6をひくのですか。 また逆関数法の=NORMSINV(RAND()) てどういう意味ですか。 正規乱数の発生 1 一様乱数を12個足して6を引く方法 =RAND()+RAND()+・・・・+RAND() - 6 12個分 2 逆関数法 =NORMSINV(RAND())

  • Rand関数について

    Rand関数について コンピューターの素人です。以下のカッコの中の理解で間違いないかどうか、教えてください。 「Rand関数は乱数を発生させる関数である。Rand関数は最小値と最大値を指定して、その範囲で整数の乱数を発生させることができる。」