Lewati ke konten utama

Regresi Poisson: Cara Memodelkan Data Hitungan

Pelajari kapan menggunakan regresi Poisson, cara menafsirkan hasil melalui incidence rate ratio, dan menerapkan teknik esensial di R.
· 14 mnt Baca

Jelajahi bersama AI

Saat menganalisis data yang melibatkan penghitungan kejadian — seperti jumlah keluhan pelanggan per hari, pasien masuk rumah sakit per bulan, atau klik situs web per jam — regresi linear biasa sering menghasilkan hasil yang menyesatkan. Data hitungan memiliki karakteristik unik yang memerlukan pendekatan pemodelan khusus.

Regresi Poisson menyediakan metode statistik yang dirancang khusus untuk data hitungan. Tidak seperti regresi linear yang dapat memprediksi nilai negatif, regresi Poisson memastikan prediksi tetap berupa bilangan bulat non-negatif. Ini menjadikannya sangat berharga di bidang apa pun yang penghitungan kejadian menjadi pusat pengambilan keputusan.

Jika Anda baru dalam analisis regresi, kursus Introduction to Regression in R kami menyediakan konsep dasar penting yang Anda perlukan untuk tutorial ini. Bagi Anda yang siap mengeksplorasi keluarga teknik regresi yang lebih luas, Generalized Linear Models in R menawarkan cakupan komprehensif tentang kerangka statistik yang mencakup regresi Poisson.

Memahami Data Hitungan dan Tantangannya

Apa yang membuat data hitungan istimewa

Data hitungan merepresentasikan berapa kali sesuatu terjadi dalam periode atau ruang yang tetap. Contohnya termasuk jumlah klaim asuransi yang diajukan per polis per tahun atau jumlah kecelakaan lalu lintas di sebuah persimpangan per bulan.

Data hitungan memiliki beberapa sifat khas yang membuat regresi linear biasa tidak tepat:

  • Hanya bilangan bulat non-negatif: Hitungan tidak bisa negatif atau pecahan. 
  • Distribusi condong ke kanan: Kebanyakan dataset hitungan menunjukkan banyak nilai rendah dengan sesekali nilai tinggi, menghasilkan ekor kanan yang khas.
  • Varians meningkat seiring mean: Saat rata-rata hitungan semakin tinggi, tingkat variasi biasanya ikut meningkat. 

Mengapa regresi linear gagal

Pertimbangkan memprediksi jumlah keluhan pelanggan berdasarkan faktor seperti kompleksitas produk dan skor kepuasan pelanggan. Regresi linear memperlakukan ini seperti keluaran kontinu, sehingga berpotensi memprediksi nilai yang mustahil seperti -1,5 keluhan atau 14,7 keluhan.

Yang lebih bermasalah, regresi linear mengasumsikan varians konstan di semua tingkat prediksi. Kenyataannya, pekan dengan prediksi hitungan keluhan yang lebih tinggi kemungkinan menunjukkan variasi lebih besar dibandingkan pekan dengan prediksi hitungan rendah. Pola inin, yang disebut heteroskedastisitas, menyebabkan interval kepercayaan dan uji hipotesis yang tidak andal.

Fondasi distribusi Poisson

Regresi Poisson dibangun di atas distribusi probabilitas Poisson, yang secara alami menggambarkan data hitungan. Distribusi Poisson memiliki satu parameter (lambda) yang merepresentasikan baik mean maupun varians dari hitungan. Properti mean-varians yang sama ini, disebut ekuidispersi, adalah asumsi kunci yang perlu kita verifikasi dalam praktik.

Distribusi ini unggul dalam memodelkan kejadian “langka” — tidak selalu jarang, tetapi kejadian di mana setiap kemunculan bersifat independen dan laju kemunculannya relatif konstan dalam kondisi serupa.

Kapan Menggunakan Regresi Poisson

Pertama, mari bahas kondisi ideal di mana regresi Poisson bekerja dengan baik. Lalu, kita bahas penerapannya di dunia nyata. 

Skenario ideal

Regresi Poisson bekerja paling baik saat data Anda memenuhi beberapa kondisi:

  • Kejadian independen: Setiap kejadian tidak memengaruhi yang lain. Satu klaim asuransi tidak membuat klaim lain menjadi lebih mungkin atau kurang mungkin (dengan asumsi tidak ada pola kecurangan).
  • Laju konstan: Dalam kondisi serupa, laju rata-rata kejadian tetap stabil. Kunjungan IGD mungkin bervariasi menurut hari dalam seminggu, tetapi hari Selasa di bulan-bulan serupa seharusnya menunjukkan pola yang konsisten.
  • Kerangka waktu atau ruang yang tepat: Kejadian dihitung dalam periode atau area yang terdefinisi jelas. "Keluhan per bulan" lebih baik daripada "keluhan kadang dihitung harian, kadang mingguan."
  • Tidak ada kelebihan nol yang jelas: Meskipun beberapa nol diharapkan, jika data Anda memiliki jauh lebih banyak nol daripada yang diprediksi distribusi Poisson, Anda mungkin memerlukan model zero-inflated khusus.

Aplikasi umum

Di layanan kesehatan dan epidemiologi, peneliti melacak kasus penyakit lintas wilayah atau periode waktu, dengan penyesuaian populasi. Misalnya, mereka dapat mempelajari bagaimana tingkat vaksinasi memengaruhi infeksi per 100.000 orang.

Di bisnis dan pemasaran, tim menelaah perilaku pelanggan seperti frekuensi pembelian, tiket dukungan, atau keterlibatan. Perusahaan e-commerce sering memodelkan pesanan harian berdasarkan belanja pemasaran, musiman, dan promosi.

Atau berikut contoh umum yang sering disebutkan dengan regresi Poisson: Tim manufaktur memantau laju cacat berdasarkan ukuran batch atau periode inspeksi untuk menangkap masalah kualitas lebih awal dan memperbaiki proses.

Memahami Struktur Model dan Asumsi

Regresi Poisson tidak memodelkan hitungan secara langsung. Alih-alih, ia memodelkan logaritma dari ekspektasi hitungan sebagai kombinasi linear dari prediktor.

Transformasi logaritmik ini memastikan prediksi tetap positif. Secara khusus, fungsi log-link mengubah ekspektasi hitungan ke skala log, sehingga prediksi model untuk rata-rata hitungan tetap sepenuhnya positif. Saat kita membalik transformasi (dengan mengeksponekan), kita memperoleh:

Struktur ini berarti perubahan pada prediktor berdampak multiplikatif pada ekspektasi hitungan. 

Menafsirkan efek multiplikatif

Dalam regresi linear, kenaikan satu unit pada prediktor menambah jumlah konstan pada keluaran. Dalam regresi Poisson, kenaikan satu unit pada prediktor mengalikan ekspektasi hitungan dengan faktor konstan.

Sebagai contoh, jika koefisien untuk "belanja pemasaran" adalah 0,1, maka setiap tambahan satu dolar belanja pemasaran mengalikan ekspektasi jumlah pelanggan sebesar e^0,1 ≈ 1,105, yang merepresentasikan kenaikan sekitar 10,5%.

Walau tampak lebih rumit, karakteristik ini bisa intuitif untuk aplikasi bisnis, karena kita sering berpikir dalam perubahan persentase dan efek relatif.

Asumsi kunci yang perlu diverifikasi

Seperti model apa pun, ada beberapa asumsi yang perlu kita perhatikan: 

  • Independensi: Observasi tidak boleh saling memengaruhi. Jika Anda menganalisis hitungan harian dari waktu ke waktu, pola temporal yang kuat mungkin menunjukkan ketergantungan yang memerlukan pemodelan lebih canggih.
  • Ekuidispersi: Varians sebaiknya kira-kira sama dengan mean. Hitung rasio ini untuk data Anda — nilai jauh lebih besar dari 1 menunjukkan overdispersion yang perlu ditangani.
  • Bentuk fungsional yang benar: Hubungan antara prediktor dan log-hitungan sebaiknya kira-kira linear. Hubungan non-linear mungkin memerlukan suku polinomial atau transformasi.
  • Tidak ada pencilan berat: Nilai hitungan ekstrem dapat secara tidak proporsional memengaruhi hasil. Selidiki apakah pencilan merepresentasikan kesalahan data atau kejadian ekstrem yang nyata.

Bekerja dengan Pajanan dan Offset

Memahami variabel pajanan

Banyak dataset hitungan melibatkan tingkat pajanan yang berbeda — periode waktu, ukuran populasi, atau intensitas observasi yang bervariasi. Misalnya, membandingkan hitungan kecelakaan antar kota memerlukan penyesuaian perbedaan populasi, atau membandingkan angka penjualan bulanan memerlukan catatan bahwa beberapa bulan memiliki jumlah hari berbeda.

Variabel pajanan merepresentasikan “penyebut” yang membuat hitungan dapat dibandingkan. Tanpa penyesuaian yang tepat, kota yang lebih besar secara sepele akan memiliki lebih banyak kecelakaan, dan bulan yang lebih panjang akan memiliki penjualan lebih tinggi, yang berpotensi menutupi hubungan sebenarnya yang ingin Anda pelajari.

Menerapkan offset

Offset memberikan cara untuk memasukkan variabel pajanan dengan koefisien yang dipatok pada 1. Alih-alih memodelkan hitungan mentah, offset memungkinkan Anda memodelkan laju sambil mempertahankan struktur hitungan dari data Anda.

Bentuk matematisnya menjadi:

Menyusun ulang persamaan ini:

Ini menunjukkan bahwa Anda secara efektif memodelkan log-laju, dengan laju = hitungan/pajanan.

Kapan cara pikir ini berguna

  • Laju penyakit dengan penyesuaian populasi: Saat membandingkan jumlah kasus COVID-19 antar county, sertakan log(population) sebagai offset. Dengan demikian, koefisien merepresentasikan efek pada kasus per orang, bukan total kasus.
  • Metrik bisnis dengan penyesuaian waktu: Jika menganalisis penjualan bulanan dengan beberapa bulan memiliki periode promosi berbeda, sertakan log(promotional_days) sebagai offset untuk mempelajari penjualan per hari promosi.
  • Data lingkungan dengan penyesuaian area: Saat menghitung penampakan spesies di berbagai petak habitat, sertakan log(area_surveyed) sebagai offset untuk memodelkan kepadatan spesies alih-alih hitungan mentah.

Offset memastikan bahwa menggandakan pajanan akan menggandakan ekspektasi hitungan (dengan asumsi faktor lain tetap), yang merupakan hubungan alami untuk fenomena berbasis laju.

Menafsirkan Koefisien dan Hasil

Dari koefisien ke incidence rate ratio

Koefisien regresi Poisson mentah merepresentasikan perubahan pada log-hitungan, yang bisa sulit ditafsirkan secara langsung. Mengeksponekan koefisien mengubahnya menjadi incidence rate ratio (IRR), yang memiliki interpretasi intuitif.

IRR merepresentasikan perubahan multiplikatif pada ekspektasi hitungan untuk kenaikan satu unit pada prediktor:

  • IRR = 1,0: Tidak ada efek (prediktor tidak mengubah laju)
  • IRR = 1,2: Kenaikan laju 20%
  • IRR = 0,8: Penurunan laju 20%
  • IRR = 2,0: Kenaikan 100% (melipatgandakan laju)

Menafsirkan berbagai jenis prediktor

  • Prediktor kontinu: Jika usia memiliki IRR 1,03, setiap tambahan satu tahun mengalikan ekspektasi hitungan sebesar 1,03, yaitu kenaikan 3%. Untuk selisih usia 10 tahun, efeknya adalah 1,03^10 ≈ 1,34, atau sekitar 34%.
  • Prediktor biner: Jika gender (laki-laki vs perempuan) memiliki IRR 1,5, laki-laki memiliki laju keluaran 1,5 kali dibandingkan perempuan, yaitu 50% lebih tinggi.
  • Prediktor kategorikal: Dengan banyak kategori, setiap level dibandingkan dengan kategori acuan. Jika “musim dingin” memiliki IRR 0,7 dibandingkan “musim panas”, bulan-bulan musim dingin menunjukkan 30% lebih sedikit kejadian daripada musim panas.

Memahami interval kepercayaan

Interval kepercayaan IRR memberikan estimasi ketidakpastian di sekitar rasio laju Anda. IRR 1,25 dengan interval kepercayaan 95% [1,10, 1,42] menyiratkan Anda cukup yakin bahwa efek sebenarnya merepresentasikan kenaikan laju antara 10% dan 42%.

Jika interval kepercayaan mencakup 1,0, efeknya mungkin tidak signifikan secara statistik. Misalnya, IRR 1,15 dengan IK [0,95, 1,39] menyiratkan prediktor mungkin tidak memiliki efek.

Strategi komunikasi praktis

Saat menyajikan hasil kepada audiens non-teknis, fokuskan pada perubahan persentase alih-alih rasio. Alih-alih mengatakan "IRR-nya 1,3," katakan "faktor ini terkait dengan kenaikan 30% pada laju kejadian."

Berikan contoh konkret: "Berdasarkan model kami, peningkatan belanja pemasaran sebesar $1000 terkait dengan sekitar 15% lebih banyak akuisisi pelanggan, dari rata-rata 20 menjadi sekitar 23 pelanggan per bulan."

Menerapkan Regresi Poisson di R

Setelah memahami detail interpretasi, mari kita terapkan di R.

Persiapan dan eksplorasi data

Sebelum memfitting model apa pun, periksa data hitungan Anda dengan cermat. Mulailah dengan memuat pustaka yang diperlukan dan mengeksplorasi distribusi:

library(ggplot2)
library(dplyr)

# Example: Website daily visitor counts
data <- data.frame(
  visitors = c(42, 48, 39, 52, 44, 58, 51, 47, 41, 49, 40, 46, 43, 54, 50),
  day_of_week = factor(c("Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun",
                        "Mon", "Tue", "Wed", "Thu", "Fri", "Sat", "Sun", "Mon")),
  marketing_spend = c(200, 150, 180, 250, 220, 400, 350, 300, 160, 190,
                     140, 210, 380, 420, 170),
  temperature = c(22, 25, 19, 24, 26, 28, 30, 27, 21, 23, 18, 25, 29, 31, 20)
)

# Check mean vs variance (should be similar for Poisson)
mean(data$visitors)
var(data$visitors)
var(data$visitors) / mean(data$visitors) # Should be close to 1

# Visualize the distribution
ggplot(data, aes(x = visitors)) +
  geom_histogram(bins = 8, fill = "lightblue", color = "black") +
  labs(title = "Distribution of Daily Visitors",
       x = "Number of Visitors", y = "Frequency")
> mean(data$visitors)
[1] 46.93333
> var(data$visitors)
[1] 30.35238
> var(data$visitors) / mean(data$visitors)
[1] 0.6467127

Rasio varians terhadap mean sebesar 0,65 cukup dekat dengan 1, menunjukkan data kita cocok untuk regresi Poisson. Meskipun tidak persis sama, rasio antara 0,5 dan 1,5 umumnya dapat diterima dan menyiratkan distribusi Poisson menjadi landasan yang baik untuk memodelkan data hitungan ini.

Histogram of daily visitor counts

Distribusi pengunjung situs harian. Gambar oleh Penulis.

Histogram menunjukkan distribusi hitungan pengunjung yang kira-kira simetris berpusat di sekitar 47 pengunjung per hari, dengan nilai berkisar sekitar 39 hingga 58. Pola distribusi ini konsisten dengan data hitungan yang dapat dimodelkan secara efektif menggunakan regresi Poisson.

Memfitting model

Fungsi glm() dengan family = poisson memfitting model regresi Poisson:

# Basic Poisson regression
model <- glm(visitors ~ day_of_week + marketing_spend + temperature,
             family = poisson, data = data)

# View key model results
summary(model)

# Calculate Incidence Rate Ratios (IRRs)
exp(coefficients(model))

Berikut tabel koefisiennya:

Coefficients:
                 Estimate Std. Error z value Pr(>|z|)    
(Intercept)     3.2978122  0.5556601   5.935 2.94e-09 ***
day_of_weekMon  0.0724036  0.1635467   0.443    0.658    
day_of_weekSat  0.0316265  0.2872878   0.110    0.912    
day_of_weekSun  0.0339621  0.2502578   0.136    0.892    
day_of_weekThu  0.1068756  0.1870821   0.571    0.568    
day_of_weekTue  0.0442967  0.1633032   0.271    0.786    
day_of_weekWed  0.0653789  0.1813230   0.361    0.718    
marketing_spend 0.0001593  0.0018211   0.087    0.930    
temperature     0.0186099  0.0317682   0.586    0.558

Berikut incidence rate ratio (IRR)-nya:

(Intercept)  day_of_weekMon  day_of_weekSat  day_of_weekSun  day_of_weekThu  day_of_weekTue  day_of_weekWed marketing_spend 
27.053386        1.075089        1.032132        1.034545        1.112796        1.045292        1.067563        1.000159 
temperature 
1.018784 

Koefisien menunjukkan efek pada skala log, tetapi IRR memberikan interpretasi yang lebih intuitif. Misalnya, Kamis (day_of_weekThu) memiliki IRR 1,11, menyiratkan sekitar 11% lebih banyak pengunjung dibandingkan Jumat (kategori acuan). Belanja pemasaran memiliki IRR 1,0002, menunjukkan setiap tambahan satu dolar meningkatkan ekspektasi pengunjung sekitar 0,02%.

Perhatikan bahwa jika kita menghitung interval kepercayaan untuk IRR ini, banyak yang akan mencakup 1,0, menyiratkan efeknya tidak signifikan secara statistik pada sampel kecil ini. Ini umum pada dataset kecil dan menunjukkan mengapa ukuran sampel itu penting.

Menyertakan pajanan dengan offset

Jika data Anda memiliki periode pajanan yang bervariasi, sertakan sebagai offset:

# Example with exposure data
data$exposure_days <- c(rep(7, 10), rep(6, 5))  # Some weeks had 6 observation days

# Model with offset
model_offset <- glm(visitors ~ day_of_week + marketing_spend + temperature + 
                   offset(log(exposure_days)), 
                   family = poisson, data = data)

summary(model_offset)
Call:
glm(formula = visitors ~ day_of_week + marketing_spend + temperature + 
    offset(log(exposure_days)), family = poisson, data = data)

Coefficients:
                  Estimate Std. Error z value Pr(>|z|)   
(Intercept)      1.734e+00  5.579e-01   3.109  0.00188 **
day_of_weekMon   2.371e-02  1.637e-01   0.145  0.88485   
day_of_weekSat   9.873e-02  2.898e-01   0.341  0.73338   
day_of_weekSun   1.208e-01  2.472e-01   0.489  0.62513   
day_of_weekThu   5.642e-02  1.871e-01   0.302  0.76297   
day_of_weekTue  -6.713e-02  1.634e-01  -0.411  0.68128   
day_of_weekWed  -6.073e-02  1.825e-01  -0.333  0.73934   
marketing_spend -4.231e-05  1.823e-03  -0.023  0.98149   
temperature      8.210e-03  3.179e-02   0.258  0.79623

Perhatikan bagaimana koefisien berubah drastis saat kita menyertakan offset. Intersep turun dari 3,30 menjadi 1,73, dan semua efek lain menjadi lebih kecil. Transformasi ini terjadi karena kita kini memodelkan laju per hari, bukan total hitungan selama periode yang bervariasi.

Offset memastikan perbandingan yang adil dengan menyesuaikan perbedaan lama pajanan. Tanpa penyesuaian ini, periode dengan lebih banyak hari observasi akan tampak secara artifisial memiliki hitungan pengunjung lebih tinggi, yang berpotensi menutupi hubungan sebenarnya yang ingin kita pelajari. Kini model menjawab “Berapa laju pengunjung harian?” alih-alih “Berapa total pengunjung yang terjadi?”

Membuat prediksi

Hasilkan prediksi untuk skenario baru:

# Create new data for prediction
new_data <- data.frame(
  day_of_week = factor("Fri", levels = levels(data$day_of_week)),
  marketing_spend = 300,
  temperature = 25
)

# Predict expected counts
predicted_counts <- predict(model, newdata = new_data, type = "response")
print(paste("Expected visitors:", round(predicted_counts, 1)))
[1] "Expected visitors: 45.2"

Model memprediksi 45,2 pengunjung untuk hari Jumat dengan belanja pemasaran $300 dan suhu 25°C. Prediksi ini berada dalam kisaran wajar dari data yang kita amati (39–58 pengunjung) dan mendekati rata-rata keseluruhan 46,9 pengunjung.

Regresi Poisson secara alami memastikan prediksi tetap bilangan bulat positif saat dibulatkan, tidak seperti regresi linear yang bisa menghasilkan nilai negatif yang mustahil. Parameter type = "response" mengembalikan prediksi pada skala hitungan asli, bukan skala log yang digunakan secara internal oleh model.

Diagnostik Model Esensial

Memeriksa overdispersion

Overdispersion terjadi ketika varians melebihi mean, melanggar asumsi kunci Poisson:

# Calculate dispersion statistic
residual_deviance <- model$deviance
df_residual <- model$df.residual
dispersion <- residual_deviance / df_residual

print(paste("Dispersion statistic:", round(dispersion, 3)))

if (dispersion > 1.5) {
  print("Possible overdispersion detected")
  print("Consider quasi-Poisson or negative binomial models")
}
[1] "Dispersion statistic: 0.849"

Statistik dispersi sebesar 0,849 dekat dengan 1, menunjukkan model kita sesuai dengan data tanpa overdispersion yang signifikan. Nilai yang dekat 1 menyiratkan asumsi Poisson tentang mean dan varians yang sama masuk akal untuk dataset ini.

Karena statistiknya di bawah 1,5, tidak muncul pesan peringatan, menegaskan bahwa regresi Poisson standar sesuai. Jika nilainya jauh lebih besar dari 1 (biasanya di atas 1,5), kita perlu mempertimbangkan model quasi-Poisson atau negative binomial untuk menangani variasi ekstra.

Analisis residual

Periksa residual untuk mendeteksi pola atau pelanggaran model:

# Calculate Pearson residuals
fitted_values <- fitted(model)
pearson_residuals <- residuals(model, type = "pearson")

# Plot residuals vs fitted values
plot(fitted_values, pearson_residuals,
     xlab = "Fitted Values", ylab = "Pearson Residuals",
     main = "Residuals vs Fitted")
abline(h = 0, col = "red", lty = 2)

Alt Text: Scatter plot of Pearson residuals vs fitted values

Plot residual menunjukkan sebaran acak di sekitar nol. Gambar oleh Penulis.

Plot residual menunjukkan titik-titik tersebar acak di sekitar garis nol tanpa pola jelas, menandakan model kita sesuai dengan data. Residual berkisar kira-kira dari -1 hingga +1, yang wajar untuk ukuran sampel ini.

Plot residual yang baik seharusnya menunjukkan: sebaran acak di sekitar nol (tidak ada pola melengkung), sebaran yang kira-kira konstan di seluruh nilai fitted (tidak berbentuk corong), dan tidak ada pencilan ekstrem. Plot ini memenuhi semua kriteria tersebut, menegaskan bahwa asumsi regresi Poisson terpenuhi dan model kita memberikan hasil yang andal.

Menangani overdispersion

Jika overdispersion terdeteksi, pertimbangkan model quasi-Poisson yang menyesuaikan galat baku:

# Fit quasi-Poisson model
quasi_model <- glm(visitors ~ day_of_week + marketing_spend + temperature, 
                   family = quasipoisson, data = data)

Karena model kita menunjukkan dispersi yang baik (0,849), penyesuaian quasi-Poisson tidak diperlukan di sini. Namun, pendekatan ini memberikan interval kepercayaan dan p-value yang lebih konservatif saat varians melebihi mean, sehingga menjadi alat berharga untuk data hitungan di dunia nyata yang sering menunjukkan overdispersion.

Menyajikan dan Menafsirkan Hasil

Membuat ringkasan hasil yang jelas

Ubah keluaran model menjadi wawasan yang relevan bagi bisnis dengan menyoroti makna praktis dari IRR Anda. Ketika model menunjukkan hari akhir pekan memiliki IRR 1,4 dibandingkan hari kerja, komunikasikan sebagai "akhir pekan melihat sekitar 40% lebih banyak pengunjung daripada hari kerja." Saat belanja pemasaran memiliki IRR 1,002, jelaskan bahwa "setiap tambahan satu dolar pada pemasaran terkait dengan sekitar 0,2% peningkatan pengunjung."

Untuk variabel kontinu, pertimbangkan menyajikan efek pada interval yang bermakna. Alih-alih membahas efek perubahan suhu satu derajat, tunjukkan dampak perbedaan 10 derajat, yang mungkin lebih relevan untuk perencanaan bisnis.

Memahami keterbatasan model

Regresi Poisson mengidentifikasi asosiasi, bukan hubungan kausal. Asosiasi kuat antara belanja pemasaran dan hitungan pengunjung tidak membuktikan bahwa pemasaran menyebabkan peningkatan tersebut. Faktor lain mungkin memengaruhi kedua variabel. Akui keterbatasan ini saat menyajikan hasil.

Model mengasumsikan laju tetap konstan untuk nilai-nilai prediktor tertentu. Jika bisnis Anda memiliki tren musiman yang tidak tertangkap oleh variabel Anda, atau jika hubungan antara prediktor dan keluaran berubah seiring waktu, model Anda mungkin tidak terumumkan dengan baik ke periode mendatang.

Tantangan Umum dan Solusinya

Menangani hitungan nol

Data hitungan sering mengandung nol, yang sepenuhnya valid dalam regresi Poisson. Namun, jika data Anda memiliki nol jauh lebih banyak daripada yang diprediksi distribusi Poisson, ini mungkin menunjukkan proses pembangkitan data yang berbeda. Beberapa observasi mungkin merepresentasikan periode atau kondisi di mana kejadian tersebut memang tidak dapat terjadi, bukan periode di mana kejadian bisa terjadi tetapi tidak terjadi.

Sebagai contoh, hitungan pengunjung situs web mungkin mencakup nol pada hari-hari ketika situs tidak dapat diakses karena pemeliharaan. "Nol struktural" ini berbeda dari "nol acak" yang terjadi secara alami dalam proses Poisson.

Strategi pembangunan model

Mulailah dengan prediktor paling penting berdasarkan pengetahuan domain. Tambahkan variabel satu per satu dan nilai apakah variabel tersebut meningkatkan pemahaman Anda terhadap data. Model yang lebih kompleks tidak selalu lebih baik.

Perhatikan signifikansi praktis dari efek, bukan hanya signifikansi statistik. Perubahan laju kejadian 1% yang signifikan secara statistik mungkin tidak membenarkan tindakan bisnis, sementara perubahan 20% yang nyaris tidak signifikan mungkin tetap layak diselidiki dengan lebih banyak data.

Menangani pelanggaran

Ketika ekuidispersi gagal (varians jauh lebih besar daripada mean), regresi quasi-Poisson memberikan solusi sederhana. Ia mempertahankan struktur model yang sama tetapi menyesuaikan galat baku untuk menangani variasi ekstra. Ini menghasilkan interval kepercayaan dan p-value yang lebih konservatif.

Untuk overdispersion yang parah, regresi negative binomial secara eksplisit memodelkan variasi tambahan. Pendekatan ini mengestimasi baik hubungan mean maupun variabilitas tambahan.

Praktik Terbaik dan Rekomendasi

Menghindari kesalahan umum

Jangan abaikan overdispersion — ini adalah salah satu pelanggaran paling umum terhadap asumsi Poisson dan dapat sangat memengaruhi kesimpulan Anda. Selalu periksa rasio varians terhadap mean dan pertimbangkan alternatif jika perlu.

Berhati-hatilah mengekstrapolasi di luar rentang data Anda. Jika data belanja pemasaran Anda berkisar dari $100 hingga $1000, jangan dengan yakin memprediksi efek untuk tingkat belanja $5000. Hubungan tersebut mungkin tidak tetap log-linear pada nilai ekstrem.

Hindari memperlakukan semua prediktor kategorikal seolah memiliki jarak yang sama antar level. Kategori pendidikan (SMA, sebagian kuliah, lulusan perguruan tinggi) mungkin tidak memiliki efek yang setara pada variabel keluaran Anda.

Dokumentasi dan alur kerja

Dokumentasikan keputusan pemodelan Anda, terutama pelanggaran asumsi dan bagaimana Anda menanganinya. Jika Anda menemukan overdispersion tetapi memilih penyesuaian quasi-Poisson, catat keputusan ini dan implikasinya bagi interpretasi.

Kesimpulan

Regresi Poisson menyediakan kerangka kerja yang efektif untuk menganalisis data hitungan di banyak domain. Saat Anda menerapkan teknik ini pada data Anda sendiri, mulailah dari model sederhana dan tingkatkan kompleksitas secara bertahap berdasarkan bukti statistik dan keahlian domain. Ketika asumsi dilanggar, ekstensi seperti quasi-Poisson atau negative binomial menawarkan alternatif yang baik. Tujuannya bukan sekadar signifikansi statistik, melainkan wawasan praktis yang mendorong keputusan yang lebih baik.

Jika Anda ingin memperdalam keahlian regresi, kursus Intermediate Regression in R kami membahas teknik diagnostik lanjutan dan strategi pemodelan yang melengkapi keterampilan regresi Poisson yang telah Anda pelajari di sini. Generalized Linear Models in R juga merupakan pilihan yang bagus.

Vinod Chugani

Penulis

Vinod Chugani

Vinod Chugani memulai kariernya di Tokyo sebagai Kepala Meja Penjualan Hedge Fund termuda di JPMorgan dan kemudian mencetak rekor penjualan individu di Lehman Brothers, lalu membangun bisnis distribusi elektronik di 30 negara dengan pendapatan melampaui SG$100 juta sebelum beralih ke data. Lulusan Ekonomi Duke dan alumni NYC Data Science Academy, ia menjadi salah satu dari tiga penerima beasiswa dari lebih dari 100 pelamar untuk kursus Building AI Applications oleh Hugo Bowne-Anderson di Maven. Saat ini, ia menulis untuk DataCamp, KDnuggets, Machine Learning Mastery, dan Statology tentang topik mulai dari statistika hingga AI agensial, dan membimbing para profesional data di NYC Data Science Academy dengan lebih dari 1.000 sesi tatap muka atas namanya.

 

FAQ Regresi Poisson

Untuk apa regresi Poisson digunakan?

Regresi Poisson digunakan untuk memodelkan data hitungan — seperti jumlah keluhan pelanggan per hari, kunjungan situs per jam, atau cacat per batch. Model ini dirancang khusus untuk keluaran bilangan bulat non-negatif.

Kapan saya harus menggunakan regresi Poisson alih-alih regresi linear?

Gunakan regresi Poisson saat variabel keluaran Anda merepresentasikan hitungan, hanya berupa bilangan bulat non-negatif, dan menunjukkan distribusi condong ke kanan. Regresi linear dapat memprediksi nilai negatif yang mustahil untuk data hitungan.

Apa itu incidence rate ratio (IRR) dalam regresi Poisson?

IRR adalah koefisien yang dieksponekan yang menunjukkan perubahan multiplikatif pada ekspektasi hitungan untuk kenaikan satu unit pada prediktor. IRR 1,2 berarti kenaikan laju sebesar 20%.

Dapatkah regresi Poisson menangani hitungan nol?

Ya, regresi Poisson secara alami menangani nol. Namun, jika Anda memiliki nol jauh lebih banyak dari yang diharapkan, pertimbangkan model zero-inflated untuk kecocokan yang lebih baik.

Apa itu overdispersion dan bagaimana cara menanganinya?

Overdispersion terjadi ketika varians melebihi mean (rasio > 1,5). Tangani dengan menggunakan regresi quasi-Poisson, yang menyesuaikan galat baku, atau regresi negative binomial untuk kasus yang parah.

Bagaimana cara memeriksa apakah data saya cocok untuk regresi Poisson?

Hitung rasio varians terhadap mean dari variabel hitungan Anda — nilainya sebaiknya dekat 1. Periksa juga independensi observasi dan pastikan Anda memiliki kerangka waktu/ruang yang tepat untuk penghitungan.

Topik

Terkait

blogs

Tutorial Korelasi di R

blogs

Spaghetti Plot dan Jalur Badai

blogs

40 Pertanyaan Wawancara DBMS Teratas di 2026