Python 的 Monte Carlo 模擬
Izzy Weber
Curriculum Manager, DataCamp
多項式分配
範例:模擬偏硬幣擲出結果
scipy.stats.multinomial.rvs()
多變量常態分配
範例:模擬價格與需求
scipy.stats.multivariate_normal.rvs()
模擬:.rvs(n, p, size)
50 :[0.2, 0.8]`500 results = st.multinomial.rvs(50, [0.2, 0.8], size=500)df_results=pd.DataFrame( {"Head":results[:, 0], "Tail":results[:, 1]}) sns.pairplot(df_results)

模擬:.rvs(mean, size)
[2, 6] 500 results=st.multivariate_normal.rvs( mean=[2, 6], size=500)df_results=pd.DataFrame( {"Price":results[:, 0], "Demand":results[:, 1]}) sns.pairplot(df_results)


範例:
df_historical.cov()
| | Price | Demand |
|--------|-----------|----------|
| Price | 0.920545 | -0.85578 |
| Demand | -0.855780 | 0.98417 |
模擬:.rvs(mean, size)
[2, 6]500np.array([[1, -0.9], [-0.9, 1]])cov_mat = np.array([[1,-0.9], [-0.9,1]]) results = st.multivariate_normal.rvs( mean=[2,6], size=500, cov=cov_mat)df_results = pd.DataFrame( {"Price":results[:,0], "Demand":results[:,1]}) sns.pairplot(df_results)

Python 的 Monte Carlo 模擬