시작하기무료로 시작하기

K-S 복제본 추출하기

이제 목표 분포 f에서 Kolmogorov-Smirnov 복제본을 추출하는 함수가 필요합니다. 이를 위해 draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) 시그니처를 가진 함수를 작성해 보세요. 여기서 n은 데이터 포인트의 수이고, f는 목표 CDF에서 샘플을 생성하는 데 사용할 함수입니다. 예를 들어, 지수 분포와 비교하려면 fnp.random.exponential을 전달합니다. 이 함수는 보통 인수를 필요로 하며, 튜플 형태로 전달해야 합니다. 따라서 평균이 x_mean인 지수 분포에서 샘플을 추출하려면 args=(x_mean,) 키워드를 사용하면 됩니다. 키워드 인수 sizen_reps는 각각 목표 분포에서 추출할 샘플 수와 복제본 수를 나타냅니다.

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

통계적 사고 사례 연구

강의 보기

연습 안내

  • draw_ks_reps(n, f, args=(), size=10000, n_reps=10000) 시그니처를 가진 함수를 작성하되, 다음 내용을 포함하세요.
    • 목표 분포 f에서 size개의 샘플을 생성하세요. args를 샘플링 함수에 전달하려면 f(*args, size=size) 형식을 사용해야 합니다. 결과를 x_f에 저장하세요.
    • 복제본 배열 repsn_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
코드 편집 및 실행