Anda di halaman 1dari 14

Model Regresi R - Poisson untuk Data Hitungan

Contoh - Kepiting Horseshoe dan Satelit

Masalah ini mengacu pada data dari studi kepiting tapal kuda bersarang (J. Brockmann, Etologi
1996); lihat juga Agresti (1996) Sec. 4.3 dan Agresti (2002) Sec. 4.3. Setiap kepiting tapal kuda betina
dalam penelitian ini memiliki kepiting jantan yang melekat padanya di sarangnya. Studi ini menyelidiki
faktor-faktor yang mempengaruhi apakah kepiting betina memiliki jantan lain, yang disebut satelit, yang
tinggal di dekatnya. Variabel penjelas yang diduga mempengaruhi ini termasuk warna kepiting betina
( C ), kondisi tulang belakang ( S ), berat ( Wt ), dan lebar karapas ( W). Hasil respons untuk setiap
kepiting betina adalah jumlah satelitnya ( Sa ). Ada 173 wanita dalam penelitian ini. 

Pertama mari kita lihat apakah lebar punggung betina dapat menjelaskan jumlah satelit yang
terpasang. Kita akan mulai dengan memasang model regresi Poisson dengan hanya satu prediktor, lebar
(W) melalui GLM () dalam Program Crab.R :
Di bawah ini adalah bagian dari kode R yang sesuai dengan kode SAS pada halaman sebelumnya untuk
pemasangan model regresi Poisson dengan hanya satu prediktor, lebar karapas (W).
#### Poisson Regresi Sa pada

model W = glm (kepiting $ Sa ~ 1 + kepiting $ W, keluarga = poisson


(tautan = log))
Perhatikan bahwa spesifikasi distribusi Poisson di R adalah " family = poisson " dan " link =
log ". Anda juga bisa mendapatkan jumlah prediksi untuk setiap pengamatan dan nilai-nilai prediktor
linier dari output R dengan menggunakan pernyataan spesifik seperti:
#### untuk mendapatkan hitungan yang diprediksi untuk setiap
pengamatan:
#### mis. untuk pengamatan pertama E (y1)

= 3,810 print = data.frame (kepiting, pred = model $ pas)


cetak

#### perhatikan linear nilai prediktor


#### misalnya, untuk pengamatan pertama, exp (1,3378) = 3,810

model $ linear.predictors
exp (model $ linear.predictors)
Pada output di bawah ini, Anda harus dapat mengidentifikasi bagian-bagian yang relevan:
 Apa yang Anda pelajari dari "ringkasan (model)"? Bagaimana ini berbeda dari ketika kita memasang
model regresi logistik?
 Apakah modelnya pas? Apa yang dikatakan Value / DF kepada Anda?
 Apakah lebar merupakan prediktor yang signifikan?
Berikut hasilnya:
Model yang diperkirakan adalah: l o g ( ^ μ i )lHaig(μsaya^)= -3,30476 + 0,16405W i
ASE yang diperkirakan β = 0,164 adalah 0,01997 yang kecil, dan kemiringannya signifikan secara
statistik mengingat nilai z-nya 8,216 dan nilai- p rendahnya.
Interpretasi : Karena perkiraan β> 0, semakin luas kepiting betina, semakin besar jumlah yang
diharapkan dari satelit jantan pada urutan multiplikasi seperti exp(0,1640) = 1,18. Lebih khusus, untuk
satu unit peningkatan lebar, jumlah Sa akan meningkat dan akan dikalikan dengan 1,18.
Jika kita melihat sebaran plot W vs. Sa (lihat lebih lanjut di bawah), kita dapat mencurigai beberapa
outlier, misalnya pengamatan # 48, # 101 dan # 165. Sebagai contoh, # 165 memiliki W = 33.5, dan Sa =
7. Tetapi dengan mempelajari residu, kita melihat bahwa ini bukan pengamatan yang berpengaruh,
misalnya, residual deviance standar adalah -0.739 dari running rstandard (model) .
                161 162 163 164               165          166 167 168 169 170 
-0.16141380 -0.44808356 0.19325932 0.55048032 -0.73914681 -2.25624217 4.16609739 -
1.81423271 -2.77425867 0.65241355
Anda dapat mempertimbangkan jenis residual lainnya, mempengaruhi ukuran (seperti yang kita lihat
dalam regresi linier), serta plot residual. Perhatikan bahwa ada beberapa poin lain yang memiliki outlier
besar, misalnya, # 101.
Ini adalah bagian dari output dari menjalankan bagian lain dari kode R:
Dari output di atas kita dapat melihat jumlah yang diprediksi ("dipasang") dan nilai-nilai dari prediktor
linier yang merupakan log dari jumlah yang diharapkan. Misalnya, untuk pengamatan pertama, pred =
3,810, linear.predictors = 1.3377, log (pred) =  linear.predictors , yaitu log (3.810)
= 1.3377, atau exp (linear.predictors) = pred , yaitu exp (exp) 1.3377) = 3.810.
Kita juga dapat melihat bahwa meskipun prediktornya signifikan, modelnya tidak cocok. Mengingat nilai
statistik penyimpangan residu dari 567,88 dengan 171 df, nilai-p adalah nol dan Nilai / DF = 567,88 / 171
= 3,321 jauh lebih besar dari 1, sehingga model tidak cocok dengan baik. Kurangnya kesesuaian mungkin
karena data yang hilang, kovariat, atau penyebaran berlebihan.

Mari kita asumsikan untuk saat ini bahwa kita tidak memiliki kovariat lain, dan mencoba untuk
menyesuaikan untuk penyebaran berlebihan untuk melihat apakah kita dapat meningkatkan kecocokan
model.
Ubah Model: Menyesuaikan untuk Overdispersion
Dalam model di atas kami mendeteksi masalah potensial dengan penyebaran berlebihan karena faktor
skala, misalnya, Nilai / DF untuk penyimpangan residu / df, jauh lebih besar dari 1.
Menurut Anda apa arti dari penyebaran berlebihan untuk Regresi Poisson? Apa yang dikatakannya
tentang hubungan antara mean dan varians dari distribusi Poisson untuk jumlah satelit? Ingatlah bahwa
salah satu alasan penyebaran berlebih adalah heterogenitas di mana subjek dalam setiap kombinasi
kovariat masih sangat berbeda (yaitu, bahkan kepiting dengan lebar yang sama akan memiliki jumlah
satelit yang berbeda). Jika demikian, asumsi model Poisson mana yang merupakan model regresi Poisson
dilanggar?
Di bawah ini adalah contoh kode R untuk memperkirakan parameter dispersi. Perhatikan bahwa kami
menentukan " family = quasipossion " dan hanya satu covariate " crab $ W " dalam
pernyataan. Kita juga bisa menggunakan regresi binomial negatif sebagai gantinya; untuk ini
lihat kode Crab.R.
Output dari program R di atas:

Dengan model ini komponen acak tidak memiliki distribusi Poisson lagi di mana respons memiliki mean
dan varians yang sama. Dari estimasi yang diberikan (misalnya, Pearson X 2 /171 = 3,1822), varians dari
komponen acak (respon, jumlah satelit untuk setiap Lebar) adalah sekitar tiga kali ukuran rata-rata.
Kesalahan standar baru (dibandingkan dengan model di mana skala = 1), lebih besar, misalnya, 0,0356 =
1,7839 × 0,02. Dengan demikian statistik Wald X 2 akan lebih kecil, misalnya, 21,22 = 67,21 /
3,1822. Perhatikan bahwa sqrt (3.1822) = 1.7839.
Apa yang bisa menjadi alasan lain untuk kecocokan yang buruk selain penyebaran
berlebihan? Bagaimana kalau tidak ada variabel penjelas lainnya? Bisakah kita meningkatkan kecocokan
dengan menambahkan variabel lain?
Ubah Model: Sertakan 'warna' sebagai Prediktor Kualitatif
Perubahan berikut ini tercermin di bagian kode R ini untuk mencocokkan kode dalam SAS di halaman
sebelumnya (ini jelas tidak perlu dilakukan).
Mari kita bandingkan bagian-bagian dari output ini dengan model yang hanya memiliki "W" sebagai
prediktor. Kami memperkenalkan "variabel dummy" ke dalam model untuk mewakili variabel warna
yang memiliki 4 level dengan level # 4 sebagai level referensi. Kami juga menyesuaikan
untuk penayangan berlebih tetapi dengan menggunakan penyimpangan alih-alih X 2 dengan
opsi quasipoisson , meskipun skala oleh pearson lebih disukai; kami melakukan ini untuk
mendemonstrasikan opsi yang mungkin dalam R dan karena nilainya hampir sama, tidak masalah opsi
mana yang kami gunakan!
Model yang diperkirakan adalah: log^ μ icatatan⁡μsaya^= -3.0974 + 0.1493W + 0.4474 (C = "1") + 0.2477
(C = "2") + 0.0110 (C = "3"). 
Tampaknya tidak ada perbedaan dalam jumlah satelit antara kelas warna apa pun dan level referensi 4
menurut statistik nilai- t untuk setiap baris pada tabel di atas. Selanjutnya, jika Anda menjalankan anova
(model.disp) , dari output di bawah ini kita melihat bahwa warnanya hampir secara keseluruhan
merupakan prediktor signifikan secara statistik setelah kita mempertimbangkan lebarnya.
> anova (model.disp) 
Analisis Deviance Table 

Model: quasipoisson, tautan: log 


Tanggapan: Sa 
Istilah ditambahkan secara berurutan (pertama ke terakhir) 

     Df Deviance Resid. Df Resid. Dev 


NULL 172 632.79 
W 1 64.913 171 567.88 
C1 1 3.130 170 564.75 
C2 1 5.400 169 559.35 
C3 1 0.004 168 559.34

Apakah model ini sesuai dengan data yang lebih baik, dengan dan tanpa penyesuaian untuk penayangan
berlebih?
Ubah Model: Sertakan 'warna' sebagai Prediktor Numerik
Bagian dari kode R ini melakukan perubahan berikut:

Bandingkan bagian-bagian dari output ini dengan output di atas di mana kami menggunakan warna
sebagai prediktor kategori. Kami melakukan ini hanya untuk mengingat bahwa pengkodean yang berbeda
dari variabel yang sama akan memberikan Anda kecocokan dan perkiraan yang berbeda.
Apa model perkiraan sekarang? catatan^ μ icatatan⁡μsaya^ = -2.520 + 0,1496W - 0,1694C.

Karena menambahkan kovariat tidak membantu, overdispersi tampaknya disebabkan oleh


heterogenitas. Apakah ada hal lain yang bisa kita lakukan dengan data ini? Kita dapat (1)
mempertimbangkan metode yang berbeda, misalnya, estimasi area kecil, dll., (2) kolapsnya level variabel
penjelas, atau (3) mentransformasikan variabel.
Pengelompokan data
Mari pertimbangkan pengelompokan data berdasarkan lebar dan pas dengan model regresi
Poisson. Berikut adalah data yang diurutkan oleh W. Kolom berada dalam urutan sebagai berikut:
Lebar, # Satelit, dan # Kumulatif Satelit:
W Sa Cum Sa W Sa Cum Sa W Sa Cum Sa
1 21.0 0 0 25.3 2 103 27.3 1 270
2 22.0 0 0 25.4 6 109 27.4 5 275
3 22.5 0 0 25.4 4 113 27.4 6 281
4 22.5 1 1 25.4 0 113 27.4 3 284
5 22.5 4 5 25.5 0 113 27.5 6 290
6 22.9 4 9 25.5 0 113 27.5 9 299
7 22.9 0 9 25.5 0 113 27.5 1 300
8 22.9 0 9 25.6 0 113 27.5 6 306
9 23.0 1 10 25.6 7 120 27.5 0 306
10 23.0 0 10 25.7 8 128 27.5 3 309
11 23.1 0 10 25.7 5 133 27.6 4 313
12 23.1 0 10 25.7 0 133 27.7 6 319
13 23.1 0 10 25.7 0 133 27.7 5 324
14 23.2 4 14 25.7 0 133 27.8 0 324
15 23.4 0 14 25.7 0 133 27.8 3 327
16 23.5 0 14 25.8 10 143 27.9 7 334
17 23.7 0 14 25.8 0 143 27.9 6 340
18 23.7 0 14 25.8 0 143 28.0 0 340
19 23.7 0 14 25.8 0 143 28.0 1 341
20 23.8 0 14 25.8 3 146 28.0 4 345
21 23.8 0 14 25.8 0 146 28.2 6 351
22 23.8 6 20 25.8 0 146 28.2 8 359
23 23.9 2 22 25.9 4 150 28.2 11 370
24 24.0 0 22 26.0 4 154 28.2 1 371
25 24.0 10 32 26.0 3 157 28.3 8 379
26 24.1 0 32 26.0 14 171 28.3 15 394
27 24.2 0 32 26.0 9 180 28.3 0 394
28 24.2 2 34 26.0 5 185 28.4 3 397
29 24.3 0 34 26.0 3 188 28.4 5 402
30 24.3 0 34 26.1 5 193 28.5 0 402
31 24.5 5 39 26.1 3 196 28.5 1 403
32 24.5 1 40 26.2 0 196 28.5 9 412
33 24.5 1 41 26.2 3 199 28.5 3 415
34 24.5 6 47 26.2 3 202 28.7 0 415
35 24.5 0 47 26.2 0 202 28.7 3 418
36 24.5 0 47 26.2 0 202 28.9 4 422
37 24.5 0 47 26.2 0 202 29.0 1 423
38 24.7 0 47 26.2 2 204 29.0 4 427
39 24.7 5 52 26.2 2 206 29.0 10 437
40 24.7 0 52 26.3 1 207 29.0 3 440
41 24.7 4 56 26.5 1 208 29.0 1 441
42 24.7 4 60 26.5 4 212 29.0 1 442
43 24.8 0 60 26.5 0 212 29.3 4 446
44 24.9 0 60 26.5 0 212 29.3 12 458
45 24.9 6 66 26.5 4 216 29.5 4 462
46 24.9 0 66 26.5 7 223 29.7 5 467
47 25.0 3 69 26.7 5 228 29.8 4 471
48 25.0 2 71 26.7 2 230 30.0 8 479
49 25.0 8 79 26.7 0 230 30.0 9 488
50 25.0 5 84 26.8 5 235 30.0 5 493
51 25.0 6 90 26.8 0 235 30.2 2 495
52 25.0 4 94 26.8 0 235 30.3 3 498
53 25.1 5 99 27.0 3 238 30.5 3 501
54 25.1 0 99 27.0 3 241 31.7 4 505
55 25.2 1 100 27.0 6 247 31.9 2 507
56 25.2 1 101 27.0 6 253 33.5 7 514
57 27.0 0 253
58 27.1 8 261
59 27.1 0 261
60 27.2 5 266
61 27.2 3 269

Plot Jumlah
Satelit
Berdasarkan
Lebar Kepiting
— Semua Data

Plot Jumlah
Satelit Rata-Rata
berdasarkan
Lebar Kepiting
— Lebar
Berbeda
Plot Jumlah
Satelit Rata-Rata
Menurut Lebar -
Lebar
Dikelompokkan

Data telah dikelompokkan menjadi 8 interval, seperti yang ditunjukkan pada data (dikelompokkan) di
bawah ini, dan diplotkan di atas:
Interval NumCases AverWt Aversa SDSa varsa
= 14 22,693 1,0000 23,25 1,6641 2,7692
23,25-24,25 14 23,843 1,4286 2,9798 8,8792
24,25-25,25 28 24,775 2,3929 2,5581 6,5439
25,25-26,25 39 25,838 2,6923 3,3729 11,3765
26,26-27,25 22 26,791 2,8636 2,6240 6,8854
27,25-28,25 24 27,738 3.8750 2.9681 8.8096
28.25-29.25 18 28.667 3.9444 4.1084 16.8790
> 29.25 14 30.407 5.1429 2.8785 8.2858
Perhatikan bahwa "NumCases" adalah jumlah kepiting betina yang termasuk dalam interval tertentu yang
ditentukan dengan lebar punggungnya. "AverWt" adalah lebar belakang rata-rata dalam pengelompokan
itu, "AverSa" adalah jumlah total satelit jantan yang dibagi dengan jumlah kepiting betina di dalam grup,
dan "SDSa" dan "VarSa" adalah standar deviasi yang varians untuk "AverSa".
Ubah Model: Model Nilai Data
Dalam program di bawah ini (lihat bagian terakhir Crab.R ) kami memasukkan data yang dikelompokkan
di atas. Dalam hal ini, setiap pengamatan dalam suatu kategori diperlakukan seolah-olah memiliki lebar
yang sama.
Kami juga membuat variabel lcases = log (kasus) yang mengambil log dari jumlah kasus
(misalnya, kasus merujuk pada jumlah kepiting betina dalam kelompok tertentu). Ini adalah OFFSET
kami yang merupakan nilai penyesuaian 't' dalam model yang mewakili ruang tetap, dalam hal ini grup
(kepiting dengan lebar yang sama). Kami dengan demikian membentuk laju satelit untuk masing-masing
kelompok dengan membaginya dengan masing-masing ukuran kelompok, dan menyesuaikan model
loglinear dengan tingkat kejadian satelit mengingat lebar kepiting. "SaTotal" adalah jumlah total setel
laki-laki yang sesuai dengan masing-masing pengelompokan.
Ini outputnya.

Apakah model sekarang lebih cocok atau lebih buruk dari sebelumnya? Jelas lebih cocok. Misalnya
Nilai / DF untuk statistik penyimpangan residual sekarang adalah 1,0861.
Model yang diperkirakan adalah: l o g ( ^ μ i / t )lHaig(μsaya^/t)= -3.535 + 0.1727 bandwidth i
Saat lebar bertambah, laju kas satelit berubah oleh exp (0,1727).
Kita dapat menulis model estimasi terhadap jumlah diharapkan sebagai: l o g ( ^ μ i )lHaig(μsaya^)= -
3.535 + 0.1727width i + log (t) di mana log (t) adalah log ( kasing ). Misalnya, jika kita ingin menghitung
perkiraan jumlah satelit untuk kelompok kedua kepiting betina, ( ^ μ 1 )(μ1^)= exp (-3.535 +
0.1727x23.84 + log (14)) = 25.06 dibandingkan dengan 20 yang diamati; lihat plot di bawah ini.
Analisis residu menunjukkan kecocokan yang baik juga.

Mari kita bandingkan nilai yang diamati dan dipasang (diprediksi) dalam plot di bawah ini:

Dua pernyataan terakhir dalam R ini digunakan untuk menunjukkan bahwa kita dapat menyesuaikan
model regresi Poisson dengan tautan identitas untuk data rate. Perhatikan bahwa model ini TIDAK cocok
untuk data yang dikelompokkan karena Value / DF untuk statistik deviance residual adalah sekitar
11.649, dibandingkan dengan model sebelumnya.

Anda mungkin juga menyukai