1. トップページ
  2. コラム
  3. モンテカルロ・シミュレーションとは

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


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

  • icon-question.png
  • 「予測できないこと」を
    シミュレートする
  • モンテカルロ・
    シミュレーションのメリット

  • icon-advantage.png
  • 客観的なシナリオを次々と生み出す

  • 乱数と確率分布

  • icon-statistics.png
  • 「幅」と「確率」をみる
  • モンテカルロ・
    シミュレーションの難しさ

  • icon-dice.png
  • 手間がかかることは
    コンピュータに任せる

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

  • pic-monte.png
  • 「前もって予測できないこと」をシミュレートする

  • 「モンテカルロ」という横文字を見ると一瞬身構えてしまうかもしれませんが、専門家の名前でも 数学的な定理の名前でもありません。モンテカルロはリゾート地で有名な都市国家、 モナコ公国にある地区の名称です。この地区はカジノやF1レースで有名で、「モンテカルロ」という 言葉自体を聞いたことがある方は多いかもしれません。

    モンテカルロ・シミュレーションは、このカジノが元でついた名称です。 例えばルーレットを考えると、次に玉が入る場所を完全に予測することはできませんし、 その次に入る場所、さらには100回目に入る場所を予測することは不可能です。 ルーレットの入る場所(数)のように、予測ができないランダムな数のことを「乱数」といいます。 身近に存在するサイコロで出る目も立派な乱数です。

    乱数のように前もって予測できないことが、世の中には数多く存在します。 翌日の株価、人員需要、在庫、一分間にかかって来る電話の回数など、身の回りのことを考えると 簡単に思いつくことができるかと思います。この「前もって予測できないこと」をシミュレートするのが モンテカルロ・シミュレーションです。具体的には、様々な事象を乱数に対応させ、数千回から数万回 にわたって乱数を発生させて対応した事象が何回発生するか、どれくらいの確率で起こるのか、 などをシミュレートするやり方を指します。


モンテカルロ・シミュレーションのメリット

  • pic-monte-risk.png
  • 客観的なシナリオを次々と生み出す

  • ある物事の事象(シナリオ)を想定するとき、自分で思いついたものや経験、また過去のデータを用いることは 日常的に行われているかと思います。いくつかの 「起こりそうな/ありうる」シナリオを考え、 そのシナリオが起こると将来どのような結果になるか、という「不確実性」の分析は、 ビジネスシーンでも盛んにおこなわれていることです。 ビジネスにおいて事業評価や需要予測を行う時は、将来にどのようなシナリオを考える必要があります。 しかしながら、自分の頭の中で数十、数百通りのシナリオを考えるだけでは、不確実性の分析には不十分であると言えます。 また、自分で考えたシナリオを逐一組み替えて分析を行おうとすると、時間がかかってしまいます。

    モンテカルロ・シミュレーションを使用すれば、まるでルーレットを回したりサイコロを振ったりするかのように シナリオを次々と出現させることができます。 ルーレットやサイコロなどの乱数によって出現した数千、数万のシナリオは、自分のカンや経験には依存しない 客観的なものであると言えます。


乱数と確率分布

  • pic-monte-statistics.png
  • 確率分布に従った乱数生成と使用する意味

  • 現実的な問題をサイコロやルーレットのような乱数で表現するためには、 出現する目の数や目の出やすさに手を加える必要があります。例えば

    • ある値からある値の平均値に近い値を多く出現させたい
    • 0に近い正の値をたくさん生成させたい

    • というような方針にします。 しかし、サイコロの目のように均等に値がでてくるものを再現するのには向いていますが、 出てくる値に偏りを持った乱数を発生させようとすると、一手間も二手間も必要です。

    そこで、手間を減らすために数学的によく用いられる確率分布を考えます。 確率分布に基づいて、出てくる値に偏りを持った乱数を生成させることが可能になれば、

    • 出来上がる部品の平均の重さが100gの製造ラインで、擬似的に部品を10,000個作ったときの重さのバラつきを再現する
    • 1日平均100個売れる商品で、特定の100日を10,000回再現したときの需要量のバラつきを再現する

    • といったことが可能になります。これらを応用すると、例えば「部品を使用した製品が欠陥商品になる確率はいくらか」や 「何個まで商品が減ったときに何個発注すればよいか」といった分析ができます。


モンテカルロ・シミュレーションの難しさ

  • pic-monte_dice.png
  • 「サイコロの細工」「シナリオ生成」はコンピュータに任せる

  • サイコロに細工をして出てくる値に幅と偏りを持たせる、つまり確率分布に従って乱数を発生させることができれば 様々な分析をモンテカルロ・シミュレーションで行うことが可能になります。 ところがいくつか問題が出てきます。例えば、

    • どうやってサイコロを細工するか(確率分布を埋め込むか)
    • どうやってサイコロを振るか(大量の乱数を作るか)

    • という点が挙げられます。やみくもにサイコロに細工するだけでは、乱数は確率分布に従ってくれません。 また、「サイコロを振る」と一口にいっても、どうやって振れば良いのでしょうか。 少なくとも手動で行うのは避けたいところです。

    これらの問題を解決し、さらにExcel上で簡単に行えるようにしたソフトウェアが「Crystal Ball」です。 「Crystal Ball」を用いると、Excelのセル1つ1つをいびつなサイコロとして機能させることができます。 また「サイコロを振ってシナリオをたくさん出現させる」といったことも簡単に行うことができます。 身近なExcelをシミュレーションツールとして進化させることができるのです。

     動画:モンテカルロ・シミュレーションを用いた事業評価

     Crystal Ballの詳細

  • Crystal Ballとは

  • icon-crystalball.png
  • リスク分析ソフトウェアCrystal Ballについて
  • セミナーに参加する

  • icon-seminar.png
  • 無料のセミナーを毎月開催しています
  • 試用版

  • icon-trial.png
  • すべての機能を15日間体験いただけます
  • 事例・サンプルモデル

  • icon-sample.png
  • 様々な活用事例をご紹介しています