K-S 복제본 추출하기
이제 목표 분포 f에서 Kolmogorov-Smirnov 복제본을 추출하는 함수가 필요합니다. 이를 위해 draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) 시그니처를 가진 함수를 작성해 보세요. 여기서 n은 데이터 포인트의 수이고, f는 목표 CDF에서 샘플을 생성하는 데 사용할 함수입니다. 예를 들어, 지수 분포와 비교하려면 f로 np.random.exponential을 전달합니다. 이 함수는 보통 인수를 필요로 하며, 튜플 형태로 전달해야 합니다. 따라서 평균이 x_mean인 지수 분포에서 샘플을 추출하려면 args=(x_mean,) 키워드를 사용하면 됩니다. 키워드 인수 size와 n_reps는 각각 목표 분포에서 추출할 샘플 수와 복제본 수를 나타냅니다.
이 연습은 강의의 일부입니다
통계적 사고 사례 연구
연습 안내
draw_ks_reps(n, f, args=(), size=10000, n_reps=10000)시그니처를 가진 함수를 작성하되, 다음 내용을 포함하세요.- 목표 분포
f에서size개의 샘플을 생성하세요.args를 샘플링 함수에 전달하려면f(*args, size=size)형식을 사용해야 합니다. 결과를x_f에 저장하세요. - 복제본 배열
reps를n_reps크기의 빈 배열로 초기화하세요. for루프를 작성해 다음 작업을n_reps번 반복하세요.f에서n개의 샘플을 추출하세요. 이때도 함수 호출 시*args를 사용하세요. 결과를 변수x_samp에 저장하세요.- 이전 연습 문제에서 작성한 함수로,
dcst모듈에 저장되어 있는dcst.ks_stat()을 사용해 K-S 통계량을 계산하세요. 결과를reps배열에 저장하세요.
reps배열을 반환하세요.
- 목표 분포
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
____ ____:
# Generate samples from target distribution
x_f = ____
# Initialize K-S replicates
reps = ____
# Draw replicates
for i in range(n_reps):
# Draw samples for comparison
x_samp = ____
# Compute K-S statistic
____[i] = ____
return reps