Liệu hồi quy từng bước cung cấp một ước tính sai lệch của dân số r-vuông?


14

Trong tâm lý học và các lĩnh vực khác, một hình thức hồi quy từng bước thường được sử dụng bao gồm các yếu tố sau:

  1. Nhìn vào các yếu tố dự đoán còn lại (lúc đầu không có mô hình nào) và xác định yếu tố dự đoán dẫn đến thay đổi bình phương r lớn nhất;
  2. Nếu giá trị p của thay đổi bình phương r nhỏ hơn alpha (thường là 0,05), thì bao gồm bộ dự đoán đó và quay lại bước 1, nếu không thì dừng lại.

Ví dụ, xem quy trình này trong SPSS .

Thủ tục này thường xuyên được phê bình vì nhiều lý do (xem cuộc thảo luận này trên trang web của Stata với các tài liệu tham khảo ).

Cụ thể, trang web Stata tóm tắt một số bình luận của Frank Harrell. Tôi quan tâm đến khiếu nại:

[hồi quy từng bước] mang lại giá trị bình phương R bị sai lệch cao đến mức cao.

Cụ thể, một số nghiên cứu hiện tại của tôi tập trung vào ước tính r-vuông dân số . Theo dân số r bình phương tôi đề cập đến tỷ lệ phần trăm phương sai được giải thích bởi phương trình tạo dữ liệu dân số trong dân số. Phần lớn các tài liệu hiện có mà tôi đang xem xét đã sử dụng các quy trình hồi quy từng bước và tôi muốn biết liệu các ước tính được cung cấp có bị sai lệch hay không và nếu có thì bao nhiêu. Cụ thể, một nghiên cứu điển hình sẽ có 30 dự đoán, n = 200, alpha của mục nhập 0,05 và ước tính bình phương r khoảng 0,5.

Những gì tôi biết:

  • Không có triệu chứng, bất kỳ yếu tố dự đoán nào có hệ số khác không sẽ là một yếu tố dự báo có ý nghĩa thống kê và bình phương r sẽ bằng r-vuông điều chỉnh. Do đó, hồi quy từng bước không có triệu chứng nên ước tính phương trình hồi quy thực và bình phương r bình phương thực sự.
  • Với kích thước mẫu nhỏ hơn, thiếu sót có thể của một số yếu tố dự đoán sẽ dẫn đến bình phương r nhỏ hơn so với tất cả các yếu tố dự đoán được đưa vào mô hình. Nhưng cũng là độ lệch thông thường của dữ liệu r-vuông so với dữ liệu mẫu sẽ làm tăng bình phương r. Vì vậy, suy nghĩ ngây thơ của tôi là có khả năng, hai lực lượng đối lập này có thể trong một số điều kiện nhất định dẫn đến một hình vuông không thiên vị. Và nói chung, hướng của sự thiên vị sẽ phụ thuộc vào các tính năng khác nhau của dữ liệu và tiêu chí đưa vào alpha.
  • Đặt tiêu chí bao gồm alpha nghiêm ngặt hơn (ví dụ: 0,01, 0,001, v.v.) sẽ làm giảm bình phương ước tính r dự kiến ​​vì xác suất bao gồm bất kỳ yếu tố dự đoán nào trong bất kỳ thế hệ dữ liệu nào sẽ ít hơn.
  • Nhìn chung, r-vuông là một ước tính sai lệch hướng lên của r-vuông dân số và mức độ sai lệch này tăng lên với nhiều yếu tố dự đoán hơn và kích thước mẫu nhỏ hơn.

Câu hỏi

Vì vậy, cuối cùng, câu hỏi của tôi:

  • Đến mức nào thì bình phương r từ hồi quy từng bước dẫn đến ước tính sai lệch của bình phương r-vuông?
  • Mức độ sai lệch này liên quan đến kích thước mẫu, số lượng dự đoán, tiêu chí bao gồm alpha hoặc thuộc tính của dữ liệu?
  • Có bất kỳ tài liệu tham khảo về chủ đề này?

3
Phiên bản chính của Câu hỏi thường gặp về Stata mà bạn trích dẫn trước cuốn sách Chiến lược mô hình hồi quy năm 2001 của Frank Harrell . New York: Springer, đó là tài liệu tham khảo tôi sẽ bắt đầu từ đây.
Nick Cox

3
Tôi đặc biệt khuyên bạn nên đọc cuốn sách của @FrankHarrell mà Nick Cox đề cập ở đó; Tôi thường xuyên phân công sinh viên sau đại học của mình và tôn vinh sinh viên đọc từ đó (đặc biệt là chương 4). R ^ 2 bị sai lệch khi có sự lựa chọn biến khá dễ thấy bằng cách mô phỏng nhiều bộ dữ liệu (ví dụ n = 100, p = 50) có tương quan dân số bằng 0 và sau đó thực hiện bất kỳ quy trình chọn biến nào bạn muốn hiển thị nó vào
Glen_b -Reinstate Monica

5
Như các ý kiến ​​lưu ý, mô phỏng có thể chỉ ra rằng, trong một tình huống đã biết, hồi quy từng bước sẽ đánh giá quá cao và chúng có thể hiển thị bao nhiêu. Nhưng nó không thể cho thấy mức độ lạm phát trong tình huống mà bạn không biết giá trị dân số phải là bao nhiêu. Đó là, không chỉ là kết quả từ xu hướng từng bước, chúng còn bị sai lệch theo những cách rất khó (nếu không nói là không thể) để ước tính. R2
Peter Flom - Tái lập Monica

3
Nếu dân số R ^ 2 bằng 0, tôi sẽ nghĩ rằng mẫu R ^ 2 bị sai lệch ngay cả khi bạn không sử dụng lựa chọn từng bước. Tôi nghi ngờ (nhưng không chắc chắn) rằng nó cũng sẽ bị sai lệch nếu dân số R ^ 2 khác không.
đánh dấu999

2
Để nói rằng dân số có và chúng tôi đang thực hiện một số hình thức lựa chọn mô hình là đưa ra một số giả định cụ thể về tình huống lấy mẫu - đó là mô hình 'đúng' và có kích thước cụ thể, có nhiều biến được xem xét hơn trong mô hình thực (ít nhất có khả năng nhiều hơn), v.v. Tôi nghĩ thậm chí còn có một hàm ý rằng không phải tất cả các biến đều liên quan mạnh mẽ đến phản hồi. Cuối cùng, tôi nghĩ rằng bất kỳ mô phỏng nào chúng tôi thực hiện để điều tra các thuộc tính sẽ cần phải tôn trọng tất cả các hàm ý mà nó thiết lập. R2
Glen_b -Reinstate Monica

Câu trả lời:


5

Được tham khảo trong cuốn sách của tôi, có một tài liệu cho thấy rằng để có được ước tính gần như không thiên vị của khi thực hiện lựa chọn biến, người ta cần chèn vào công thức để điều chỉnh R 2 số lượng dự đoán ứng viên , chứ không phải số lượng dự đoán "được chọn" . Do đó, sai lệch gây ra bởi lựa chọn biến là đáng kể. Có lẽ quan trọng hơn, lựa chọn biến dẫn đến R 2 thực tệ hơn và không có khả năng thực sự tìm thấy các biến "đúng".R2R2R2


Đặc biệt khi số lượng người dự đoán ứng viên vượt quá số lượng quan sát!
Alexis

3

Tổng quat

R2ρ2

R2ρ2R2ρ2R2R2R2ρ2

R2

R2ρ2ρ2

Mô phỏng

Mô phỏng sau đây có bốn yếu tố dự đoán không tương quan trong đó dân số r bình phương là 40%. Hai trong số các dự đoán giải thích 20% mỗi dự đoán và hai dự đoán còn lại giải thích 0%. Mô phỏng tạo ra 1000 bộ dữ liệu và ước tính hồi quy từng bước theo tỷ lệ phần trăm cho mỗi tập dữ liệu.

# source("http://bioconductor.org/biocLite.R")
# biocLite("maSigPro") # provides stepwise regression function two.ways.stepfor 
library(maSigPro)
get_data <- function(n=100) {
    x1 <- rnorm(n, 0, 1)
    x2 <- rnorm(n, 0, 1)
    x3 <- rnorm(n, 0, 1)
    x4 <- rnorm(n, 0, 1)
    e  <- rnorm(n, 0, 1)
    y <- 1 * x1 + 1 * x2 + sqrt(3) * e
    data <- data.frame(y, x1, x2, x3, x4)
    data
}

get_rsquare <- function(x, alpha=.05) {
    fit <- two.ways.stepfor(x$y, subset(x, select=-y),  alfa=alpha)
        class(fit) <-'lm'
        summary.lm(fit)$r.square * 100
}

Đoạn mã sau trả về hình vuông r với một alpha cho mục nhập là .01, .001, .0001 và .00001.

set.seed(1234)
simulations <- 1000
datasets <- lapply(seq(simulations), function(X) get_data(n=100))
rsquares01 <- sapply(datasets, function(X) get_rsquare(X, alpha=.01))
rsquares001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.001))
rsquares0001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.0001))
rsquares00001 <- sapply(datasets, function(X) get_rsquare(X, alpha=.00001))

Các kết quả sau đây cho thấy độ lệch cho từng trong số năm alpha của các mục. Lưu ý rằng tôi đã nhân số r-vuông lên 100 để dễ dàng nhận thấy sự khác biệt.

mean(rsquares01) - 40 
mean(rsquares001) - 40 
mean(rsquares0001) - 40 
mean(rsquares00001) - 40 
sd(rsquares01)/sqrt(simulations) # approximate standard error in estimate of bias 

Kết quả cho thấy rằng alpha của các mục nhập của 0,01 và 0,001 dẫn đến sai lệch dương và alpha của các mục nhập của 0,0001 và 0,00001 dẫn đến sai lệch âm. Vì vậy, có lẽ một alpha của mục nhập khoảng .0005 sẽ dẫn đến hồi quy từng bước không thiên vị.

> mean(rsquares01) - 40 
[1] 1.128996
> mean(rsquares001) - 40 
[1] 0.8238992
> mean(rsquares0001) - 40 
[1] -0.9681992
> mean(rsquares00001) - 40 
[1] -5.126225
> sd(rsquares01)/sqrt(simulations) # approximate standard error in estimate of bias
[1] 0.2329339

Kết luận chính tôi rút ra từ điều này là hồi quy từng bước không phải là thiên lệch theo một hướng cụ thể. Điều đó nói rằng, nó sẽ ít nhất là hơi thiên vị cho tất cả trừ một giá trị p của mục dự đoán. Tôi đưa ra quan điểm của @Peter Flom rằng trong thế giới thực, chúng ta không biết quá trình tạo dữ liệu. Tuy nhiên, tôi tưởng tượng một khám phá chi tiết hơn về sự thiên vị này thay đổi như thế nào, n, alpha của mục nhập, quy trình tạo dữ liệu và quy trình hồi quy từng bước (ví dụ, bao gồm cả thông qua ngược) về cơ bản có thể hiểu được sự hiểu biết về sự thiên vị đó.

Người giới thiệu

  • Mitchell, FE (2001). Chiến lược mô hình hồi quy: với các ứng dụng cho mô hình tuyến tính, hồi quy logistic và phân tích sinh tồn. Mùa xuân.

Nó vẫn thiên vị (tôi muốn nói), bạn đã giảm bớt sự thiên vị rất nhiều.
Jeremy Miles

@JeremyMiles Có. Nhưng nó không phải là thiên vị theo một hướng cụ thể.
Jeromy Anglim

Tôi rất muốn thấy @FrankHarrell đảm nhận việc này.
Glen_b -Reinstate Monica

1
+1 Làm tốt lắm! Nhưng không nên kết luận của bạn là khác nhau? Để cho "SW(p)"được ước tính R2 sử dụng hồi quy từng bước với p-to-enter của p. Bạn đã đồng ý (và chứng minh một phần) rằng đối với bất kỳ dân số cụ thể nào cũng tồn tại ít nhất mộtpSW(p)không thiên vị. Tốt: nhưng làm thế nào để bạn chọn điều đóp? Nếu bạn không biết nó là gì, thì có vẻ như bạn đã quay lại ngay nơi bạn bắt đầu, nhưng lần này bạn biết rằngSW(p) là "vốn có" thiên vị trừ khi bạn đoán may mắn về p.
whuber

1
@whuber Tôi đã điều chỉnh đoạn cuối để hy vọng làm cho một vài điểm bạn đề cập rõ ràng hơn.
Jeromy Anglim
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.