Làm thế nào để tôi so sánh độ dốc hồi quy bootstrapping?


13

Giả sử tôi có hai tập dữ liệu với n quan sát các cặp dữ liệu của biến độc lập x và biến phụ thuộc y mỗi biến . Chúng ta hãy giả sử thêm rằng tôi muốn tạo phân phối độ dốc hồi quy cho mỗi dữ liệu được đặt bằng cách khởi động các quan sát (có thay thế) N lần và tính toán hồi quy y = a + bxmỗi lần. Làm thế nào để tôi so sánh hai bản phân phối để nói độ dốc khác nhau đáng kể? Một thử nghiệm U để kiểm tra sự khác biệt giữa các trung vị của các bản phân phối sẽ phụ thuộc rất nhiều vào N, nghĩa là, tôi càng lặp lại việc khởi động thường xuyên thì sự khác biệt càng có ý nghĩa. Làm cách nào để tính toán sự chồng chéo giữa các bản phân phối để xác định sự khác biệt đáng kể?

Câu trả lời:


19

Bootstrapping được thực hiện để có được một bức tranh mạnh mẽ hơn về phân phối lấy mẫu so với giả định của lý thuyết mẫu lớn. Khi bạn bootstrap, thực sự không có giới hạn về số lượng 'bootamples' bạn dùng; trong thực tế, bạn có được một xấp xỉ tốt hơn cho phân phối lấy mẫu càng nhiều mẫu giày bạn lấy. Người ta thường sử dụng bootamples, mặc dù không có gì kỳ diệu về con số đó. Hơn nữa, bạn không chạy thử nghiệm trên bốt; bạn có ước tính phân phối lấy mẫu - sử dụng trực tiếp. Đây là một thuật toán:B=10,000

  1. lấy một mẫu khởi động của một bộ dữ liệu bằng cách lấy mẫu quan sát khởi động với sự thay thế. [Liên quan đến các ý kiến ​​dưới đây, một câu hỏi có liên quan là cái gì tạo thành một 'quan sát khởi động' hợp lệ để sử dụng cho mẫu giày của bạn. Trong thực tế, có một số cách tiếp cận hợp pháp; Tôi sẽ đề cập đến hai yếu tố mạnh mẽ và cho phép bạn phản ánh cấu trúc dữ liệu của mình: Khi bạn có dữ liệu quan sát (nghĩa là dữ liệu được lấy mẫu trên tất cả các kích thước, quan sát khởi động có thể là một n-tuple được đặt hàng (ví dụ: một hàng từ tập dữ liệu của bạn). Ví dụ: nếu bạn có một biến dự đoán và một biến trả lời, bạn sẽ lấy mẫu n 1 ( x , y )n1n1 (x,y)đặt hàng cặp. Mặt khác, khi làm việc với dữ liệu thực nghiệm, các giá trị biến dự báo không được lấy mẫu, nhưng các đơn vị thử nghiệm được gán cho các mức dự định của từng biến dự đoán. Trong trường hợp như thế này, bạn có thể lấy mẫu y từ bên trong mỗi cấp độ j của biến dự đoán, sau đó ghép các y đó với giá trị tương ứng của cấp dự đoán đó. Theo cách này, bạn sẽ không lấy mẫu trên X. ]n1j yjyX
  2. phù hợp với mô hình hồi quy của bạn và lưu trữ các ước tính độ dốc (gọi nó là beta 1 )β^1
  3. lấy một mẫu khởi động của các dữ liệu khác bằng cách lấy mẫu quan sát khởi động với sự thay thến2
  4. phù hợp với mô hình hồi quy khác và lưu trữ các ước tính độ dốc (gọi nó là beta 2 )β^2
  5. hình thành một số liệu thống kê từ hai dự toán (gợi ý: sử dụng sự khác biệt dốc β 1 - β 2 )β^1β^2
  6. lưu trữ số liệu thống kê và kết xuất các thông tin khác để không lãng phí bộ nhớ
  7. lặp lại các bước 1 - 6, lầnB=10,000
  8. sắp xếp phân phối lấy mẫu bootstrapping của chênh lệch độ dốc
  9. tính% của bsd trùng với 0 (cái nào nhỏ hơn,% bên phải% hoặc% bên trái%)
  10. nhân tỷ lệ này với 2

Logic của thuật toán này dưới dạng kiểm tra thống kê về cơ bản tương tự như các kiểm tra cổ điển (ví dụ: kiểm tra t) nhưng bạn không giả sử dữ liệu hoặc phân phối lấy mẫu có phân phối cụ thể. (Ví dụ: bạn không giả định tính quy tắc.) Giả định chính bạn đang thực hiện là dữ liệu của bạn là đại diện cho dân số mà bạn đã lấy mẫu từ / muốn tổng quát hóa. Đó là, phân phối mẫu tương tự như phân phối dân số. Lưu ý rằng, nếu dữ liệu của bạn không liên quan đến dân số mà bạn quan tâm, bạn sẽ không gặp may.

Một số người lo lắng về việc sử dụng, ví dụ: mô hình hồi quy để xác định độ dốc nếu bạn không sẵn sàng sử dụng tính quy tắc. Tuy nhiên, mối quan tâm này là sai lầm. Định lý Gauss-Markov cho chúng ta biết rằng ước tính là không thiên vị (nghĩa là tập trung vào giá trị thực), vì vậy nó ổn. Việc thiếu tính quy phạm đơn giản có nghĩa là phân phối lấy mẫu thực sự có thể khác với phân phối theo lý thuyết, và do đó, giá trị p không hợp lệ. Thủ tục bootstrapping cung cấp cho bạn một cách để giải quyết vấn đề này.

Hai vấn đề khác liên quan đến bootstrapping: Nếu các giả định cổ điển được đáp ứng, bootstrapping kém hiệu quả hơn (nghĩa là có ít năng lượng hơn) so với thử nghiệm tham số. Thứ hai, bootstrapping hoạt động tốt nhất khi bạn khám phá gần trung tâm phân phối: phương tiện và trung bình là tốt, các phần tư không tốt, bootstrapping tối thiểu hoặc tối đa không nhất thiết phải thất bại. Về điểm đầu tiên, bạn có thể không cần bootstrap trong tình huống của mình; Về điểm thứ hai, bootstrapping độ dốc là hoàn toàn tốt.


Mặc dù tôi có thể sai, tôi nghĩ rằng bootstrap trong hồi quy phải nằm trên phần dư chứ không phải trên dữ liệu thô, để được xác thực ...
Xi'an

@ Xi'an, trước đây tôi đã sai, nhưng tôi không hiểu tại sao bạn nghĩ chỉ phần dư bootstrapping là hợp lệ. Efron & Tibshirani (1994) phần 9.5 nói rằng "Các cặp Bootstrapping ít nhạy cảm hơn với các giả định so với phần dư bootstrapping. Lỗi tiêu chuẩn thu được từ các cặp bootstrapping đưa ra câu trả lời hợp lý ngay cả khi [cấu trúc xác suất của mô hình tuyến tính] hoàn toàn sai." Hàm ý là ứng dụng của bootstrap mạnh hơn, mặc dù chúng ngụ ý rằng nó có thể kém hiệu quả hơn trong một số trường hợp.
gung - Phục hồi Monica

Lo lắng của tôi với bootstrapping các cặp là bạn cũng kết hợp phân phối các yếu tố dự đoán, thường được để bên ngoài hình ảnh trong các mô hình tuyến tính thông thường. Đó là lý do tại sao tôi luôn dạy học sinh của mình chỉ bootstrap.
Tây An

@ Xi'an, đó là một điểm hợp lý, tôi cho rằng tôi đã giả sử một cấu trúc dữ liệu quan sát. Tôi đã chỉnh sửa câu trả lời của mình để thêm chi tiết về những mối quan tâm này. Tuy nhiên, tôi không thấy điều đó hàm ý rằng các cặp bootstrapping nhất thiết không hợp lệ.
gung - Tái lập Monica

Buộc một cặp giữa hai bộ dữ liệu độc lập là giả tạo và không hiệu quả. Bạn có thể làm tốt hơn thế nhiều!
whuber

4

STôi

yTôi= =β0+β1xTôi+β2STôi+β3STôixTôi+εTôi
β3
E[yTôi|x,STôi= =1]= =(β0+β2)+(β1+β3)xTôiE[yTôi|x,STôi= =0]= =β0+β1xTôi.
β3nn2n

Nếu bạn có mối tương quan giữa các điều khoản lỗi, bạn có thể cần thay đổi quy trình này một chút, vì vậy hãy viết lại nếu đó là trường hợp.

Bạn có thể khái quát cách tiếp cận này với khung hồi quy dường như không liên quan (SUR). Cách tiếp cận này vẫn cho phép các hệ số cho phần chặn và độ dốc khác nhau tùy ý trong hai bộ dữ liệu.


1
Đó là một ý tưởng tốt. Nhưng không phải điều này cũng cho rằng hai hồi quy có lỗi iid?
whuber

1
Điểm tốt. Nó yêu cầu rằng không có các phương sai khác nhau cho các lỗi theo nhóm và các lỗi không tương quan trong các nhóm khác nhau.
Charlie

0

Làm mọi thứ trong một hồi quy là gọn gàng, và giả định độc lập là quan trọng. Nhưng việc tính toán các ước tính điểm theo cách này không đòi hỏi phương sai không đổi. Hãy thử mã R này;

x <- rbinom(100, 1, 0.5)
z <- rnorm(100)
y <- rnorm(100)
coef(lm(y~x*z))
coef(lm(y~z, subset= x==1))[1] - coef(lm(y~z, subset= x==0))[1]
coef(lm(y~z, subset= x==1))[2] - coef(lm(y~z, subset= x==0))[2]

Chúng tôi có cùng một ước tính điểm. Ước tính lỗi tiêu chuẩn có thể yêu cầu phương sai không đổi (tùy thuộc vào loại bạn sử dụng) nhưng bootstrapping được xem xét ở đây không sử dụng lỗi tiêu chuẩn ước tính.


1
Nếu bạn sẽ kiểm tra xem độ chênh lệch của độ dốc có bằng không (như trong câu trả lời của @ Charlie, mà bạn dường như đang theo dõi), bạn cần một ước tính chính xác, hợp lệ về các lỗi tiêu chuẩn. Không quan trọng bạn có bootstrap mà ước tính hay không.
whuber
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.