この記事でわかること
- モンテカルロ法の考え方と、使う場面・使わない場面
- ExcelのRAND・NORM.INVで1万回の試行を作る手順
- ワーストケース・二乗和平方根との違いと、試行回数による誤差の考え方
📌 前提知識:公差と標準偏差の関係|規格から必要なばらつきを逆算を読んでいると理解しやすくなります
3つの部品を重ねて組み付ける製品で、全体の寸法に±0.15mmの規格があります。部品ごとの公差を足し合わせる昔ながらの計算(ワーストケース)では±0.225mmになり、規格を超えてしまいます。一方、二乗和平方根で計算すると±0.13mmで収まります。どちらを信じればよいのでしょうか。
実は、部品の1つは刃具の摩耗で寸法が少しずつ動き、ばらつき方が釣り鐘型ではありません。こういうとき、ばらつきを乱数で何千回も再現して、本当の不良率を数えてしまうのがモンテカルロ法です。この記事では、Excelだけでできる手順を追います。
モンテカルロ法を使う場面
モンテカルロ法は、乱数を使ってばらつきを何度も再現し、結果の分布や確率を数えて求める方法です。式で解くのが難しい問題でも、「試しに何千回もやってみる」ことで答えに近づけます。次のような場面で使います。
- 部品の公差を積み上げた全体の寸法の不良率を知りたいとき。部品の数が多く、ばらつき方がそろっていなくても使えます
- ばらつきが正規分布でない要素が混ざっているとき。一様分布や片側に偏った分布でも、そのまま乱数で再現できます
- 対策の効果を事前に比べたいとき。どの部品のばらつきを減らせば不良が最も減るかを、作る前に試算できます
NG例(△)として、すべての要素が正規分布で、足し算だけでつながっているなら、二乗和平方根の計算で十分です。乱数を使うぶん結果が毎回わずかに変わるので、式で正確に解ける問題にわざわざ使う必要はありません。公差と標準偏差の基本は前提知識の記事で扱っています。
モンテカルロ法の考え方
考え方は単純です。サイコロを1回振っただけでは何も分かりませんが、1万回振れば「6の目が出る割合はおよそ6分の1」と分かります。モンテカルロ法は、この「たくさん試して割合を数える」を、Excelの乱数で行います。
- 各部品の寸法を、実際のばらつき方に合わせて乱数で1つずつ作る
- それを組み合わせて、全体の寸法を1つ計算する
- 規格を外れたかどうかを記録する
- これを1万回くり返し、規格を外れた割合を数える
部品のばらつき方さえ決められれば、組み合わせ方が足し算でも掛け算でも、同じ手順で使えます。
例題|3つの部品を重ねた寸法の不良率
部品A・B・Cを重ねて組み付け、全体の寸法が 45.00±0.15mm に入れば合格とします。各部品のばらつきは、工程の実績から次のように分かっています。
| 部品 | 狙い値 | ばらつき方 |
|---|---|---|
| A | 20.00mm | 正規分布・標準偏差0.03mm |
| B | 15.00mm | 正規分布・標準偏差0.025mm |
| C | 10.00mm | 9.94〜10.06mmの一様分布(刃具の摩耗で寸法が一定の速さで動き、交換で戻る) |
2つの従来の計算
まず、昔ながらの2つの方法で見積もります。A・Bは±3σ(±0.09mm・±0.075mm)、Cは±0.06mmを公差とします。
- ワーストケース:公差をそのまま足して ±(0.09+0.075+0.06)=±0.225mm。規格の±0.15mmを超えるので「不良が出る」
- 二乗和平方根:\( \sqrt{0.09^2+0.075^2+0.06^2} = 0.132 \)(Excelでは
=SQRT(0.09^2+0.075^2+0.06^2))。±0.132mm なので「規格に収まる」。これを3σとみなすと、規格外は約0.063%(=2*(1-NORM.S.DIST(0.15/(0.1316/3),TRUE)))
ワーストケースは、3つの部品がそろって最悪の値になる場合を想定するので、厳しすぎます。二乗和平方根は、すべての部品が正規分布であることを前提にしています。ところが部品Cは一様分布です。ここでは公差の幅を、正規分布は±3σ、一様分布は端から端までと置いています。一様分布は端まで同じ確率で出るので、同じ幅(公差)でも標準偏差が大きくなります。±0.06mmの一様分布の標準偏差は約0.035mmで、正規分布の±3σとして扱った0.02mmの1.7倍です。
Excelで1万回シミュレーションする
1行を1回の試行として、1万行(2行目〜10001行目)を作ります。各列に次の式を入れて、下までコピーします。
| 列 | 内容 | 式(2行目) |
|---|---|---|
| A | 部品A(正規分布) | =NORM.INV(RAND(),20,0.03) |
| B | 部品B(正規分布) | =NORM.INV(RAND(),15,0.025) |
| C | 部品C(一様分布) | =9.94+0.12*RAND() |
| D | 全体の寸法 | =A2+B2+C2 |
| E | 規格外なら1 | =IF(ABS(D2-45)>0.15,1,0) |
RAND は0以上1未満の乱数を返し、NORM.INV はそれを指定した平均・標準偏差の正規分布の値に変換します。一様分布は、最小値に「幅×乱数」を足すだけで作れます。
規格外の割合は、E列の平均で求めます。
=AVERAGE(E2:E10001)(F2に入れる)
F9キーを押すたびに乱数が引き直され、結果が少し変わります。同じ条件を、乱数の種を固定したプログラムで試した例では、1万回で 0.23% になりました。
正しい値と比べる
この例は、部品Cの一様分布を数値積分で正確に計算することもできます。結果は 0.235%(約2,350ppm) でした。並べると次のとおりです。
| 方法 | 規格外の割合 | 判断 |
|---|---|---|
| ワーストケース | ―(範囲が規格を超える) | 厳しすぎる |
| 二乗和平方根(正規分布の前提) | 約0.063% | 4分の1弱に見誤る |
| モンテカルロ法(1万回) | 0.23% | 正しい値とほぼ一致 |
| 正しい値(数値積分) | 0.235% | ― |
二乗和平方根を信じていたら、正しくは1,000個に約2.4個出る不良を、約0.6個と見積もるところでした。部品のばらつき方が正規分布でないとき、それをそのまま再現できるのがモンテカルロ法の強みです。
試行回数と誤差の関係
モンテカルロ法の結果には、乱数による誤差があります。規格外の割合を \( p \)、試行回数を \( n \) とすると、結果の標準誤差は次の式で見積もれます。
\[ \text{標準誤差} = \sqrt{\frac{p(1-p)}{n}} \]
Excelでは =SQRT(F2*(1-F2)/10000)(F2に規格外の割合)です。乱数の種を固定したプログラムで試すと、次のようになりました(Excelでは結果が毎回少し変わります)。
| 試行回数 | 規格外の割合 | 標準誤差 |
|---|---|---|
| 1,000回 | 0.10%(1件) | 0.10% |
| 1万回 | 0.23% | 0.048% |
| 10万回 | 0.217% | 0.015% |
1,000回では規格外が1件しか出ず、ほとんど何も言えません。まれな不良を数えるほど、試行回数が必要です。目安として、規格外が少なくとも数十件出るくらいの回数にします。ppm単位の小さな不良率を狙うなら、10万回以上にするか、Excelより計算の速い道具を使います。
対策の効果を比べる
モンテカルロ法の便利なところは、条件を変えて何度でも試せることです。例題で、2つの対策を比べました(どちらも数値積分で確かめた値)。
- 部品Cの刃具の交換を早め、幅を±0.06mm→±0.04mmにする:規格外 0.235% → 0.070%
- 部品Aの標準偏差を0.03mm→0.02mmにする:規格外 0.235% → 0.039%
Excelでは、C列やA列の式の数字を書き換えるだけで試せます。どちらの対策が安く実行できるかと合わせて、優先順位を決めます。ばらつきを減らす手順そのものはCp・Cpk改善の手順|ばらつき削減と中心値調整の進め方で解説しています。
よくある失敗
- 部品のばらつき方を確かめずに正規分布にする。一様分布の部品を正規分布に置き換えると、裾の確率を見誤ります。実績データのヒストグラムで形を見てから決めます
- 試行回数が少ない。まれな不良は少ない回数では数えられません。標準誤差を一緒に出して確かめます
- 部品どうしの関係を無視する。同じ材料ロットの部品がそろって大きくなるなど、ばらつきが連動する場合は、乱数を別々に作ると実際より楽観的な結果が出ます
- 結果を1回だけ見て決める。F9で何回か引き直し、結果の揺れの大きさも確かめます
よくある質問
Q. モンテカルロ法とモンテカルロシミュレーションは違いますか?
A. ほぼ同じ意味で使われます。乱数を使って何度も試行し、結果を数える方法全体をモンテカルロ法と呼び、それを使って現象を再現することをモンテカルロシミュレーションと呼ぶことが多いです。
Q. 何回試行すればよいですか?
A. 求めたい確率の大きさで決まります。規格外が少なくとも数十件出る回数が目安です。0.2%程度なら1万回で約20件、0.01%(100ppm)なら数十万回が必要です。標準誤差の式で、必要な精度に足りているかを確かめます。
Q. 結果が毎回変わるのは問題ありませんか?
A. 乱数を使う以上、結果は毎回少しずつ変わります。その揺れの大きさが標準誤差です。報告するときは、試行回数と標準誤差を一緒に書いておくと、どこまで信用できる数字かが伝わります。
Q. Excel以外でもできますか?
A. できます。Python などのプログラムなら、100万回の試行も短時間で計算できます。ただし、考え方と手順は Excel と同じです。まず Excel で小さく作って結果を確かめてから、回数を増やすのが安全です。
📚 この記事の内容をもっと深く学ぶ
まとめ
- モンテカルロ法は、乱数でばらつきを何度も再現し、結果の割合を数えて確率を求める方法
- Excelでは、正規分布は
NORM.INV(RAND(),平均,標準偏差)、一様分布は「最小値+幅×RAND()」で作れる - 例題では、二乗和平方根が規格外を約0.063%と見積もったのに対し、正しい値は0.235%。一様分布の部品が混ざると、正規分布の前提が崩れる
- 結果には標準誤差 \( \sqrt{p(1-p)/n} \) の揺れがある。まれな不良ほど試行回数が必要
まとめると、すべての部品が正規分布で足し算だけなら二乗和平方根、ばらつき方がそろっていない・組み合わせ方が複雑なときはモンテカルロ法、という使い分けです。まず手元の部品のばらつき方を確かめ、Excelで1万回の試行を作ってみてください。
規格外の割合を工程の実力として評価する方法は工程能力指数(Cp・Cpk)の計算とExcelでの求め方、正規分布の確率の計算は正規分布とは|確率密度関数とExcelで確率を計算する手順で解説しています。あわせてご確認ください。


