I am using the brms package to fit a model (brms). However, I am unsure on how to interpret the resulting coefficients/effects. Specifically, on what scale are the coefficients if the link function is a log?
Example from the documentation:
fit1 <- brm(count ~ zAge + zBase * Trt + (1|patient),
data = epilepsy, family = poisson())
#> Family: poisson
#> Links: mu = log
#> Formula: count ~ zAge + zBase * Trt + (1 | patient)
#> Data: epilepsy (Number of observations: 236)
#> Draws: 4 chains, each with iter = 2000; warmup = 1000; thin = 1;
#> total post-warmup draws = 4000
#>
#> Group-Level Effects:
#> ~patient (Number of levels: 59)
#> Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
#> sd(Intercept) 0.58 0.07 0.46 0.73 1.01 768 1579
#>
#> Population-Level Effects:
#> Estimate Est.Error l-95% CI u-95% CI Rhat Bulk_ESS Tail_ESS
#> Intercept 1.77 0.11 1.54 1.99 1.00 753 1511
#> zAge 0.09 0.08 -0.07 0.26 1.00 830 1429
#> zBase 0.70 0.12 0.47 0.95 1.00 678 1389
#> Trt1 -0.26 0.16 -0.59 0.05 1.01 709 1356
#> zBase:Trt1 0.05 0.17 -0.29 0.37 1.01 721 1404
#>
#> Draws were sampled using sampling(NUTS). For each parameter, Bulk_ESS
#> and Tail_ESS are effective sample size measures, and Rhat is the potential
#> scale reduction factor on split chains (at convergence, Rhat = 1).
If I want to represent zAge
on the original scale of the data, should I take exp(zAge)
, or can I directly use zAge
?
The coefficients are on the log scale. Assuming that zAge
is a standardized/Z-scored version of age, zAge
= 0.09 means that an increase of 1 standard deviation in age would lead to an increase of 0.09 log-counts, or approximately a 9% increase in counts, or more precisely an multiplicative increase of exp(0.09)
= 1.094 = a 9.4% increase in counts.