시뮬레이션 데이터와 과거 데이터 비교하기
좋은 시뮬레이션이라면 과거 데이터와 유사한 결과를 보여야 해요. 영상에서 진행한 시뮬레이션도 그랬을까요? 이번 연습에서는 시뮬레이션 결과를 점검하는 한 가지 방법을 직접 살펴보겠습니다.
먼저, 다변량 정규분포와 dia의 평균과 공분산 행렬을 사용해 시뮬레이션을 수행해요. 그런 다음, 과거 데이터와 시뮬레이션 데이터의 평균을 확인해 보세요. 서로 비슷한가요?
당뇨병 데이터셋은 DataFrame dia로 로드되어 있으며, 다음 라이브러리가 이미 임포트되어 있어요: pandas는 pd, numpy는 np, scipy.stats는 st.
이 연습은 강의의 일부입니다
Python으로 배우는 Monte Carlo 시뮬레이션
연습 안내
- 다변량 정규분포와
dia의 평균과 공분산 행렬을 사용하여 10,000번 시뮬레이션을 수행하세요. - pandas의
.mean()함수를 사용해 과거 데이터셋dia의bmi,tc열과 시뮬레이션 결과df_results의bmi,tc평균값을 계산하고, 두 결과가 유사한지 확인하세요. - 같은 방식으로 pandas의
.cov()를 사용해dia의bmi,tc열과 시뮬레이션 결과df_results의bmi,tc공분산 행렬을 계산하고, 두 결과가 유사한지 확인하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
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(____)