1. 학습
  2. /
  3. 강의
  4. /
  5. Python으로 하는 통계적 사고 (2부)

Connected

연습 문제

평균과 SEM의 부트스트랩 복제

이번 연습에서는 Sheffield 기상 관측소의 연평균 강수량에 대한 확률밀도함수(PDF)를 부트스트랩으로 추정해 보겠습니다. 1883년부터 2015년까지의 모든 관측을 관측소가 무한히 반복할 수 있다고 가정했을 때 얻게 될 연평균 강수량을 추정하는 것입니다. 이는 평균에 대한 ‘확률적’ 추정입니다. PDF를 히스토그램으로 그려 보면 정규분포 형태임을 확인할 수 있어요.

사실, 그다지 엄격하지 않은 조건하에서는 평균값이 항상 정규분포를 따른다는 것을 이론적으로 보일 수 있습니다. (일반적으로 모든 통계량에 적용되지는 않으며, 평균과 몇몇 통계량에만 해당합니다.) 이 분포의 표준편차는 평균의 표준 오차(SEM)라고 하며, 데이터의 표준편차를 데이터 포인트 수의 제곱근으로 나눈 값입니다. 즉, 어떤 데이터셋에 대해 sem = np.std(data) / np.sqrt(len(data))입니다. 해커 통계 접근을 사용하면 복잡한 유도를 하지 않고도 같은 결과를 얻을 수 있으며, 여기서는 부트스트랩 복제본으로 이 결과를 확인해 보겠습니다.

데이터셋은 rainfall이라는 배열로 미리 로드되어 있습니다.

지침

100 XP
  • draw_bs_reps() 함수와 rainfall 배열을 사용해 연평균 강수량의 평균에 대한 부트스트랩 복제본 10000개를 생성하세요. 힌트: 평균을 계산하려면 func에 np.mean을 전달하세요.
    • 참고로, draw_bs_reps()는 data, func, size의 3개 인수를 받습니다.
  • rainfall의 평균 표준 오차를 계산해 출력하세요.
    • 계산식: np.std(data) / np.sqrt(len(data)).
  • 부트스트랩 복제본 bs_replicates의 표준편차를 계산해 출력하세요.
  • normed=True 키워드 인수와 50개의 빈을 사용해 복제본의 히스토그램을 그리세요.
  • Submit을 눌러 플롯을 확인하세요!