Saran untuk mengidentifikasi bentuk kurva menggunakan quantreg


10

Saya menggunakan paket kuantreg untuk membuat model regresi menggunakan persentil ke-99 dari nilai-nilai saya dalam kumpulan data. Berdasarkan saran dari pertanyaan stackoverflow sebelumnya yang saya tanyakan, saya menggunakan struktur kode berikut.

mod <- rq(y ~ log(x), data=df, tau=.99)    
pDF <- data.frame(x = seq(1,10000, length=1000) ) 
pDF <- within(pDF, y <- predict(mod, newdata = pDF) )

yang saya tunjukkan diplot di atas data saya. Saya telah merencanakan ini menggunakan ggplot2, dengan nilai alpha untuk poin. Saya pikir ekor dari distribusi saya tidak dipertimbangkan secara memadai dalam analisis saya. Mungkin ini disebabkan oleh fakta bahwa ada poin individu, yang diabaikan oleh pengukuran tipe persentil.

Salah satu komentar menyarankan itu

Sketsa paket termasuk bagian tentang regresi kuantil nonlinear dan juga model dengan smoothing splines dll.

Berdasarkan pertanyaan saya sebelumnya, saya mengasumsikan hubungan logaritmik, tetapi saya tidak yakin apakah itu benar. Saya pikir saya bisa mengekstraksi semua poin pada interval persentil ke-99 dan kemudian memeriksanya secara terpisah, tetapi saya tidak yakin bagaimana melakukannya, atau jika itu merupakan pendekatan yang baik. Saya akan sangat menghargai saran tentang cara meningkatkan mengidentifikasi hubungan ini.

masukkan deskripsi gambar di sini


Ada beberapa pertanyaan bagus di situs yang sudah membahas tentang mengubah data seperti ini, lihat stats.stackexchange.com/q/1444/1036 atau stats.stackexchange.com/q/298/1036
Andy W

Bisakah Anda memperbarui plot untuk menambahkan median bersyarat? bagi saya ini lebih mirip masalah lintas kuantil daripada masalah transformasi data ...
user603

@ user603 Apa yang Anda maksud dengan median bersyarat? (Saya mencari secara online tetapi tidak yakin bagaimana cara menghitungnya)
celenius

tau = 0,5 dalam fungsi rq ().
user603

1
Jika tujuan Anda secara khusus untuk memperkirakan persentil ke-99 bersyarat, saya akan memilih regresi kuantil nonlinier (semacam - saya tidak tahu paket R dengan baik), karena tidak terdengar seperti Anda tahu bentuk fungsional yang sebenarnya . Saya masih belum jelas kepada saya dari pertanyaan Anda sebelumnya apa tujuan sebenarnya, jadi saya akan mengulangi komentar tentang pertanyaan Anda sebelumnya dari Spacedman 4 Jan pukul 17:01
David M Kaplan

Jawaban:


1

Semua model salah, tetapi ada juga yang berguna (George Box). Anda memaksa bentuk logrithmic ke kurva Anda, dan jujur ​​itu tidak terlihat buruk. Kecocokan buruk di bagian ekor karena ada sedikit poin di sana; dua parameter yang Anda izinkan akan sesuai dengan sebagian besar data. Dengan kata lain, pada skala log, ekor itu tidak cukup jauh dari sebagian besar data Anda untuk memberikan pengaruh. Itu tidak ada hubungannya dengan sifat kuantitatif dari regresi; OLS juga akan mengabaikan poin-poin tersebut (terutama pada skala log).

Sangat mudah untuk memungkinkan beberapa non-linearitas. Saya sebagian dari splines alami, tetapi sekali lagi, semua model salah:

library(splines)
mod <- rq(y ~ ns(log(x), df=6), data=df, tau=.99)

The quantregpaket memiliki beberapa kait khusus untuk splines monoton jika itu menjadi perhatian Anda.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.