土曜日, 4月 11, 2015

仕事で活用!エクセルで誤差計算してみる。モンテカルロシミュレーションの例題

エクセルがあればモンテカルロ計算は簡単です。
グーグルドライブで計算例のエクセルシートを作成しました。
どうぞ仕事に活用してみてください

EXCEL Monte carlo simulation

一様分布による積み木の累積高さ誤差シミュレーションと
ボックスミューラー法による正規分布での
積み木の累積高さ誤差シミュレーションを例題としています。

質問等はコメント欄に。

誤差計算の考え方を知りたい方は下記記事を参照してください。

【公差解析】二乗和平方根の注意点まとめ 機械設計や研究開発での誤差計算

乱数列の作り方は簡単です。


狙い値A、ばらつきB、すなわちA±Bを一様分布で作り出すときは
=A + B*(RAND()-0.5)

正規分布乱数でシミュレーションするときは

標準偏差σをどうするかが各技術者のノウハウとなります。

例えば3σ=Bと仮定するなら、σをB/3として

=A + σ*SQRT(-2*LN(RAND()))*COS(2*PI()*RAND())
として乱数列を生成します。
ボックスミューラー法のエクセルでの表記)

標準偏差と公差の関係に自信が無いときとノウハウが無いときは
一様分布によるモンテカルロ・シミュレーションを試してください。
3σ正規分布による試算と比較して1.7倍くらい安全側にマージンができます。

σを決めたいときはちゃんと実測して統計量を把握しておきましょう。
ここはとても重要なノウハウとなります。


ちなみに試行回数は少なめで例題を作りました。
試行回数は欲しい精度で変わります。
精度を一桁上げるには試行回数は2桁上げてください。
精度10倍にしたければ、試行回数は100倍です。

歩留まり計算などを行うとき、計算精度はとても重要になります。

品質の良いモンテカルロを行いたければ試行回数はもちろんのこと
メルセンヌツイスターなどの良質な乱数を使いましょう。

エクセルでメルセンヌ・ツイスターを使いたい場合は
NtRandというライブラリが便利です。

4σレベルで歩留まり計算をやるときなんかは正規分布の品質が命!!

0 件のコメント: