Bắt đầu ngayBắt đầu miễn phí

Hàm thực hiện pairs bootstrap

Như đã thảo luận trong video, pairs bootstrap là tái lấy mẫu theo cặp dữ liệu. Mỗi tập hợp cặp được fit bằng một đường thẳng, trong trường hợp này dùng np.polyfit(). Ta lặp lại việc này nhiều lần để thu được các bản sao bootstrap của các giá trị tham số. Để có một công cụ hữu ích cho pairs bootstrap, bạn sẽ viết một hàm thực hiện pairs bootstrap trên một tập dữ liệu x,y.

Bài tập này là một phần của khóa học

Tư duy Thống kê với Python (Phần 2)

Xem khóa học

Hướng dẫn bài tập

  • Định nghĩa một hàm với chữ ký gọi draw_bs_pairs_linreg(x, y, size=1) để thực hiện ước lượng pairs bootstrap cho các tham số hồi quy tuyến tính.
    • Dùng np.arange() để tạo một mảng chỉ số từ 0 đến len(x). Đây là những gì bạn sẽ tái lấy mẫu và dùng để chọn giá trị từ các mảng xy.
    • Dùng np.empty() để khởi tạo các mảng bản sao cho hệ số góc và hệ số chặn có kích thước size.
    • Viết một vòng lặp for để:
      • Tái lấy mẫu các chỉ số inds. Dùng np.random.choice() để thực hiện.
      • Tạo các mảng \(x\) và \(y\) mới bs_xbs_y bằng các chỉ số đã tái lấy mẫu bs_inds. Để làm vậy, hãy cắt xy với bs_inds.
      • Dùng np.polyfit() trên các mảng \(x\) và \(y\) mới và lưu hệ số góc và hệ số chặn tính được.
    • Trả về các bản sao pairs bootstrap của hệ số góc và hệ số chặn.

Bài tập tương tác thực hành trực tiếp

Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.

def draw_bs_pairs_linreg(x, y, size=1):
    """Perform pairs bootstrap for linear regression."""

    # Set up array of indices to sample from: inds
    inds = ____

    # Initialize replicates: bs_slope_reps, bs_intercept_reps
    bs_slope_reps = ____
    bs_intercept_reps = ____

    # Generate replicates
    for i in range(size):
        bs_inds = np.random.choice(____, size=____)
        bs_x, bs_y = x[____], y[____]
        bs_slope_reps[i], bs_intercept_reps[i] = ____

    return bs_slope_reps, bs_intercept_reps
Chỉnh sửa và Chạy Mã