시작하기무료로 시작하기

벌 수컷 정자 수에 대한 부트스트랩 가설 검정

이제 다음 가설을 검정해 보겠습니다. 네오니코티노이드 살충제를 처리한 벌 수컷은 처리하지 않은 벌 수컷과 비교해, 평균적으로 밀리리터당 활성 정자 수가 동일하다. 검정 통계량으로는 평균의 차이를 사용합니다.

참고로, 2장에 작성했던 draw_bs_reps() 함수의 호출 시그니처는 draw_bs_reps(data, func, size=1)입니다.

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

Python으로 하는 통계적 사고 (2부)

강의 보기

연습 안내

  • control의 살아 있는 정자 수 평균에서 treated의 살아 있는 정자 수 평균을 뺀 값을 계산하세요.
  • 모든 살아 있는 정자 수의 평균을 계산하세요. 이를 위해 먼저 controltreated를 이어 붙인 다음, 결합된 배열의 평균을 구하세요.
  • controltreated 모두에 대해 평균이 같아지도록 이동(shift)된 데이터 세트를 만드세요. 이 부분은 이미 준비되어 있습니다.
  • 두 개의 이동된 배열 각각에 대해 평균의 부트스트랩 복제본 10,000개를 생성하세요. draw_bs_reps() 함수를 사용하세요.
  • 평균 차이의 부트스트랩 복제본을 계산하세요.
  • p-value를 계산하여 출력하는 코드는 이미 작성되어 있습니다. 결과를 보려면 제출을 눌러 보세요!

실습형 인터랙티브 연습

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

# Compute the difference in mean sperm count: diff_means
diff_means = ____

# Compute mean of pooled data: mean_count
mean_count = ____

# Generate shifted data sets
control_shifted = control - np.mean(control) + mean_count
treated_shifted = treated - np.mean(treated) + mean_count

# Generate bootstrap replicates
bs_reps_control = ____(____,
                       np.mean, size=10000)
bs_reps_treated = ____(____,
                       np.mean, size=10000)

# Get replicates of difference of means: bs_replicates
bs_replicates = ____

# Compute and print p-value: p
p = np.sum(bs_replicates >= np.mean(control) - np.mean(treated)) \
            / len(bs_replicates)
print('p-value =', p)
코드 편집 및 실행