Apakah dapat dipertahankan untuk membuat stratifikasi data yang ditetapkan berdasarkan ukuran residual dan melakukan perbandingan dua sampel?

16

Ini adalah sesuatu yang saya lihat dilakukan sebagai semacam metode ad-hoc dan tampaknya sangat mencurigakan bagi saya tetapi mungkin saya kehilangan sesuatu. Saya telah melihat ini dilakukan dalam beberapa regresi tetapi mari kita tetap sederhana:

yi=β0+β1xi+εi

Sekarang ambil residu dari model yang pas

ei=yi(β^0+β^1xi)

dan stratifikasi sampel berdasarkan ukuran residu. Sebagai contoh, katakanlah sampel pertama adalah bagian bawah 90% dari residu dan sampel kedua adalah 10% teratas, kemudian lanjutkan untuk melakukan dua perbandingan sampel - Saya telah melihat ini dilakukan baik pada alat prediksi dalam model, , dan pada variabel yang tidak ada dalam model. Logika informal yang digunakan adalah bahwa mungkin poin yang memiliki nilai jauh di atas apa yang Anda harapkan dalam model (yaitu residu besar) berbeda dalam beberapa hal, dan perbedaan itu diselidiki dengan cara ini.x

Pikiranku pada subjek adalah:

  • Jika Anda melihat perbedaan 2 sampel pada prediktor dalam model, maka ada efek prediktor yang tidak diperhitungkan oleh model dalam kondisi saat ini (yaitu efek non-linear).
  • Jika Anda melihat perbedaan 2-sampel pada variabel yang tidak ada dalam model, maka mungkin seharusnya ada dalam model di tempat pertama.

xx¯1x¯2y¯,x¯,σ^x,σ^yρ^xyt

Bagaimanapun, pertanyaan dasar saya adalah: Apakah ada alasan untuk melakukan ini? Jika demikian, dalam situasi apa ini bisa menjadi hal yang bermanfaat untuk dilakukan? Jelas saya tidak berpikir ada tetapi mungkin ada sesuatu yang saya tidak pikirkan dengan cara yang benar.

Makro
sumber
apakah dua perbandingan sampel menggunakan IVs yang sama ? Jika demikian, saya tidak dapat melihat intinya karena split residual sudah menggunakan informasi itu. Bisakah Anda memberi contoh di mana Anda pernah melihat ini, ini baru bagi saya?
Michelle
1
Yah, satu kemungkinan adalah bahwa itu dapat digunakan sebagai diagnostik untuk melihat apakah Anda memiliki spesifikasi kesalahan model - apa pendapat Anda tentang itu?
Makro
3
Saya tidak dapat melihat titik apa pun dalam melakukan hal ini selain sebagai alat diagnostik untuk mengidentifikasi titik-titik bermasalah atau kehilangan efek non-linear, seperti yang disarankan oleh komentar di atas. Saya pikir dua titik poin di OP ("pemikiran tentang subjek ...") cukup bagus.
Peter Ellis
1
Teknik ini digunakan oleh Loh dan rekan penulisnya untuk menentukan variabel terpecah dalam algoritma pohonnya DUKUNG dan, saya pikir, PANDUAN. Karena kumpulan data akan dipartisi dengan cara itu, dapat dianggap mencari pengaruh nonlinear (diproksi dengan fungsi stepwise) dan untuk menentukan apakah suatu variabel memang telah dilupakan. Saya ingat bertanya-tanya apakah itu pintar juga, mungkin Anda menemukan lebih banyak penjelasan di surat kabar mereka (saya tidak ingat).
Momo

Jawaban:

8

Membandingkan berarti terlalu lemah: sebagai gantinya, bandingkan distribusi.

Ada juga pertanyaan mengenai apakah lebih diinginkan untuk membandingkan ukuran residu (seperti yang dinyatakan) atau membandingkan residu itu sendiri. Karena itu, saya mengevaluasi keduanya.

R(x,y)xyyxq0q1>q0x

test <- function(y, x, q0, q1, abs0=abs, ...) {
  y.res <- abs0(residuals(lm(y~x)))
  y.groups <- cut(y.res, quantile(y.res, c(0,q0,q1,1)))
  x.groups <- split(x, y.groups)
  xy <- qqplot(x.groups[[1]], x.groups[[3]], plot.it=FALSE)
  lines(xy, xlab="Low residual", ylab="High residual", ...)
}

Argumen kelima untuk fungsi ini abs0,, secara default menggunakan ukuran (nilai absolut) dari residu untuk membentuk grup. Nanti kita bisa menggantinya dengan fungsi yang menggunakan residu itu sendiri.

xy

simulate <- function(n, beta0=0, beta1=1, beta2=0, sd=1, q0=1/3, q1=2/3, abs0=abs,
                     n.trials=99, ...) {
  x <- 1:n - (n+1)/2
  y <- beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd)
  plot(x,y, ylab="y", cex=0.8, pch=19, ...)
  plot(x, res <- residuals(lm(y ~ x)), cex=0.8, col="Gray", ylab="", main="Residuals")
  res.abs <- abs0(res)
  r0 <- quantile(res.abs, q0); r1 <- quantile(res.abs, q1)
  points(x[res.abs < r0], res[res.abs < r0], col="Blue")
  points(x[res.abs > r1], res[res.abs > r1], col="Red")
  plot(x,x, main="QQ Plot of X",
       xlab="Low residual", ylab="High residual",
       type="n")
  abline(0,1, col="Red", lwd=2)
  temp <- replicate(n.trials, test(beta0 + beta1 * x + beta2 * x^2 + rnorm(n, sd=sd), 
                             x, q0=q0, q1=q1, abs0=abs0, lwd=1.25, lty=3, col="Gray"))
  test(y, x, q0=q0, q1=q1, abs0=abs0, lwd=2, col="Black")
}

yβ0+β1x+β2x2sdq0q1abs0n.trialsn(x,y)data, dari residu mereka, dan plot qq dari banyak percobaan - untuk membantu kami memahami bagaimana tes yang diusulkan bekerja untuk model yang diberikan (sebagaimana ditentukan oleh n, beta, s dan sd). Contoh plot ini muncul di bawah.

Mari kita sekarang menggunakan alat-alat ini untuk mengeksplorasi beberapa kombinasi realistis nonlinier dan heteroskedastisitas, menggunakan nilai absolut residu:

n <- 100
beta0 <- 1
beta1 <- -1/n
sigma <- 1/n

size <- function(x) abs(x)
set.seed(17)
par(mfcol=c(3,4))
simulate(n, beta0, beta1, 0, sigma*sqrt(n), abs0=size, main="Linear Homoscedastic")
simulate(n, beta0, beta1, 0, 0.5*sigma*(n:1), abs0=size, main="Linear Heteroscedastic")
simulate(n, beta0, beta1, 1/n^2, sigma*sqrt(n), abs0=size, main="Quadratic Homoscedastic")
simulate(n, beta0, beta1, 1/n^2, 5*sigma*sqrt(1:n), abs0=size, main="Quadratic Heteroscedastic")

xxx

Nilai absolut

xxx

Mari kita lakukan hal yang sama, menggunakan data yang persis sama , tetapi menganalisis residu itu sendiri. Untuk melakukan ini, blok kode sebelumnya dijalankan kembali setelah melakukan modifikasi ini:

size <- function(x) x

Residu

x

Mungkin menggabungkan kedua teknik ini akan berhasil. Simulasi-simulasi ini (dan variasi dari mereka, yang dapat dijalankan oleh pembaca yang tertarik di waktu luang) menunjukkan bahwa teknik-teknik ini bukan tanpa prestasi.

x(x,y^x)kita dapat mengharapkan tes yang diusulkan menjadi kurang kuat daripada tes berbasis regresi seperti Breusch-Pagan .

whuber
sumber
2

eixi

Yang lain berkomentar bahwa ini mungkin hanya alat eksplorasi untuk melihat apakah dua set data harus dimodelkan secara terpisah. Jika demikian, mungkin ini dan mungkin pendekatan eksplorasi lain mungkin baik-baik saja. Namun pertanyaannya kemudian menjadi apa yang Anda lakukan selanjutnya? Jika Anda kemudian akan melakukan dua regresi terpisah dan menarik kesimpulan tentang sampel, saya pikir Anda perlu mempertimbangkan cara Anda membagi sampel.

Michael R. Chernick
sumber
0

Saya kira mungkin ada beberapa motivasi untuk melakukan hal ini misalnya dengan asumsi bahwa residu konsisten maka metode yang Anda sebutkan dapat membantu mengidentifikasi pengamatan yang lebih dekat, sehingga langkah kedua menyediakan penduga yang "dikoreksi". Tetapi, ada teknik yang lebih ketat yang melakukan deteksi outlyers atau yang menyediakan penduga yang kuat dengan kehadiran pengamatan seperti itu, seperti regresi kuantil, LMS (paling tidak rata-rata kotak) atau M-estimator dll di mana semua metode ini telah didefinisikan dengan baik dan properti statistik yang dikenal. (Ini telah ditambahkan oleh @Michael Chernik)

Motivasi lain mungkin identifikasi cluster tetapi ini primitif jika dibandingkan dengan teknik yang tersedia untuk deteksi cluster yang juga didefinisikan dengan baik dan diimplementasikan secara luas.

Dalam kedua kasus, menggunakan residu tampaknya informal dan primitif, tetapi mungkin masih dapat ditoleransi sebagai alat eksplorasi. Ini juga tergantung pada domain pembaca. Saya akan menemukan ini dapat diterima untuk beberapa ilmu sosial di mana alat kuantitatif mungkin kurang populer.

JDav
sumber