시작하기무료로 시작하기

BMI와 HDL 결과 평가하기

BMI 상위 10%이면서 HDL 상위 25%에 모두 해당하는 환자와 BMI 하위 10%이면서 HDL 하위 25%에 모두 해당하는 환자 사이에서, 예측된 질병 진행도(반응 변수 y)의 차이는 얼마인가요? 이번에도 시뮬레이션은 이미 수행되어 있어요. 여러분의 과제는 df_results에 있는 시뮬레이션 결과를 평가하여 이 질문에 대한 답을 찾는 것입니다!

다음 라이브러리는 이미 가져와 두었습니다: pandaspd, numpynp, 그리고 scipy.statsst로 임포트되어 있어요.

이 연습은 강의의 일부입니다

Python으로 배우는 Monte Carlo 시뮬레이션

강의 보기

연습 안내

  • 이미 정의된 hdl_q25, hdl_q75, bmi_q10, bmi_q90를 활용해, BMI 상위 10%이면서 HDL 상위 25%에 속한 환자와 BMI 하위 10%이면서 HDL 하위 25%에 속한 환자를 각각 필터링하여 평균 결과를 계산하도록 정의를 완성하세요.

실습형 인터랙티브 연습

이 예제를 이 샘플 코드를 완성하여 풀어보세요.

simulation_results = st.multivariate_normal.rvs(mean=mean_dia, size=20000, cov=cov_dia)
df_results = pd.DataFrame(simulation_results,columns=["age", "bmi", "bp", "tc", "ldl", "hdl", "tch", "ltg", "glu"])
predicted_y = regr_model.predict(df_results)
df_y = pd.DataFrame(predicted_y, columns=["predicted_y"])
df_summary = pd.concat([df_results,df_y], axis=1)
hdl_q25 = np.quantile(df_summary["hdl"], 0.25)
hdl_q75 = np.quantile(df_summary["hdl"], 0.75)
bmi_q10 = np.quantile(df_summary["bmi"], 0.10)
bmi_q90 = np.quantile(df_summary["bmi"], 0.90)

# Complete the mean outcome definitions
bmi_q90_hdl_q75_outcome = np.mean(df_summary[(df_summary["bmi"] > bmi_q90) & (____)]____) 
bmi_q10_hdl_q15_outcome = np.mean(df_summary[(df_summary["bmi"] < bmi_q10) & (____)]____) 
y_diff = bmi_q90_hdl_q75_outcome - bmi_q10_hdl_q15_outcome
print(y_diff)
코드 편집 및 실행