Articles

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

無作為抽出を繰り返して、ある範囲の結果が発生する可能性を求める計算アルゴリズムの一種であるモンテカルロ・シミュレーションについて、知っておくべきことを説明します。

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

モンテカルロシミュレーションは、モンテカルロ法や多重確率シミュレーションとも呼ばれる数学的手法で、不確実な事象の起こりうる結果を推定するために使用されます。 モンテカルロ法は、第二次世界大戦中にジョン・フォン・ノイマンとスタニスワフ・ウラムによって、不確実な状況下での意思決定を改善するために考案されました。

それ以来、モンテカルロ・シミュレーションは、人工知能、株価、売上予測、プロジェクト管理、価格設定など、多くの現実的なシナリオでリスクの影響を評価してきました。 モンテカルロ・シミュレーションには、感度分析や入力の相関関係を計算できるなど、固定入力による予測モデルに比べて多くの利点があります。

モンテカルロ・シミュレーションの仕組み

通常の予測モデルとは異なり、モンテカルロ・シミュレーションは、固定された入力値のセットに対して、推定された値の範囲に基づいて一連の結果を予測します。 言い換えれば、モンテカルロ・シミュレーションは、不確実性を内在する変数に対して、一様分布や正規分布などの確率分布を利用して、起こりうる結果のモデルを構築します。 そして、最小値と最大値の間に異なる乱数セットを用いて、何度も結果を再計算します。 典型的なモンテカルロ実験では、この作業を何千回も繰り返すことで、多くの可能性のある結果が得られます。

モンテカルロ・シミュレーションは、その正確さから長期的な予測にも利用されます。 入力数が増えれば予測数も増えるので、より正確に、より遠くの結果を予測することができます。

モンテカルロ・シミュレーションの簡単な例として、標準的な2つのサイコロを振る確率を計算することを考えてみましょう。 サイコロの目の組み合わせは36通りあります。 これに基づいて、特定の結果の確率を手動で計算することができます。 モンテカルロ シミュレーションを使用すると、10,000 回 (またはそれ以上) サイコロを振るシミュレーションを行い、より正確な予測を行うことができます。

モンテカルロ法の使い方

どのツールを使うかにかかわらず、モンテカルロ法には次の3つの基本ステップがあります。

  1. 予測モデルを設定し、予測される従属変数と予測を推進する独立変数(入力変数、リスク変数、予測変数とも呼ばれる)の両方を特定する。
  2. 独立変数のランダムな値を生成して、シミュレーションを繰り返し実行します。

データのシミュレーションに使用する基本的なパラメータを変更することで、何度でもモンテカルロ・シミュレーションを実行することができます。 しかし、分散と標準偏差を計算することによって、サンプル内の変動範囲を計算することも必要です。 任意の変数の分散は、変数とその期待値との差の二乗の期待値です。 標準偏差は、分散の平方根です。

モンテカルロ・シミュレーションの実施方法についてはこちら(リンク先はIBM外)

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

モンテカルロ・シミュレーションは、Microsoft Excelのような多くのツールで実行できますが、リスク分析やモンテカルロ・シミュレーションに最適化されたIBM SPSS Statisticsのような洗練された統計ソフトウェアを使用するのがベストです。 IBM SPSS Statistics は、データから実用的な洞察を引き出すための強力な機能を備えた統計ソフトウェア・プラットフォームです。

SPSS Statistics を使用すると、以下のことが可能になります。

  • エクステンション、Python、Rプログラミング言語のコードを使用して、オープンソースソフトウェアと統合することができます。
  • 柔軟な導入オプションにより、ソフトウェアの選択と管理がより簡単になります。
  • SPSS Statisticsのシミュレーションモジュールを使用すると、例えば、様々な広告予算額をシミュレーションし、それが総売上にどのような影響を与えるかを確認することができます。 シミュレーションの結果に基づいて、総売上高の目標を達成するために、より多くの広告費を費やすことを決定することができます。 モンテカルロ・シミュレーションにIBM SPSS Statisticsを使用する方法については、こちらをご覧ください(リンクはIBM外にあります)。

    IBM Cloud Functionsもモンテカルロ・シミュレーションを支援します。 IBM Cloud Functionsは、サーバーレスのFunction-as-a-Serviceプラットフォームで、入力されたイベントに応じてコードを実行します。 IBM Cloud Functionsを使用すると、1,000回の同時呼び出しでモンテカルロ・シミュレーション全体がわずか90秒で完了しました。 IBM ツールを使用したモンテカルロ・シミュレーションの実施方法については、こちらをご覧ください。

    モンテカルロ・シミュレーションの詳細については、IBMid にサインアップして IBM Cloud アカウントを作成してください

    コメントを残す

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