Hello, I also need some helps in estimating the CI of SIF. I'm using the "psiBA" parameterization, and calculating SIF through this formula (Richmond et al. 2010) as well:
SIF = (PsiA*PsiBA) / PsiA * (PsiA*PsiBA + (1 - PsiA) * PsiBa)
jhines wrote:If you have the model SIF's and variances, from each model (should be in the model$derived object), you can compute the model-averaged SIF and std.error as:
- Code: Select all
ma.SIF = sum(wgt * sif)
ma.SIF.var = sum(wgt * sif.var) + sum(wgt*(sif - ma.sif)^2)
ma.SIF.se = sqrt(ma.SIF.var)
The variance is the sum of the within model variances, sif.var, and the between model variances, (sif-ma.sif)^2.
wgt is a vector of model weights
sif is a vector of SIF estimates for each model
sif.var is a vector of var(SIF) for each model
The formula you provided to calculate model-averaged SIF really helps. However, I am not sure if I understand the sif.var correctly.
- Code: Select all
fit <- occMod(model=list(psi ~ SP*elevation+INT*roaddensity,
p ~ SP+INT_o+INT_d+SP:INT_o),
data = dog_mongoose.pao, type="so.2sp.1", parameterization="PsiBA")
psiBa <- as.vector(fit$real$psi$psiBa[,1])
psiBA <- as.vector(fit$real$psi$psiBA[,1])
psiA <- as.vector(fit$real$psi$psiA[,1])
#a vector containing SIF for each camera
SIF = (psiA*psiBA) / psiA * (psiA*psiBA + (1 - psiA) * psiBa)
sif.var = var(SIF)
sif.se = sqrt(sif.var)
sif = mean(SIF) # sif for this model
mean(SIF+1.96*sif.se) # upper CI
mean(SIF-1.96*sif.se) # lower CI
The fit$derived output only contains psiA, psiB, psiAB, nu, and phi. I can not find psiBa in the output, so I store the psiBa for each camera as "as.vector(fit$real$psi$psiBa[,1])" instead.
I first calculate the SIFs for every camera (the vector "SIF"), and I regard the variance within the vector SIF as sif.var of this model. Is that correct?

Thank you for reading!