Her zamanki gibi:
p <- predict(mod, newdata, type = "link", se.fit = TRUE)
Ardından , içindeki gözlemler için tahminlerde standart hatalar p
içeren bir bileşen içerdiğini unutmayın . Daha sonra SE'yi istediğiniz seviyeye uygun bir değerle çarparak CI oluşturabilirsiniz. Örneğin, yaklaşık% 95'lik bir güven aralığı şu şekilde oluşturulur:$se.fit
newdata
upr <- p$fit + (2 * p$se.fit)
lwr <- p$fit - (2 * p$se.fit)
İhtiyacınız olan aralık için veya Gauss dağılımından uygun bir değerde ikame edersiniz.t
type = "link"
Bir GAM'ınız veya sadece bir AM'niz varsa söylemediğiniz gibi kullandığımı unutmayın . GAM'de, doğrusal tahmin edicinin ölçeğinde güven aralığını oluşturmanız ve ardından bağlantı işlevinin tersini uygulayarak bunu yanıt ölçeğine dönüştürmeniz gerekir:
upr <- mod$family$linkinv(upr)
lwr <- mod$family$linkinv(lwr)
Şimdi bunların çok yakın aralıklar olduğunu unutmayın. Buna ek olarak bu aralıklar nokta-bilge öngörülen değerlerin üzerinde olan ve onlar dikkate pürüzsüzlük seçimi yapıldı gerçeğini almazlar.
Eşzamanlı bir güven aralığı, parametrelerin posterior dağılımından simülasyon yoluyla hesaplanabilir. Blogumda bunun bir örneği var .
Düzgünleştirme parametrelerine (yani, bilmediğimiz, ancak pürüzsüzlük parametrelerinin değerlerini tahmin ettiğimiz dikkate alan) bir güven aralığı istiyorsanız unconditional = TRUE
, predict()
aramaya ekleyin .
Eğer bu notu kendiniz yapmak istemiyorsanız Ayrıca yeni sürümleri bu mgcv bir var plot.gam()
döner tüm verilerle bir nesne yumuşatır ve bunların güven aralıklarının araziler oluşturmak için kullanılan bu işlevi. Çıktıyı yalnızca plot.gam()
bir nesneden kaydedebilirsiniz
obj <- plot(model, ....)
ve sonra obj
her bir pürüzsüz için bir bileşen içeren bir liste olan inceleyin . Düzgünlük parametresine bağlı olmayan güven aralıkları almak seWithMean = TRUE
için plot()
çağrıyı ekleyin .