目次
- モンテカルロシミュレーション
- サイコロのゲーム
- ステップ1:サイコロを振るイベント
- ステップ2:結果の範囲
- ステップ3:結論
- ステップ4:サイコロの数
- ステップ5:シミュレーション
- ステップ6:確率
モンテカルロシミュレーションは、Microsoft Excelとサイコロゲームを使用して開発できます。 モンテカルロシミュレーションは、ランダムドローを使用して計算や複雑な問題を実行する数学的数値手法です。 現在、広く使用されており、金融、物理学、化学、経済学などのさまざまな分野で重要な役割を果たしています。
重要なポイント
- モンテカルロ法は、ランダムおよび確率論的な方法を使用して複雑な問題を解決しようとします。モンテカルロシミュレーションは、Microsoft Excelとサイコロゲームを使用して開発できます。データテーブルを使用して結果を生成できます。モンテカルロシミュレーションを準備します。
モンテカルロシミュレーション
モンテカルロ法は、1947年にニコラスメトロポリスによって発明され、ランダムで確率的な方法を使用して複雑な問題を解決しようとしています。 モンテカルロという用語は、ヨーロッパのエリートがギャンブルをする場所として広く知られているモナコの行政区域に由来します。
モンテカルロシミュレーション法は、積分の確率を計算し、偏微分方程式を解くことにより、確率的決定におけるリスクへの統計的アプローチを導入します。 モンテカルロシミュレーションを作成するための多くの高度な統計ツールが存在しますが、Microsoft Excelを使用して通常の法則と一様な法則をシミュレートし、数学的基盤をバイパスする方が簡単です。
モンテカルロシミュレーションを使用する場合
問題が複雑すぎて直接計算では困難な場合は、モンテカルロ法を使用します。 シミュレーションを使用すると、不確実であることが判明した状況の解決策を提供できます。 多数の反復により、正規分布のシミュレーションが可能になります。 また、リスクの仕組みを理解し、予測モデルの不確実性を理解するためにも使用できます。
上記のように、シミュレーションは、金融、科学、エンジニアリング、サプライチェーン管理など、さまざまな分野でよく使用されます。特に、ランダム変数が非常に多すぎる場合に使用されます。 たとえば、アナリストは、モンテカルロシミュレーションを使用して、オプションを含むデリバティブを評価したり、企業が債務を履行しない可能性を含むリスクを判断したりできます。
サイコロのゲーム
モンテカルロシミュレーションでは、実験の結果を制御および説明するいくつかの重要な変数を分離し、多数のランダムサンプルを実行した後に確率分布を割り当てます。 実証するために、サイコロのゲームをモデルとして見てみましょう。 サイコロゲームのロールは次のとおりです。
•プレイヤーは、6つの面を持つ3つのサイコロを3回投げます。
•3回のスローの合計が7または11の場合、プレーヤーが勝ちます。
•3回のスローの合計が3、4、5、16、17、または18の場合、プレーヤーは負けます。
•合計が他の結果である場合、プレーヤーは再びプレーし、サイコロを振り直します。
•プレイヤーが再びサイコロを投げたとき、ゲームは同じ方法で続行しますが、合計が最初のラウンドで決定された合計に等しくなったときにプレイヤーが勝ちます。
データテーブルを使用して結果を生成することもお勧めします。 さらに、モンテカルロシミュレーションの準備には5, 000件の結果が必要です。
モンテカルロシミュレーションを準備するには、5, 000件の結果が必要です。
ステップ1:サイコロを振るイベント
最初に、50ロールの3つのサイコロのそれぞれの結果を使用して、さまざまなデータを作成します。 これを行うには、「RANDBETWEEN(1, 6)」関数を使用することを提案します。 したがって、F9をクリックするたびに、新しいロール結果のセットが生成されます。 「結果」セルは、3つのロールの結果の合計です。
ステップ2:結果の範囲
次に、一連のデータを作成して、最初のラウンドと後続のラウンドの結果を特定する必要があります。 3列のデータ範囲があります。 最初の列には、1から18までの数字があります。これらの数字は、サイコロを3回振った後の可能な結果を表しています。最大値は3 x 6 = 18です。セル1と2の結果はN / A 3つのサイコロを使用して1つまたは2つを取得することは不可能です。 最小値は3です。
2番目の列には、最初のラウンドの後に考えられる結論が含まれています。 最初の声明で述べたように、プレイヤーは結果(3つのサイコロの合計)に応じて、勝つ(Win)か失う(Lose)か、リプレイ(Re-roll)します。
3番目の列には、後続のラウンドの可能な結論が登録されています。 これらの結果は、「IF」機能を使用して達成できます。 これにより、得られた結果が最初のラウンドで得られた結果と同等である場合、勝ちます。それ以外の場合は、元のプレイの最初のルールに従って、サイコロを振り直すかどうかを決定します。
ステップ3:結論
このステップでは、50個のサイコロの出目を特定します。 最初の結論は、インデックス関数で取得できます。 この関数は、得られた結果に対応する結論である第1ラウンドの可能な結果を検索します。 たとえば、6を振ると、再びプレーします。
「OR」関数と「IF」関数にネストされたインデックス関数を使用して、他のダイスロールの結果を取得できます。 この関数は、Excelに「前の結果が勝ち負けの場合」、サイコロを振るのを停止します。勝ち負けが終わったからです。 それ以外の場合は、次の可能な結論の列に移動し、結果の結論を特定します。
ステップ4:サイコロの数
次に、負けるか勝つ前に必要なサイコロの数を決定します。 これを行うには、「COUNTIF」関数を使用します。この関数では、Excelで「再ロール」の結果をカウントし、それに1を追加する必要があります。 余分なラウンドが1つあるため1つ追加され、最終結果(勝ち負け)が得られます。
ステップ5:シミュレーション
さまざまなシミュレーションの結果を追跡するための範囲を開発しています。 これを行うには、3つの列を作成します。 最初の列に含まれる数字の1つは5, 000です。 2列目では、50のサイコロを振った後の結果を探します。 列のタイトルである3番目の列では、最終的なステータス(勝ち負け)を取得する前に、サイコロの数を調べます。
次に、フィーチャデータまたはテーブルデータテーブルを使用して感度分析テーブルを作成します(この感度は2番目のテーブルと3番目の列に挿入されます)。 この感度分析では、1〜5, 000のイベントの数をファイルのセルA1に挿入する必要があります。 実際、空のセルを選択できます。 アイデアは、毎回再計算を強制することで、定式を損なうことなく、新しいサイコロを転がす(新しいシミュレーションの結果)ことです。
ステップ6:確率
最終的に勝ち負けの確率を計算できます。 これは、「COUNTIF」関数を使用して行います。 この式は、「勝つ」と「失う」の数をカウントし、イベントの合計数5, 000で割って、一方と他方のそれぞれの割合を取得します。 最終的に、Winの結果が得られる確率は73.2%であるため、Loseの結果が得られる確率は26.8%です。