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

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


目次


モンテカルロ・シミュレーション=自由なサイコロを何回も投げる

  • pic-monte_dice.png
  • 自由なサイコロとは?値はなんでもよい?

  • モンテカルロ・シミュレーションとは
    「自由なサイコロをいくつも作って、何回も投げること」
    です。


    「サイコロは1~6までの値が出る6面の立方体じゃないの?」と思われるかもしれません。 もしくは、近年バラエティ番組でよく見かける20面のサイコロも考えられます。


    もし自由に面の数や出現する値をいじることができたらどうでしょうか? 例えば、レストランを経営している人が、
     ・その日の来客数を占ってくれる
     ・そのお客さんの平均支払額を教えてくれる
    という2つのサイコロを持ってれば、オープン前にその2つの「自由なサイコロ」を投げて その日のおおよその売上を占うことができます。


    このレストランの経営者がやっていることが、
    「モンテカルロ・シミュレーション」そのものです。 その日の来客数を占ってくれるサイコロとそのお客さんの平均支払額を教えてくれるサイコロを、 1回だけでなく100回投げれば、100日分の売上を占ってくれます。     


モンテカルロ・シミュレーションと予測

  • pic-monte_crystal.png
  • 「明日」や「1年間」を次々と生み出す

  • レストランの明日の売上以外にも、世の中には簡単には予測できないこと数多く存在します。 企業の翌年1年間の売上や経費、翌日の株価、商品が売れる個数、1分間にかかって来る電話の回数など、 身の回りのことを考えると簡単に思いつくことができるかと思います。


    確かに、ピタリとその値を当てることはほぼ不可能ですが、 「なんとなくこんなことが起こりそう」であれば、誰でも考えることができます。 ただし、大雑把すぎると誰もその予測を信頼してくれません。


    そこで、先ほどのレストランの例のように、サイコロが明日を占ってくれる状況はどうでしょうか。 「サイコロを100回投げた結果から、平均的にこんなことが起こりそうです」であれば、 少しは説得力が上がるかもしれません。


    なぜなら、サイコロを100回投げた=100日分営業したと言えるからです。 仮想的に100日営業した結果から予測をすれば、ピタリと当たらないまでも説得力があります。


自由なサイコロの作り方

  • pic-monte_triangle.png
  • サイコロを表す図形

  • レストランの「その日の来客数を占ってくれる」サイコロは、 1~6までの値が出現する一般的なサイコロではなく、 いろいろな来客数が面に書かれているサイコロでなければなりません。


    さらに、これまでの経験で「だいたいこれくらいの来客数だろう」ということがわかっているとすれば、 その値に近い値(サイコロの目)はなるべく多く出る、反対にそこから外れた値は少なく出る、 というようになっていないと現実から離れたサイコロを振っていることになってしまいます。


    つまり適当にサイコロを作ればいいわけではなく、 起こりやすい値・数値やその範囲を決めてサイコロを作る必要があります。


    そこで、こりやすい値・数値やその範囲を図形を用いて決めてあげます。 例えば図のような三角形であれば、高さが高い値の出現頻度を高く、 反対に高さが低い値の出現頻度が低いサイコロを表すことにします。 また、左端と右端の値はサイコロの目の最小・最大とみなすことにします。


    このサイコロの値と起こりやすさを決める図形のことを確率分布と呼びます。 確率分布は三角形(三角分布)や長方形(一様分布)以外にも、釣り鐘型(正規分布)をはじめ様々な分布が存在します。


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

  • pic-monte-risk.png
  • サイコロを「作って投げる」はコンピュータに任せる

  • 以上より、未来を生み出してくれるサイコロを作り何回も投げることで、 おおよその予測ができることがわかりました。 ただし、いざ実践しようとするといくつか問題が出てきます。例えば、

    • どうやって自由なサイコロを用意するか
      (図形とサイコロをリンクさせるか)

    • どうやって何回もサイコロを振るか
      (さすがに10000回も投げるのは・・・)

    • という点が挙げられます。


    「できれば簡単にやりたい」。まさに皆様の声だと思いますが、これをExcel上で可能にしたソフトウェアが「Oracle Crystal Ball」です。 「Oracle Crystal Ball」を用いると、Excelのセル1つ1つを「自由なサイコロ」として機能させることができます。 また「サイコロを振って未来をたくさん出現させる」といったことも簡単に行うことができます。


    Excelを用いて、いろいろな数値計算を行っている方は多いと思いますが、 シナリオを変えるたびに値を手で書き換えるのはとても面倒です。 その作業が「サイコロを振るように」「何回も作ることができる」状態になれば・・・ この先は皆様でご体感ください!

     リスク分析ソフトウェア「Crystal Ball」の詳細

         「Crystal Ball」の試用版を使う     

      無料セミナーで「Crystal Ball」を体験する 

  • Crystal Ballとは

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

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

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

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