Specify a model where the outcome is drawn from a normal distribution.
Arguments
- formula
An R formula, specifying the outcome and predictors.
- data
A data frame containing outcome, predictor, and, optionally, weights variables.
- weights
Name of the weights variable, a
1
, or a formula. See below for details.
Details
The model is hierarchical. The means in the normal distribution are described by a prior model formed from dimensions such as age, sex, and time. The terms for these dimension themselves have models, as described in priors. These priors all have defaults, which depend on the type of term (eg an intercept, an age main effect, or an age-time interaction.)
Scaling of outcome and weights
Internally, mod_norm()
scales the outcome variable
to have mean 0 and standard deviation 1, and
scales the weights to have mean 1.
This scaling allows mod_norm()
to use the
same menu of priors as mod_pois()
and mod_binom()
.
augment()
always returns values on the
original scale, rather than the transformed scale.
components()
by default returns values on
the transformed scale. But if original_scale
is
TRUE
, it returns some types of values on the
original scale. See components()
for details.
Specifying weights
The weights
argument can take three forms:
the name of a variable in
data
, with or without quote marks, eg"wt"
orwt
;the number
1
, in which no weights are used; ora formula, which is evaluated with
data
as its environment (see below for example).
Mathematical details
The likelihood is
$$y_i \sim \text{N}(\gamma_i, w_i^{-1} \sigma^2)$$ where
subscript \(i\) identifies some combination of the classifying variables, such as age, sex, and time,
\(y_i\) is the value of the outcome variable,
\(w_i\) is a weight.
In some applications, \(w_i\) is set to 1 for all \(i\).
Internally, bage works with standardized versions of \(\gamma_i\) and \(\sigma^2\):
$$\mu_i = (\gamma_i - \bar{y}) / s$$ $$\xi^2 = \sigma^2 / (\bar{w} s^2)$$ where $$\bar{y} = \sum_{i=1}^n y_i / n$$ $$s = \sqrt{\sum_{i=1}^n (y_i - \bar{y})^2 / (n-1)}$$ $$\bar{w} = \sum_{i=1}^n w_i / n$$
Mean parameter \(\mu_i\) is modelled as the sum of terms formed from classifying variables and covariates,
$$\mu_i = \sum_{m=0}^{M} \beta_{j_i^m}^{(m)}$$
where
\(\beta^{0}\) is an intercept;
\(\beta^{(m)}\), \(m = 1, \dots, M\), is a main effect or interaction; and
\(j_i^m\) is the element of \(\beta^{(m)}\) associated with cell \(i\),
The \(\beta^{(m)}\) are given priors, as described in priors.
The prior for \(\xi\) is described in set_disp()
.
The model for \(\mu_i\)
can also include covariates,
as described in set_covariates()
.
See also
mod_pois()
Specify Poisson modelmod_binom()
Specify binomial modelset_prior()
Specify non-default prior for termset_disp()
Specify non-default prior for standard deviationfit()
Fit a modelaugment()
Extract values for rates, means, or probabilities, together with original datacomponents()
Extract values for hyper-parametersforecast()
Forecast a modelreport_sim()
Do a simulation studyreplicate_data()
Generate replicate data for a modelMathematical Details vignette
Examples
mod <- mod_norm(value ~ diag:age + year,
data = nld_expenditure,
weights = 1)
## use formula to specify weights
mod <- mod_norm(value ~ diag:age + year,
data = nld_expenditure,
weights = ~sqrt(value))