시작하기무료로 시작하기

순열 표본 시각화

순열 표본이 어떻게 동작하는지 감을 잡기 위해, 이번 연습에서는 순열 표본을 생성해 그래프로 살펴보겠습니다.

이번에도 Sheffield 기상 관측소 데이터를 사용하되, 6월(건기)과 11월(우기)의 월 강수량을 비교해 보겠습니다. 두 분포가 다를 것으로 예상되므로, 두 분포가 동일하게 분포한다고 가정했을 때 ECDF가 어떻게 보일지 확인하려고 순열 표본을 만들어 보겠습니다.

데이터는 NumPy 배열 rain_junerain_november에 저장되어 있습니다.

참고로, permutation_sample()의 함수 시그니처는 permutation_sample(data_1, data_2)이며 반환값은 permuted_data = np.random.permutation(np.concatenate((data_1, data_2)))에서 permuted_data[:len(data_1)], permuted_data[len(data_1):]입니다.

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

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

강의 보기

연습 안내

  • for 루프를 작성해 순열 표본 50개를 생성하고, 각 표본의 ECDF를 계산해 그래프로 그리세요.
    • permutation_sample() 함수를 사용해 rain_junerain_november에서 한 쌍의 순열 표본을 생성하세요.
    • 각 순열 표본에 대해 ecdf() 함수를 사용해 ECDF의 xy 값을 생성하세요.
    • 첫 번째 순열 표본의 ECDF(x_1, y_1)를 점으로 그리세요. 두 번째 순열 표본(x_2, y_2)도 동일하게 그리세요.
  • 실제 데이터 rain_junerain_november의 ECDF용 xy 값을 생성하고, 각각 color='red', color='blue' 키워드 인수로 ECDF를 그리세요.
  • 축 레이블을 지정하고, 여백을 2%로 설정한 뒤 그래프를 표시하세요. 이 부분은 이미 준비되어 있으니, 그대로 답변 제출만 하시면 그래프를 볼 수 있어요!

실습형 인터랙티브 연습

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

for _ in ____:
    # Generate permutation samples
    perm_sample_1, perm_sample_2 = ____


    # Compute ECDFs
    x_1, y_1 = ____
    x_2, y_2 = ____

    # Plot ECDFs of permutation sample
    _ = plt.plot(____, ____, marker='.', linestyle='none',
                 color='red', alpha=0.02)
    _ = plt.plot(____, ____, marker='.', linestyle='none',
                 color='blue', alpha=0.02)

# Create and plot ECDFs from original data
x_1, y_1 = ____
x_2, y_2 = ____
_ = plt.plot(x_1, y_1, marker='.', linestyle='none', color='red')
_ = plt.plot(x_2, y_2, marker='.', linestyle='none', color='blue')

# Label axes, set margin, and show plot
plt.margins(0.02)
_ = plt.xlabel('monthly rainfall (mm)')
_ = plt.ylabel('ECDF')
plt.show()
코드 편집 및 실행