Poisson regresyonları için iyi bir görselleştirme nedir?


11

Kod kusurları yakınlık gibi kod karmaşıklığı metrikleri ile ilişkilendirmek istiyorum. Yaygın bir model, bunu, kodlamanın ne kadar zaman harcandığı ve yoğunluğun kod karmaşıklığının bir fonksiyonu olduğu bir Poisson süreci olarak görmektir. Regresyon yapabilir ve önem değerleri vb. Edinebilirim.

Ancak, sonuçları görselleştirmek benim için zor (ve daha az matematik eğilimli meslektaşlarım için daha da zor). Doğrusal bir eğilim ise, aykırı değerlere bakmak için bunu görüntülemenin iyi bir yolu var mı? (R paketlerine bağlantılar takdir edilmektedir.)

Örneğin, sadece planlayabilirim Defects / Time ~ Complexityama bu oldukça gürültülü ve Defectsayrık ve çok küçük olduğundan, eğilimi görmek zor. Düşündüğüm bir şey, verileri kantillere dilimleyip daha sonra kantil başına bir regresyon yapabileceğim ve ortaya çıkan yoğunlukları çizebileceğimden - bunun ne kadar geçerli olduğundan emin değilim, özellikle de verilerim normal olarak dağıtılmadığı için insanları bir kantilin ne olduğu konusunda yanıltır.

Yanıtlar:


6

Modele uyduktan sonra, tahmin edilen hataları neden onlar için anlamlı olan standart teknikleri kullanarak diğerleriyle karşılaştırmak için bir değişken olarak kullanmıyorsunuz? Sürekli değişken olma avantajına sahiptir, böylece küçük farkları bile görebilirsiniz. Örneğin, insanlar her ikisi de bire yuvarlansa bile, beklenen 1.4 ve 0.6 hata sayısı arasındaki farkı anlayacaklardır.

Öngörülen değerin iki değişkene nasıl bağlı olduğuna dair bir örnek için, iki ekseni ve renk ve konturları öngörülen kusurları göstermek için kontur zaman çizelgesi v. Karmaşıklığı yapabilirsiniz; ve gerçek veri noktalarını üst üste getirin.

Aşağıdaki çizimde biraz parlatma ve efsane gerekiyor, ancak bir başlangıç ​​noktası olabilir.

resim açıklamasını buraya girin

Bir alternatif, geleneksel Gauss yanıt regresyonundan daha tanıdık olan eklenen değişken grafik veya kısmi regresyon grafiğidir. Bunlar araba kütüphanesinde uygulanır. Etkili bir şekilde, açıklayıcı değişkenlerin geri kalanı hem yanıt hem de açıklayıcı değişkenlerin katkısı kaldırıldıktan sonra, açıklayıcı değişkenlerden biri ve kalan açıklayıcı değişkenlerden biri arasındaki ilişkiyi gösterin. Deneyimlerime göre, istatistiksel olmayan kitlelerin çoğu bunu takdir etmeyi biraz zor buluyor (tabii ki benim zayıf açıklamalarımla olabilir).

resim açıklamasını buraya girin

#--------------------------------------------------------------------
# Simulate some data
n<-200
time <- rexp(n,.01)
complexity <- sample(1:5, n, prob=c(.1,.25,.35,.2,.1), replace=TRUE)
trueMod <- exp(-1 + time*.005 + complexity*.1 + complexity^2*.05)
defects <- rpois(n, trueMod)
cbind(trueMod, defects)


#----------------------------------------------------------------------
# Fit model
model <- glm(defects~time + poly(complexity,2), family=poisson)
# all sorts of diagnostic checks should be done here - not shown


#---------------------------------------------------------------------
# Two variables at once in a contour plot

# create grid
gridded <- data.frame(
    time=seq(from=0, to=max(time)*1.1, length.out=100),
    complexity=seq(from=0, to=max(complexity)*1.1, length.out=100))

# create predicted values (on the original scale)
yhat <- predict(model, newdata=expand.grid(gridded), type="response")

# draw plot
image(gridded$time, gridded$complexity, matrix(yhat,nrow=100, byrow=FALSE),
    xlab="Time", ylab="Complexity", main="Predicted average number of defects shown as colour and contours\n(actual data shown as circles)")
contour(gridded$time, gridded$complexity, matrix(yhat,nrow=100, byrow=FALSE), add=TRUE, levels=c(1,2,4,8,15,20,30,40,50,60,70,80,100))

# Add the original data
symbols(time, complexity, circles=sqrt(defects), add=T, inches=.5)

#--------------------------------------------------------------------
# added variable plots

library(car)
avPlots(model, layout=c(1,3))

2

Böylece sayım veri değişkeni "kusurları" üzerinde bir poisson regresyonu yürütürsünüz ve önemli farklılıkları görselleştirmek istersiniz. Regresyonun koşullu ortalama olduğunu tahmin ederseniz ne yaparsınız , burada kusurlar ve , kod karmaşıklığı gibi .y i x iE[yi|xi]yixi

Bunu görselleştirmenin en kolay yolu, için iki farklı değer almaktır , örn. Yüksek karmaşıklık ve düşük karmaşıklık ve sonra her iki karmaşıklık düzeyi için vb. Ortaya çıkan histogram gibi görünecektir bu farklılıkların güçlü ise, o frekansların histrograms çok farklı (düşük karmaşıklık ve yüksek karmaşıklık için çok sayıda yüksek kusurlar için örneğin birçok sıfır) bakacağız slayt 3.. Bu iki histogramı kaplamanız hoş görünebilir veya tahmini kusurlardaki farkı çizebilirsiniz.y i = 0 , y i = 1xiyi=0,yi=1

Eğer azaltarak hissediyorsanız 2 kategorilerine oversimplification, sen herhangi ayrık kümesi için aynı yapabileceği bir ama tek seferde kitleye, diyelim ki, 4'ten fazla grafikler atmak, bunun iyi bir görsel sunum için yapmaz .x ixixi

Alternatif olarak, sürekli ise, o bağlı olarak bir tahmini sayıyı (örn. Kusurlar = 0) . Belki bu, sonuçlarınızla uyumlu güzel bir monoton işleviyle sonuçlanır.x ixixi

BTW: Verilerinizde de negatif bir binom regresyonu gerçekleştirdiniz mi? Sonuçlar çok mu farklı? Öyleyse, Poisson varsayımınız (koşullu varyansa eşit koşullu ortalama) çok kısıtlayıcı olabilir (bkz. "Aşırı dağılım"). Örneğin, "kusur" değişkeninizde çok sayıda sıfır varsa, durum böyle olabilir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.