1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 배우는 Monte Carlo 시뮬레이션

Connected

연습 문제

왜 시뮬레이션이 필요할까요?

이전 레슨에서는 dia의 평균과 공분산 행렬을 사용해 다변량 정규 분포를 시뮬레이션했어요. 이제 그 시뮬레이션 결과를 활용해 흥미로운 질문에 답해 보겠습니다!

이런 의문이 생길 수 있어요. 이미 과거 데이터가 있는데 왜 시뮬레이션을 하나요? 관심 있는 질문에 그냥 그 데이터를 사용하면 되지 않나요?

아주 좋은 질문입니다. 몬테카를로 시뮬레이션은 확률분포를 이용해 모델링하며, 이를 통해 과거 데이터처럼 제한된 데이터 포인트 수가 아니라 많은 표본을 바탕으로 전체 확률분포를 살펴볼 수 있게 해줘요.

예를 들어, 시뮬레이션된 당뇨 환자 age 변수의 0.1번째 분위수는 얼마일까? 같은 질문을 할 수 있어요. 이 질문은 과거 데이터 dia만으로는 답할 수 없습니다. 기록이 442개뿐이라서 천번째에 해당하는 값을 계산할 수 없기 때문이죠. 대신 몬테카를로 시뮬레이션 결과를 활용하면 가능합니다. 지금 바로 그렇게 해 볼게요!

당뇨 데이터셋은 DataFrame dia로 로드되어 있으며, 다음 라이브러리가 이미 임포트되어 있습니다: pandas는 pd, numpy는 np, 그리고 scipy.stats는 st.

지침

100 XP
  • 시뮬레이션 결과에서 tc 변수의 0.1번째 분위수(하위 1,000분위)를 계산하세요.