開始使用免費開始

比較模擬結果與歷史資料

一個好的模擬,結果應該要和歷史資料相近。影片中的模擬有做到嗎?在這個練習中,你會用一種方式來檢查模擬結果,找出答案!

首先,你會使用多變量常態分配,搭配 dia 的平均數與共變異數矩陣來進行模擬。接著,你會檢查歷史資料與模擬資料的平均數。它們相近嗎?

糖尿病資料集已載入為 DataFrame dia。以下函式庫也已為你匯入:pandas 作為 pdnumpy 作為 np,以及 scipy.stats 作為 st

本練習屬於課程

Python 的 Monte Carlo 模擬

檢視課程

練習說明

  • 使用多變量常態分配,以及 dia 的平均數與共變異數矩陣,執行 10,000 次模擬。
  • 使用 pandas 的 .mean() 函式,計算歷史資料集 diabmitc 欄位,以及模擬結果 df_resultsbmitc 的平均數,評估它們是否相近。
  • 同樣地,使用 pandas 的 .cov(),計算 diabmitc 欄位,以及模擬結果 df_resultsbmitc 的共變異數矩陣,評估它們是否相近。

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

cov_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].cov()
mean_dia = dia[["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"]].mean()

# Complete the code to perform the simulation
simulation_results = st.multivariate_normal.rvs(____)

df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])

# Calculate bmi and tc means for the historical and simulated results
print(dia[["bmi","tc"]].____)
print(____)
      
# Calculate bmi and tc covariances for the historical and simulated results
print(____)
print(____)
編輯並執行程式碼