Call nonparboot on an unmarkedFit to obtain non-parametric bootstrap samples. These can then be used by vcov in order to get bootstrap estimates of standard errors.

Methods

signature(object = "unmarkedFit")

Obtain nonparametric bootstrap samples for a general unmarkedFit.

signature(object = "unmarkedFitColExt")

Obtain nonparametric bootstrap samples for colext fits.

signature(object = "unmarkedFitDS")

Obtain nonparametric bootstrap samples for a distsamp fits.

signature(object = "unmarkedFitMPois")

Obtain nonparametric bootstrap samples for a distsamp fits.

signature(object = "unmarkedFitOccu")

Obtain nonparametric bootstrap samples for a occu fits.

signature(object = "unmarkedFitOccuPEN")

Obtain nonparametric bootstrap samples for an occuPEN fit.

signature(object = "unmarkedFitOccuPEN_CV")

Obtain nonparametric bootstrap samples for occuPEN_CV fit.

signature(object = "unmarkedFitOccuRN")

Obtain nonparametric bootstrap samples for a occuRN fits.

signature(object = "unmarkedFitPCount")

Obtain nonparametric bootstrap samples for a pcount fits.

Details

Calling nonparboot on an unmarkedFit returns the original unmarkedFit, with the bootstrap samples added on. Then subsequent calls to vcov with the argument method="nonparboot" will use these bootstrap samples. Additionally, standard errors of derived estimates from either linearComb or backTransform can be instructed to use bootstrap samples by providing the argument method = "nonparboot".

For occu and occuRN both sites and occassions are re-sampled. For all other fitting functions, only sites are re-sampled.

Examples

data(ovendata)
ovenFrame <- unmarkedFrameMPois(ovendata.list$data,
siteCovs=as.data.frame(scale(ovendata.list$covariates[,-1])), type = "removal")
(fm <- multinomPois(~ 1 ~ ufc + trba, ovenFrame))
#> 
#> Call:
#> multinomPois(formula = ~1 ~ ufc + trba, data = ovenFrame)
#> 
#> Abundance:
#>             Estimate    SE      z P(>|z|)
#> (Intercept)    0.102 0.119  0.864   0.388
#> ufc            0.100 0.126  0.794   0.427
#> trba          -0.171 0.135 -1.262   0.207
#> 
#> Detection:
#>  Estimate    SE    z P(>|z|)
#>     0.288 0.233 1.24   0.217
#> 
#> AIC: 326.1387 
fm <- nonparboot(fm, B = 20) # should use larger B in real life.
vcov(fm, method = "hessian")
#>               lambda(Int)   lambda(ufc)  lambda(trba)        p(Int)
#> lambda(Int)   0.014052472 -1.228179e-03  2.364962e-03 -4.323007e-03
#> lambda(ufc)  -0.001228179  1.594197e-02  8.057614e-03 -3.200697e-11
#> lambda(trba)  0.002364962  8.057614e-03  1.831812e-02 -3.459628e-11
#> p(Int)       -0.004323007 -3.200697e-11 -3.459628e-11  5.415986e-02
vcov(fm, method = "nonparboot")
#>               lambda(Int)  lambda(ufc) lambda(trba)        p(Int)
#> lambda(Int)   0.028845631 -0.001084086 0.0049178635 -0.0157796398
#> lambda(ufc)  -0.001084086  0.013770757 0.0110038361 -0.0046697094
#> lambda(trba)  0.004917864  0.011003836 0.0186061311  0.0009194527
#> p(Int)       -0.015779640 -0.004669709 0.0009194527  0.0948140633
avg.abundance <- backTransform(linearComb(fm, type = "state", coefficients = c(1, 0, 0)))

## Bootstrap sample information propagates through to derived quantities.
vcov(avg.abundance, method = "hessian")
#>            [,1]
#> [1,] 0.01724521
vcov(avg.abundance, method = "nonparboot")
#>            [,1]
#> [1,] 0.03539939
SE(avg.abundance, method = "nonparboot")
#> [1] 0.1881473