モンテカルロシミュレーション超入門|乱数の作り方と実務での活用例をわかりやすく解説

モンテカルロシミュレーションは、確率分布から乱数を繰り返し発生させ、結果のばらつきやリスクを数値で確認する方法です。需要予測、在庫、品質、設備停止時間、納期など、結果が一つに決まらない実務課題に活用できます。

この記事では、乱数と確率分布の関係から、Excelでの計算方法、正規分布・一様分布を使った2つの例題まで、初心者向けに順を追って解説します。

▼この記事のポイント

・モンテカルロシミュレーションは、乱数を使って不確実な結果を繰り返し計算する方法です。

・入力値に適切な確率分布を設定することが、結果の信頼性を左右します。

・Excelでは、RAND関数とNORM.INV関数などを組み合わせて実行できます。

・結果は一つの予測値ではなく、分布・平均・確率・分位点で解釈します。

モンテカルロシミュレーションとは?

モンテカルロシミュレーションとは、入力値を一つの固定値ではなく確率分布として表し、その分布から乱数を何度も取り出して計算する手法です。試行を繰り返すことで、起こり得る結果の範囲や発生確率を推定します。

たとえば製品の寸法は、常に設計値と完全に一致するわけではありません。材料、設備、測定などの影響でばらつきます。このばらつきを確率分布で表し、製品性能や規格外率を繰り返し計算すれば、「平均的な結果」だけでなく「悪い結果がどの程度起こり得るか」も確認できます。

モンテカルロシミュレーションの基本的な流れ

基本は次の4段階です。計算回数を増やすことよりも、最初に入力分布と計算モデルを妥当に設定することが重要です。

STEP実施内容
1不確実な入力値と、その確率分布を設定する
2確率分布から乱数を発生させる
3乱数を計算式へ代入し、結果を記録する
4試行を繰り返し、結果の分布や確率を確認する

確率分布から乱数を発生させるとは?

乱数は、単に適当な数字を並べるものではありません。実務では、対象データの特徴に合う確率分布を決め、その分布に従う値を発生させます。

分布特徴利用例
正規分布平均付近が多く、左右対称寸法、測定誤差、工程ばらつき
一様分布範囲内の値が同じ確率で現れる情報が最小値・最大値に限られる場合
三角分布最小値・最頻値・最大値で表す工期、コスト、作業時間の概算
二項分布成功/失敗の回数を表す不良個数、合否件数

正規分布から乱数を発生させる

X ∼ N(μ, σ2)
平均μ、分散σ²の正規分布

0~1の一様乱数をU、標準正規分布の累積分布関数の逆関数をΦ−1とすると、正規乱数は次のように表せます。

X = μ + σΦ−1(U)
一様乱数を正規分布に従う値へ変換

Excelでは、=NORM.INV(RAND(), 平均, 標準偏差)で同じ考え方を実行できます。

一様分布から乱数を発生させる

X ∼ U(a, b)
下限a、上限bの一様分布

RAND関数が返す0~1の乱数を、下限aから上限bの範囲へ変換します。

X = a + (b − a)U
0~1の一様乱数をa~bへ変換

Excelでは、=下限+(上限-下限)*RAND()と入力します。

例題1:正規分布から乱数を1,000個発生させる

平均50、標準偏差10の正規分布から、乱数を1,000個発生させます。これは「平均50付近の値が多く、平均から離れるほど現れにくい」という条件を再現する例です。

X ∼ N(50, 102)
平均50、標準偏差10の正規分布

Excelでの計算手順

セルB4に平均「50」、B5に標準偏差「10」を入力します。乱数列の先頭セルへ次の式を入力し、1,000行までコピーします。

=NORM.INV(RAND(), $B$4, $B$5)
平均と標準偏差を指定して正規乱数を発生

作成した1,000個の値についてAVERAGE関数とSTDEV.S関数を使うと、標本平均はおおむね50、標本標準偏差はおおむね10になります。ただし乱数のため、再計算のたびに値は少し変わります。

さらにヒストグラムを作成すると、平均付近が高く、両端へ向かうほど低くなる形を確認できます。試行回数を増やすほど、設定した正規分布の特徴が見えやすくなります。

例題2:10~30の一様乱数を1,000個発生させる

次に、10以上30未満の値が同じ確率で現れる一様分布から、乱数を1,000個発生させます。最小値と最大値しか分からず、範囲内のどこが起こりやすいとも言えない状況を簡単に表す例です。

X = 10 + (30 − 10)U
0~1の乱数Uを10~30の範囲へ変換

Excelでは、乱数列の先頭セルへ=10+(30-10)*RAND()と入力し、1,000行までコピーします。一様分布の理論上の平均と標準偏差は次のとおりです。

E(X) = (a + b) / 2 = (10 + 30) / 2 = 20
一様分布の平均
V(X) = (b − a)2 / 12 = 202 / 12 ≒ 33.33
一様分布の分散
σ = √V(X) ≒ √33.33 ≒ 5.77
一様分布の標準偏差

1,000個の乱数から求める平均と標準偏差は、理論値の20と約5.77に近づきます。ヒストグラムでは10~30の各区間が、おおむね同程度の高さになります。

RAND関数を含むセルは再計算のたびに変化します。特定の計算結果を保存したい場合は、対象範囲をコピーし、「値として貼り付け」で固定してください。

シミュレーション回数は何回必要?

試行回数が少ないと、乱数の偶然によって結果が大きく変わります。回数を増やすほど結果は安定しますが、複雑なモデルでは計算時間も増えます。

試行回数結果の特徴主な用途
10~100回偶然の影響が大きい動作確認
1,000回分布の形が見えやすい学習、簡易評価
10,000回以上確率や分位点が安定しやすい実務評価

必要回数は一律ではありません。1,000回、5,000回、10,000回と増やし、平均、上側確率、95パーセンタイルなどの重要な指標が十分に安定するか確認する方法が実務的です。

モンテカルロシミュレーションの実務での活用例

・品質管理:部品寸法のばらつきを組み合わせ、組立後の寸法や規格外率を推定します。

・設備保全:故障間隔や修理時間のばらつきから、設備停止時間や必要な予備品数を評価します。

・生産計画:需要、加工時間、歩留まりの不確実性を反映し、納期遅延や在庫不足の確率を確認します。

・コスト評価:材料費、工数、手直し費用を分布で表し、総コストの想定範囲を見積もります。

実施するときの注意点

・入力分布を安易に決めない:実データ、工程知識、過去実績を確認し、分布の種類とパラメータを設定します。

・変数間の相関を無視しない:複数の入力値が連動している場合、独立な乱数として扱うと現実に合わない結果になることがあります。

・モデルの妥当性を確認する:シミュレーション回数を増やしても、計算式や前提が不適切なら結果は正しくなりません。

・結果を単一の平均値だけで判断しない:ヒストグラム、規格外率、上位パーセンタイルなど、意思決定に合う指標を確認します。

まとめ

モンテカルロシミュレーションは、確率分布から乱数を繰り返し取り出し、不確実な結果を分布として評価する方法です。ExcelでもRAND関数、NORM.INV関数などを使えば、基本的なシミュレーションを実行できます。

重要なのは、試行回数だけを増やすことではありません。入力分布、パラメータ、変数間の関係、計算モデルが実務の状況を適切に表しているかを確認したうえで、平均だけでなく結果のばらつきや発生確率まで見ることが大切です。まずはExcelで再計算し、乱数から結果分布が生まれる過程を確認してみてください。

統計解析のご相談について

モンテカルロシミュレーションの 条件設定や、 工程ばらつき・規格外率の評価 などでお困りの場合は、お気軽にご相談ください。

ご相談は、記事サイドバーの 「統計解析のご相談受付中」 よりお問い合わせいただけます。

コメントする

メールアドレスが公開されることはありません。 ※ が付いている欄は必須項目です

上部へスクロール