R-kuadrat dalam regresi kuantitatif

21

Saya menggunakan regresi kuantil untuk menemukan prediktor persentil ke-90 data saya. Saya melakukan ini di R menggunakan quantregpaket. Bagaimana saya bisa menentukan untuk regresi kuantil yang akan menunjukkan berapa banyak variabilitas dijelaskan oleh variabel prediktor?r2

Apa yang benar-benar ingin saya ketahui: "Apakah ada metode yang dapat saya gunakan untuk menemukan berapa banyak variabilitas yang sedang dijelaskan?". Tingkat signifikansi oleh nilai-nilai P tersedia dalam output dari perintah: summary(rq(formula,tau,data)). Bagaimana saya bisa mendapatkan kebaikan yang bugar?

juga
sumber
7
R2 tidak relevan dengan regresi kuantil.
whuber
@whuber: Adakah metode alternatif yang dapat saya gunakan untuk menemukan berapa banyak variabilitas yang dijelaskan?
rnso
2
Itu akan menjadi hal yang baik untuk ditanyakan dalam tubuh pertanyaan Anda, daripada dikubur dalam komentar! "Variabilitas dijelaskan" (yang diukur dalam hal varian, pada dasarnya) pada dasarnya adalah konsep kuadrat-terkecil; mungkin yang Anda inginkan adalah ukuran signifikansi statistik atau mungkin kecocokan yang baik.
whuber
Untuk setiap angka prestasi Anda perlu mempertimbangkan apa yang akan menjadi kinerja yang baik, apa yang akan menjadi kinerja yang buruk dan apa yang tidak relevan. Misalnya, tidak ada kritik terhadap persentil ke-90 jika itu merupakan prediktor buruk dari persentil ke-10. Patokan Anda mungkin berupa apa pun yang mungkin Anda gunakan jika Anda tidak menggunakan regresi kuantitatif. Jika prediktor Anda kontinu, itu mungkin sulit untuk didefinisikan.
Nick Cox
1
@whuber: Saya telah menambahkan itu di tubuh pertanyaan. Tingkat signifikansi berdasarkan nilai P tersedia dalam output ringkasan (rq (rumus, tau, data)). Bagaimana saya bisa mendapatkan kebaikan yang bugar?
rnso

Jawaban:

23

Koenker dan Machado [ 1 ] menggambarkan R 1 , ukuran lokal goodness of fit di tertentu ( τ ) kuantil.[1]R1τ

V(τ)=minbρτ(ysaya-xsayab)

Biarkan dan menjadi perkiraan koefisien untuk model lengkap, dan model terbatas, dan biarkan dan menjadi ketentuan sesuai . ~ β (τ) V ~ V Vβ^(τ)β~(τ)V^V~V

Mereka mendefinisikan kriteria goodness of fit .R1(τ)=1-V^V~

Koenker memberikan kode untuk sini ,V

rho <- function(u,tau=.5)u*(tau - (u < 0))
V <- sum(rho(f$resid, f$tau))

Jadi jika kita menghitung untuk model dengan intersep-only ( - atau dalam cuplikan kode di bawah) dan kemudian model tidak terbatas ( ), kita dapat menghitung itu - setidaknya secara notasi - agak seperti .~ V V R 2VV~V0V^R1 <- 1-Vhat/V0R2

Sunting: Dalam kasus Anda, tentu saja, argumen kedua, yang akan diletakkan di tempat f$taupanggilan dalam baris kode kedua, akan menjadi nilai apa pun yang tauAnda gunakan. Nilai di baris pertama hanya menetapkan default.

'Menjelaskan perbedaan tentang mean' sebenarnya bukan apa yang Anda lakukan dengan regresi kuantil, jadi Anda seharusnya tidak mengharapkan untuk memiliki ukuran yang benar-benar setara.

Saya tidak berpikir konsep diterjemahkan dengan baik ke regresi kuantil. Anda dapat mendefinisikan berbagai jumlah analog yang kurang lebih, seperti di sini, tetapi apa pun yang Anda pilih, Anda tidak akan memiliki sebagian besar properti yang dimiliki nyata dalam regresi OLS. Anda harus jelas tentang properti apa yang Anda butuhkan dan apa yang tidak Anda butuhkan - dalam beberapa kasus, dimungkinkan untuk memiliki ukuran yang melakukan apa yang Anda inginkan.R 2R2R2

-

[1] Koenker, R dan Machado, J (1999),
Goodness of Fit dan Proses Inferensi Terkait untuk Regresi Kuantil,
Jurnal Asosiasi Statistik Amerika, 94 : 448, 1296-1310

Glen_b -Reinstate Monica
sumber
Haruskah tau = 0,9 lebih dari 0,5?
Dimitriy V. Masterov
Ya, seharusnya, tetapi jika Anda memberikan argumen kedua yang benar (seperti yang dilakukan pada baris kedua yang saya kutip di atas), itulah cara kerjanya. Nilai 0,5 di baris pertama hanyalah argumen default jika Anda tidak menentukan taukapan Anda memanggil fungsi. Saya akan menjelaskan di pos.
Glen_b -Reinstate Monica
@ Glen_b Terima kasih atas penjelasannya. Kecuali jika saya melakukan sesuatu yang bodoh, V tampaknya merupakan jumlah dari penyimpangan tertimbang tentang perkiraan kuantil, daripada pseudo- . R2
Dimitriy V. Masterov
@ Dimitriy Uh, kau benar, aku meninggalkan sesuatu. Saya akan segera memperbaikinya.
Glen_b -Reinstate Monica
@ Dimitriy, saya rasa saya sudah memperbaikinya sekarang.
Glen_b -Reinstate Monica
19

Ukuran pseudo- disarankan oleh Koenker dan Machado (1999) dalam JASA mengukur goodness of fit dengan membandingkan jumlah penyimpangan tertimbang untuk model yang diminati dengan jumlah yang sama dari model di mana hanya intersep yang muncul. Ini dihitung sebagaiR2

R1(τ)=1-ysayay^sayaτ|ysaya-y^saya|+ysaya<y^saya(1-τ)|ysaya-y^saya|ysayay¯τ|ysaya-y¯|+ysaya<y¯saya(1-τ)|ysaya-y¯|,

di mana y i = a τ + ß τ x adalah dipasang τ th kuantil untuk pengamatan saya , dan ˉ y = ß τ adalah nilai dipasang dari model intercept-satunya.y^saya=ατ+βτxτsayay¯=βτ

R1(τ)[0,1]τR2

Berikut ini contoh dalam R:

library(quantreg)
data(engel)

fit0 <- rq(foodexp~1,tau=0.9,data=engel)
fit1 <- rq(foodexp~income,tau=0.9,data=engel)

rho <- function(u,tau=.5)u*(tau - (u < 0))
R1 <- 1 - fit1$rho/fit0$rho

Ini mungkin bisa dilakukan dengan lebih elegan.

Dimitriy V. Masterov
sumber
Formula Anda tidak ditampilkan dengan baik. Setelah tanda minus: R_1(\tau) = 1 - 􀀀karakter terakhir adalah semacam kekacauan. Bisakah Anda memeriksanya? Mungkin Anda disisipkan beberapa karakter non-standar daripada menggunakan Tex.
Tim
@Tim Saya tidak melihat sesuatu yang aneh, baik di tex atau di layar.
Dimitriy V. Masterov
Sepertinya ini di linux dan windows: snag.gy/ZAp5T.jpg
Tim
@Tim Kotak itu tidak sesuai dengan apa pun, sehingga dapat diabaikan. Saya akan mencoba mengeditnya nanti dari komputer lain.
Dimitriy V. Masterov