Menafsirkan plot residu vs nilai-nilai yang cocok dari regresi Poisson

25

Saya mencoba untuk mencocokkan data dengan GLM (regresi poisson) di R. Ketika saya merencanakan residual vs nilai-nilai yang dipasang, plot membuat beberapa (hampir linier dengan kurva cekung kecil) "garis". Apa artinya ini?

library(faraway)
modl <- glm(doctorco ~ sex + age + agesq + income + levyplus + freepoor + 
            freerepa + illness + actdays + hscore + chcond1 + chcond2,
            family=poisson, data=dvisits)
plot(modl)

masukkan deskripsi gambar di sini

jocelyn
sumber
Saya tidak tahu apakah Anda dapat mengunggah plot (kadang-kadang pendatang baru), tetapi jika tidak, bisakah Anda setidaknya menambahkan beberapa data & kode R ke pertanyaan Anda sehingga orang dapat mengevaluasinya?
gung - Reinstate Monica
Jocelyn, saya telah memperbarui posting Anda dengan informasi yang Anda masukkan dalam komentar. Saya juga menandai ini homeworkkarena Anda berbicara tentang tugas.
chl
coba plot (jitter (mod1)) untuk melihat apakah grafiknya sedikit lebih mudah dibaca. Mengapa Anda tidak mendefinisikan residu untuk kami dan memberi kami tebakan terbaik Anda sebagai menafsirkan grafik sendiri.
Michael Bishop
1
Dari pertanyaan itu, saya akan berasumsi bahwa Anda memahami distribusi Poisson & reg Pois, dan apa sebutan residu vs nilai pas memberitahu Anda (perbarui jika itu salah), sehingga Anda hanya bertanya-tanya tentang penampilan aneh poin. dalam plot. B / c ini pekerjaan rumah, kami tidak cukup menjawab sebagai kebijakan umum kami, tetapi memberikan petunjuk. Saya perhatikan bahwa Anda memiliki banyak kovariat, saya ingin tahu apakah Anda memiliki 1 kovariat biner terus menerus & banyak.
gung - Reinstate Monica
1
Dua tindak lanjut dari komentar gung. Pertama, coba table(dvisits$doctorco). Apa hubungannya 10 garis lengkung pada plot Anda, dalam tabel ini? Juga, dengan lebih dari 5000 pengamatan, jangan terlalu khawatir tentang penyesuaian koefisien regresi.
tamu

Jawaban:

29

Ini adalah penampilan yang Anda harapkan dari plot seperti itu ketika variabel dependen terpisah.

Setiap jejak titik lengkung pada plot sesuai dengan nilai tetap dari variabel dependen y . Setiap kasus di mana y = k memiliki prediksi y ; residu - menurut definisi - sama dengan k - y . Plot k - y vs ykyy=ky^ky^ky^y^ jelas garis dengan kemiringan . Dalam regresi Poisson, sumbu x ditunjukkan pada skala log: itu adalah log ( y ) . Kurva sekarang membungkuk secara eksponensial. Sebagai k1log(y^)kbervariasi, kurva ini naik dengan jumlah yang tidak terpisahkan. Eksponensial mereka memberikan satu set kurva kuasi-paralel. (Untuk membuktikan ini, plot akan secara eksplisit dibangun di bawah, secara terpisah mewarnai titik dengan nilai .)y

Kita dapat mereproduksi plot yang dimaksud cukup dekat dengan menggunakan model yang serupa tetapi sewenang-wenang (menggunakan koefisien acak kecil):

# Create random data for a random model.
set.seed(17)
n <- 2^12                       # Number of cases
k <- 12                         # Number of variables
beta = rnorm(k, sd=0.2)         # Model coefficients
x <- matrix(rnorm(n*k), ncol=k) # Independent values
y <- rpois(n, lambda=exp(-0.5 + x %*% beta + 0.1*rnorm(n)))

# Wrap the data into a data frame, create a formula, and run the model.
df <- data.frame(cbind(y,x))    
s.formula <- apply(matrix(1:k, nrow=1), 1, function(i) paste("V", i+1, sep=""))
s.formula <- paste("y ~", paste(s.formula, collapse="+"))
modl <- glm(as.formula(s.formula), family=poisson, data=df)

# Construct a residual vs. prediction plot.
b <- coefficients(modl)
y.hat <- x %*% b[-1] + b[1]     # *Logs* of the predicted values
y.res <- y - exp(y.hat)         # Residuals
colors <- 1:(max(y)+1)          # One color for each possible value of y
plot(y.hat, y.res, col=colors[y+1], main="Residuals v. Fitted")

Sisa vs dipasang

whuber
sumber
6
(+1) Warna berjalan jauh untuk menunjukkan apa yang terjadi.
kardinal
Jadi apakah plot di atas menyangkut? Teks (Pemodelan Statistik untuk Peneliti Biomedis: Pengantar Sederhana untuk Analisis Data Kompleks, Dupont, 2002, hal. 316, mis.) Menunjukkan plot pas vs. residual harus dipusatkan pada garis nol residual, dan salah satu kipas (jika mentah residual) atau tidak (jika penyimpangan, misalnya). Dengan rentang jumlah terbatas dalam variabel hasil, Anda mendapatkan band-band ini, dan, seperti dalam plot di atas, mereka tidak berpusat tentang garis di y = 0. Bagaimana kita tahu plot sisa OP (atau plot contoh) dibuat dalam jawaban ini) menunjukkan model sudah pas data dengan baik?
Meg
1
@Meg Saran itu tidak secara langsung berlaku untuk residu GLM. Perhatikan bahwa model yang digunakan untuk menggambarkan jawaban ini diketahui benar karena yang digunakan untuk menghasilkan data.
whuber
1/2: Terima kasih @whuber. Saya mengerti untuk jawaban ini model diketahui benar karena data disimulasikan dari distribusi yang diberikan, tetapi dalam praktiknya tidak diketahui (seperti dalam posting OP). Juga, apa yang saya tulis tentang residu tidak berlaku untuk regresi POI (tidak semua GLM, tidak, tapi yang ini) - referensi yang saya berikan adalah membahas regresi POI secara khusus. Saya hanya melihat teks menunjukkan residu POI terstandarisasi (Pearson atau deviance, mis.) Berpusat tentang y = 0, jadi saya tidak yakin apa yang harus saya cari, karena untuk model ini (yang jelas benar), plot terlihat tidak ada yang seperti itu.
Meg
2/2: Apakah Anda memiliki referensi masuk yang membahas residu POI secara lebih menyeluruh?
Meg
8

Kadang-kadang garis-garis seperti ini dalam plot residual mewakili poin dengan (hampir) nilai yang diamati identik yang mendapatkan prediksi berbeda. Lihatlah nilai target Anda: berapa nilai uniknya? Jika saran saya benar, seharusnya ada 9 nilai unik dalam kumpulan data pelatihan Anda.

Boris Gorelik
sumber
1
0,1,,9
-3

Pola ini adalah karakteristik dari kecocokan keluarga dan / atau tautan yang salah. Jika Anda memiliki data penularan berlebih maka mungkin Anda harus mempertimbangkan distribusi binomial (jumlah) atau gamma (kontinu) negatif. Anda juga harus merencanakan residu Anda terhadap prediktor linier yang ditransformasikan, bukan prediktor saat menggunakan model linier umum. Untuk mengubah prediktor Poisson, Anda perlu mengambil 2 kali akar kuadrat dari prediktor linier dan plot residu Anda terhadap itu. Residu lebih lanjut tidak boleh hanya residual pearson, coba residu deviance dan resi-resimen yang dikerjakan siswa.

Ryan Barnhart
sumber
3
Mengapa 2 kali akar kuadrat, ketika tautan kanonik keluarga poisson dalam suatu glm adalah log? Bukankah seharusnya exp () dari prediktor linier? Tapi saya tidak melihat apa masalahnya dengan memplot residu terhadap prediktor linier itu sendiri, yang saya pikir adalah apa yang sedang dilakukan di sini - mungkin Anda bisa mengembangkannya.
Peter Ellis
Maukah Anda menjelaskan aspek "pola" apa yang menarik perhatian Anda pada kemungkinan salah spesifikasi model, Ryan? Tampaknya menjadi hal yang halus, tetapi berpotensi wawasan yang penting.
whuber