モンテカルロ法

/

モンテカルロ法について

タグ モンテカルロ法


概要

ランダムサンプルを行うことで未知のパラメータを求める方法

piを求める

import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.random((10**7, 2)))
df["in_circle"] = (df[0]**2 + df[1]**2 < 1).astype(int)
pi = 4 * df.in_circle.sum() / len(df)

print(pi) # 3.14...

推定値の標準偏差を一定以下に抑える

piを例に出す

\[SD = 0.01 = \frac{4}{\sqrt{N}}\sqrt{\frac{\pi}{4}\left(1 - \frac{\pi}{4} \right)}\]

以上が成り立つから、

\[N = \frac{\pi(4-\pi)}{(0.01)^2} = 27000\]