Date: 2026-01-14

# Miscellaneous examples

#### 2026-01-14

## Beta dispersion model

    set.seed(1001)
    N <- 1000
    mean_pars <- c(1,2)
    disp_pars <- c(1,2)
    dd <- data.frame(x=rnorm(N))
    m <- plogis(mean_pars[1]+mean_pars[2]*dd$x)
    d <- exp(disp_pars[1]+disp_pars[2]*dd$x)
    dd$y <- rbeta(N,shape1=m*d,shape2=(1-m)*d)

Fit models:

    ## location only
    m1 <- glmmTMB(y~x,
                  family=beta_family(),
                  data=dd)
    ## add model for dispersion
    m2 <- update(m1,dispformula=~x)

Fixed effects look close to theoretical values:

    fixef(m2)

    ##
    ## Conditional model:
    ## (Intercept)            x
    ##       1.005        2.013
    ##
    ## Dispersion model:
    ## (Intercept)            x
    ##       1.064        1.962

AIC is insanely much better for the model with dispersion varying:

    bbmle::AICtab(m1,m2)

    ##    dAIC   df
    ## m2    0.0 4
    ## m1 1491.6 3