【数学】Excelで確率の問題を解く!
本シリーズでは、Excelの関数を用いて使って確率の問題を解いていきます。コードをコピペしながら読み進めていただければ幸いです。最後に、この記事で作成できるExcelのサンプルファイルがダウンロードできます!サクッと試したい方はぜひご利用ください!
【問題】6面のさいころを10回振って、1の目がちょうど2回出る確率を求めよ
今回はさいころの問題を扱います。
①モデルを考える
さいころの特徴は、なんといってもすべての面が等確率で出現することです。そのようなモデル(確率分布)は一様分布と呼ばれます。さっそく一様分布をExcelの関数を使って表現していきましょう。
=RANDBETWEEN(1, 6)
この関数を、B10からK10セルにコピーしてください。このRANDBETWEEN()関数は、一つ目の引数と二つ目の引数の間の整数を返す関数になります。A10には、次の関数を入力してください。
=ROW()-9
こちらは、行数から9を引いた値になります。A列は、試行の番号を表現する列になります。
F2キーとEnterキーを交互に押してみると、1から6の中からランダムに値が表示されることが確認できます。
②判定する!
先ほどの10セルが、「さいころを10回投げる」試行の1回分になります。さいころを投げたら、次は結果を判定しましょう。L10セルに次の関数を入力してください。
=COUNTIF(B10:K10, 1)
こちらのCOUNTIF()関数は、1つ目の引数の範囲に、2つ目の引数の値がいくつ含まれるかを返します。今回の場合、さいころを10回投げる試行のうち、1の目が出た回数を数えたいので上記の値を引数に取ります。
ここまでで、1の目が出た回数を数えることができました。続いて、1の目がちょうど2回であるかを判定する関数をM10セルに入力しましょう。
=IF(L10=2, "ちょうど2回", "それ以外")
L10セルは、さいころを10回振って、1が出た回数を集計した値です。それが2と等しければ、「ちょうど2回」、そうでなければ「それ以外」が出力されます。
③集計する!
L列の「ちょうど2回」の回数をカウントすることで、確率を計算することができます。
=COUNTIF(L:L, "ちょうど2回")
こちらの関数をO3セルに入力してください。次に、こちらをO4セルに入力してください。ここでは、レイアウトの都合でO列としていますが、他の列であっても問題はありません。
=MAX(A:A)
こちらは、A列(試行番号)の最大値を取得する関数になります。確率の分母になる値です。続いて、実際に確率を表示する関数をO5セルに入力しましょう。
=O3/O4
1の目がちょうど2回出る確率を表すO3セルを、試行回数を表すO4セルで割っています。で割っています。
ここまでで枠組みが出来あがりました。あとは、シミュレーションの回数をどんどん増やしましょう。
A10セルからM10セルの範囲を選択し、
選択範囲の右下の角をぐいーっと下にひっぱる!
最後のはコードではないですが、こちらの動作をすることで、何回もの試行を再現できます。1000行、5000行、10000行などいくつかのシミュレーション回数を試してみるのもおすすめです。
最後に、シミュレーションで得た確率がどの程度正しいのか、理論値を計算しましょう。
=45*5^8/6^10
こちらをO6セルに入力してください。この数字は、統計学や確率論で二項分布と呼ばれるモデルから算出しています。高校数学では、反復試行の公式、という呼ばれ方もしています。続いて、
=O6-O5
こちらをO7セルに入力してください。ここではO5セルのシミュレーションによる予測値と、O6セルに入力した理論値の比較を行っています。どのくらいの精度で予測できているのかを確かめてみましょう。
【忙しい人向け】サンプルのエクセルファイル
今回の手順で作成できるExcelファイルのサンプルがこちらです。サクッと試してみたい方、時間の取れない方はぜひご活用ください!
サンプルは100回の試行をした状態ですので、いろいろな回数で試してみてください!
いただいたサポートは、主に本の購入費用になります。まとまった金額になりましたら、noteの投稿などを通じて、皆様に還元していければと思っております。