Sto provando a eseguire un modello di sopravvivenza del nido usando il metodo di esposizione logistica basato su Shaffer, 2004. Ho una serie di parametri e desidero confrontare tutti i possibili modelli e quindi stimare i parametri mediati dal modello usando il restringimento come in Burnham e Anderson, 2002. Tuttavia, sto avendo problemi a capire come stimare gli intervalli di confidenza per i parametri aggiustati per il restringimento.Calcolare gli intervalli di confidenza per i dati medi del modello usando il restringimento in R
È possibile stimare intervalli di confidenza per i parametri mediati dal modello stimati utilizzando il restringimento? Posso facilmente estrarre le stime medie per i parametri mediati dal modello con il restringimento utilizzando model.average $ coef.shrinkage ma non sono chiaro come ottenere gli intervalli di confidenza corrispondenti.
Qualsiasi aiuto è gradito. Attualmente sto lavorando con il pacchetto MuMIn mentre ottengo errori con AICcmodavg riguardo alla funzione di collegamento.
Qui di seguito è una versione semplificata del codice che sto utilizzando:
library(MuMIn)
# Logistical Exposure Link Function
# See Shaffer, T. 2004. A unifying approach to analyzing nest success.
# Auk 121(2): 526-540.
logexp <- function(days = 1)
{
require(MASS)
linkfun <- function(mu) qlogis(mu^(1/days))
linkinv <- function(eta) plogis(eta)^days
mu.eta <- function(eta) days * plogis(eta)^(days-1) *
.Call("logit_mu_eta", eta, PACKAGE = "stats")
valideta <- function(eta) TRUE
link <- paste("logexp(", days, ")", sep="")
structure(list(linkfun = linkfun, linkinv = linkinv,
mu.eta = mu.eta, valideta = valideta, name = link),
class = "link-glm")
}
# randomly generate data
nest.data <- data.frame(egg=rep(1,100), chick=runif(100), exposure=trunc(rnorm(100,113,10)), density=rnorm(100,0,1), height=rnorm(100,0,1))
nest.data$chick[nest.data$chick<=0.5] <- 0
nest.data$chick[nest.data$chick!=0] <- 1
# run global logistic exposure model
glm.logexp <- glm(chick/egg ~ density * height, family=binomial(logexp(days=nest.data$exposure)), data=nest.data)
# evaluate all possible models
model.set <- dredge(glm.logexp)
# model average 95% confidence set and estimate parameters using shrinkage
mod.avg <- model.avg(model.set, beta=TRUE)
(mod.avg$coef.shrinkage)
Tutte le idee su come estrarre/generare i corrispondenti intervalli di confidenza?
Grazie Amy
Questo è un po 'di modellazione davvero cool. Non lo capisco appieno, ma presumo che tu sia consapevole del fatto che mod.avg $ avg.model restituisce gli elementi della configurazione e stai chiedendo delle stime che utilizzano il restringimento, che, se ho capito bene, non lo sono. E l'aiuto per model.avg usa questo per gli elementi della configurazione ma non sono sicuro di cosa stia facendo l'argomento cumsum (peso): confint (model.avg (model.set, cumsum (weight) <= .95)) – MattBagg
più, questa domanda potrebbe ricevere maggiore attenzione in Cross-validated (stats.stackexchange.com), che in realtà ha un tag di restringimento. Nella misura in cui la domanda riguarda il metodo appropriato per stimare gli elementi della configurazione in questo tipo di modello, è più una domanda di statistiche che una domanda di codifica. – MattBagg
Grazie @ mb3041023. L'argomento 'cumsum (weight = x)' limita i modelli inclusi nel modello facendo la media a quelli il cui peso cumulativo è uguale a x. Sfortunatamente 'confint' non usa il restringimento ma ho escogitato un trucco che penso funzioni basato sull'equazione 5 in Lukacs, P.M., Burnham, K.P., Anderson, D.R. (2009). Bias di selezione del modello e paradosso di Freedman. Annali dell'Istituto di statistica matematica, 62 (1), 117-125. Codice incluso in un commento separato. Grazie anche per l'heads-up su Cross-validated. – nzwormgirl