Apakah regresi bertahap memberikan estimasi bias populasi r-square?

14

Dalam bidang psikologi dan bidang lainnya bentuk regresi bertahap sering digunakan yang melibatkan hal-hal berikut:

  1. Lihatlah prediktor yang tersisa (tidak ada dalam model pada awalnya) dan identifikasi prediktor yang menghasilkan perubahan r-square terbesar;
  2. Jika nilai p dari perubahan r-square kurang dari alpha (biasanya 0,05), maka sertakan prediktor itu dan kembali ke langkah 1, jika tidak hentikan.

Misalnya, lihat prosedur ini di SPSS .

Prosedur ini secara rutin dikritik karena berbagai alasan (lihat diskusi ini di situs web Stata dengan referensi ).

Secara khusus, situs web Stata merangkum beberapa komentar oleh Frank Harrell. Saya tertarik dengan klaim:

[regresi bertahap] menghasilkan nilai R-kuadrat yang sangat bias menjadi tinggi.

Secara khusus, beberapa penelitian saya saat ini berfokus pada memperkirakan populasi r-square . Dengan populasi r-square, saya merujuk pada persentase varians yang dijelaskan oleh persamaan penghasil data populasi dalam populasi. Banyak literatur yang saya ulas telah menggunakan prosedur regresi bertahap dan saya ingin tahu apakah estimasi yang diberikan bias dan jika demikian seberapa banyak. Secara khusus, sebuah studi khas akan memiliki 30 prediktor, n = 200, alfa masuknya 0,05, dan estimasi r-square sekitar 0,50.

Apa yang saya tahu:

  • Secara asimptotik, setiap prediktor dengan koefisien bukan nol akan menjadi prediktor signifikan secara statistik, dan r-square akan sama dengan r-square yang disesuaikan. Dengan demikian, regresi bertahap asimptotik harus memperkirakan persamaan regresi yang benar dan populasi yang benar r-square.
  • Dengan ukuran sampel yang lebih kecil, kemungkinan penghilangan beberapa prediktor akan menghasilkan r-square yang lebih kecil daripada semua prediktor yang dimasukkan dalam model. Tetapi juga bias r-square yang biasa untuk sampel data akan meningkatkan r-square. Jadi, pemikiran naif saya adalah bahwa secara potensial, kedua kekuatan yang berlawanan ini dapat dalam kondisi tertentu menghasilkan r-square yang tidak bias. Dan lebih umum, arah bias akan bergantung pada berbagai fitur data dan kriteria inklusi alfa.
  • Menetapkan kriteria inklusi alfa yang lebih ketat (mis., 01, .001, dll.) Harus lebih rendah dari perkiraan yang diperkirakan r-kuadrat karena kemungkinan menyertakan prediktor apa pun dalam setiap generasi data akan lebih kecil.
  • Secara umum, r-square adalah estimasi bias populasi ke atas r-square dan tingkat bias ini meningkat dengan lebih banyak prediktor dan ukuran sampel yang lebih kecil.

Pertanyaan

Jadi akhirnya, pertanyaan saya:

  • Sejauh mana r-square dari hasil regresi bertahap dalam estimasi bias populasi r-square?
  • Sejauh mana bias ini terkait dengan ukuran sampel, jumlah prediktor, kriteria inklusi alfa atau sifat data?
  • Apakah ada referensi tentang topik ini?
Jeromy Anglim
sumber
3
Versi utama FAQ Stata yang Anda kutip mendahului strategi pemodelan buku Regresi tahun 2001 milik Frank Harrell . New York: Springer, yang merupakan referensi saya akan mulai dari sini.
Nick Cox
3
Saya sangat merekomendasikan membaca buku oleh @ FrankHarrell bahwa Nick Cox menyebutkan di sana; Saya secara teratur menugaskan mahasiswa pascasarjana saya dan memberikan penghargaan kepada siswa yang membacanya (khususnya bab 4). Bahwa R ^ 2 bias dalam kehadiran pemilihan variabel cukup mudah untuk dilihat dengan mensimulasikan banyak set data (misalnya n = 100, p = 50) yang memiliki korelasi populasi nol dan kemudian melakukan prosedur pemilihan variabel apa pun yang ingin Anda tunjukkan itu aktif.
Glen_b -Reinstate Monica
5
Seperti yang dicatat oleh komentar, simulasi dapat menunjukkan bahwa, dalam situasi yang diketahui, regresi bertahap akan melebih-lebihkan , dan mereka dapat menunjukkan seberapa banyak. Tapi itu tidak bisa menunjukkan berapa banyak inflasi yang ada dalam situasi di mana Anda tidak tahu apa nilai populasi seharusnya. Artinya, tidak hanya merupakan hasil dari bias bertahap, mereka juga bias dalam cara yang sangat sulit (jika bukan tidak mungkin) untuk diperkirakan. R2
Peter Flom - Reinstate Monica
3
Jika populasi R ^ 2 adalah nol, saya akan berpikir bahwa sampel R ^ 2 bias bahkan jika Anda tidak menggunakan seleksi bertahap. Saya curiga (tetapi tidak yakin) bahwa itu juga akan bias jika populasi R ^ 2 tidak nol.
mark999
2
Untuk mengatakan bahwa populasi memiliki dan bahwa kami sedang melakukan beberapa bentuk pemilihan model adalah membuat beberapa asumsi khusus tentang situasi pengambilan sampel - bahwa ada model 'benar', dan bahwa ia memiliki ukuran tertentu, bahwa ada lebih banyak variabel yang harus dipertimbangkan daripada dalam model yang sebenarnya (setidaknya berpotensi lebih banyak), dan seterusnya. Saya pikir bahkan ada implikasi bahwa tidak semua variabel sama-sama sangat terkait dengan respons. Untuk itu, saya pikir setiap simulasi yang kami lakukan untuk menyelidiki properti perlu menghormati semua implikasi yang dibuatnya. R2
Glen_b -Reinstate Monica

Jawaban:

5

Direferensikan dalam buku saya, ada literatur yang menunjukkan bahwa untuk mendapatkan perkiraan hampir objektif tentang ketika melakukan pemilihan variabel, salah satu kebutuhan untuk memasukkan ke dalam rumus untuk disesuaikan R 2 jumlah calon prediktor, bukan jumlah "dipilih" prediktor . Oleh karena itu, bias yang disebabkan oleh pemilihan variabel sangat besar. Mungkin yang lebih penting, pemilihan variabel menghasilkan R 2 nyata lebih buruk dan ketidakmampuan untuk benar-benar menemukan variabel "benar".R2R2R2

Frank Harrell
sumber
Terutama ketika jumlah calon prediktor melebihi jumlah pengamatan!
Alexis
2

Gambaran

R2ρ2

R2ρ2R2ρ2R2R2R2ρ2

R2

R2ρ2ρ2

Simulasi

Simulasi berikut memiliki empat prediktor tidak berkorelasi di mana populasi r-square adalah 40%. Dua prediktor menjelaskan masing-masing 20%, dan dua prediktor lainnya menjelaskan 0%. Simulasi menghasilkan 1000 dataset dan memperkirakan regresi bertahap r-square sebagai persentase untuk setiap dataset.

# 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
}

Kode berikut mengembalikan r-square dengan alpha untuk entri .01, .001, .0001, dan .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))

Hasil berikut menunjukkan bias untuk masing-masing dari lima alfa entri. Perhatikan bahwa saya telah mengalikan r-square dengan 100 untuk membuatnya lebih mudah untuk melihat perbedaannya.

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

Hasil penelitian menunjukkan bahwa alpha dari entri .01 dan .001 menghasilkan bias positif dan alpha dari entri .0001 dan .00001 menghasilkan bias negatif. Jadi mungkin alfa entri di sekitar .0005 akan menghasilkan regresi bertahap yang tidak bias.

> 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

Kesimpulan utama yang saya ambil dari ini adalah bahwa regresi bertahap tidak bias inheren dalam arah tertentu. Yang mengatakan, itu akan setidaknya agak bias untuk semua kecuali satu nilai p entri prediktor. Saya mengambil poin @Peter Flom bahwa di dunia nyata kita tidak tahu proses pembuatan data. Namun, saya membayangkan eksplorasi yang lebih rinci tentang bagaimana bias ini bervariasi atas, n, alfa entri, proses menghasilkan data, dan prosedur regresi bertahap (misalnya, termasuk melewati mundur) secara substansial dapat menginformasikan pemahaman tentang bias tersebut.

Referensi

  • Harrell, FE (2001). Strategi pemodelan regresi: dengan aplikasi untuk model linier, regresi logistik, dan analisis survival. Peloncat.
Jeromy Anglim
sumber
Itu masih bias (saya katakan), Anda baru saja mengurangi bias.
Jeremy Miles
@ JeremyMiles Ya. Tetapi secara inheren tidak bias dalam arah tertentu.
Jeromy Anglim
Saya akan sangat tertarik melihat @FrankHarrell mengambil ini.
Glen_b -Reinstate Monica
1
SW(hal)R2halhalSW(hal)halSW(hal)hal
1
@whuber Saya tweak paragraf terakhir untuk mudah-mudahan membuat beberapa poin yang Anda sebutkan lebih jelas.
Jeromy Anglim