다중 비교 문제
연구자가 서로 다른 변수/표본 쌍을 반복적으로 유의한지 검사할 때 다중 비교 문제가 발생합니다. 순전히 우연에 의해서도 가끔 통계적으로 유의한 결과가 나올 수 있죠.
이 연습 문제에서는 텍사스주 오스틴 시 직원들의 급여 데이터를 다룹니다. 이들의 급여를 무작위로 생성된 데이터와 비교해 보세요. 무작위 데이터가 직원 급여를 "유의미하게" 설명하는 빈도가 얼마나 되는지 확인합니다. 물론 이런 "유의성"은 엉터리입니다. 무작위 수는 어떤 것을 설명하는 데 별로 도움이 되지 않으니까요!
경찰관 급여에 대한 DataFrame(police_salaries_df)이 로드되어 있으며, 패키지 pandas는 pd, NumPy는 np, Matplotlib은 plt, SciPy의 stats도 불러와져 있습니다.
이 연습은 강의의 일부입니다
Python에서 배우는 추론 통계 기초
연습 안내
- 데이터셋의 사람 수(각 행이 한 사람입니다)를
n_rows에 저장하고, 유의한 결과의 개수인n_significant를 0으로 초기화하세요. - 1000번 실행되는
for루프를 작성하고, 매 반복마다n_rows개의 무작위 수를 생성하세요. - 이렇게 생성한 무작위 수와 경찰관 급여 사이의 Pearson의 R과 해당 p-값을 계산하세요.
- p-값이 5% 수준에서 유의하면
+=연산자를 사용해n_significant에 1을 더하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Compute number of rows and initialize n_significant
n_rows = ____
n_significant = ____
# For loop which generates n_rows random numbers 1000 times
for i in ____:
random_nums = np.random.uniform(size=____)
# Compute correlation between random_nums and police salaries
r, p_value = stats.____(____, random_nums)
# If the p-value is significant at 5%, increment n_significant
if ____ < ____:
____ += 1
print(n_significant)