Fisher_info.Rd
Calculates the expected, observed, or average Fisher information matrix from a fitted linear mixed effects model (lmeStruct object) or generalized least squares model (glsStruct object).
Fisher_info(mod, type = "expected", separate_variances = FALSE)
Fitted model of class lmeStruct or glsStruct.
Type of information matrix. One of "expected"
(the
default), "observed"
, or "average"
.
Logical indicating whether to return the Fisher
information matrix for separate level-1 variance components if using
varIdent
function to allow for different variances per stratum.
Default is FALSE
.
Information matrix corresponding to variance component parameters of
mod
.
If separate_variances = TRUE
and if weights = varIdent(form =
~ 1 | Stratum)
is specified in the model fitting, the Fisher information
matrix for separate level-1 variance estimates will be returned. If
separate_variances = TRUE
but if the weighting structure is not
specified with varIdent
, or if separate_variances = FALSE
,
then the Fisher information matrix for the default variance components will
be returned.
library(nlme)
data(Bryant2016)
Bryant2016_RML <- lme(fixed = outcome ~ treatment,
random = ~ 1 | school/case,
correlation = corAR1(0, ~ session | school/case),
data = Bryant2016)
Fisher_info(Bryant2016_RML, type = "expected")
#> Tau.school.var((Intercept))
#> Tau.school.var((Intercept)) 1.322701e-05
#> Tau.case.var((Intercept)) 3.481280e-06
#> cor_params 4.031958e-02
#> sigma_sq 2.034762e-06
#> Tau.case.var((Intercept)) cor_params
#> Tau.school.var((Intercept)) 3.481280e-06 4.031958e-02
#> Tau.case.var((Intercept)) 1.299375e-05 1.510332e-01
#> cor_params 1.510332e-01 2.744557e+05
#> sigma_sq 7.536166e-06 -5.762687e+00
#> sigma_sq
#> Tau.school.var((Intercept)) 2.034762e-06
#> Tau.case.var((Intercept)) 7.536166e-06
#> cor_params -5.762687e+00
#> sigma_sq 1.320509e-04
Fisher_info(Bryant2016_RML, type = "average")
#> Tau.school.var((Intercept))
#> Tau.school.var((Intercept)) 1.528840e-05
#> Tau.case.var((Intercept)) 3.168824e-06
#> cor_params 3.814212e-02
#> sigma_sq 1.829061e-06
#> Tau.case.var((Intercept)) cor_params
#> Tau.school.var((Intercept)) 3.168824e-06 3.814212e-02
#> Tau.case.var((Intercept)) 4.508868e-06 5.930354e-02
#> cor_params 5.930354e-02 2.673951e+05
#> sigma_sq 2.619958e-06 -5.762462e+00
#> sigma_sq
#> Tau.school.var((Intercept)) 1.829061e-06
#> Tau.case.var((Intercept)) 2.619958e-06
#> cor_params -5.762462e+00
#> sigma_sq 1.320715e-04
Bryant2016_RML2 <- lme(fixed = outcome ~ treatment,
random = ~ 1 | school/case,
correlation = corAR1(0, ~ session | school/case),
weights = varIdent(form = ~ 1 | treatment),
data = Bryant2016)
Fisher_info(Bryant2016_RML2, separate_variances = TRUE)
#> Tau.school.var((Intercept))
#> Tau.school.var((Intercept)) 1.354534e-05
#> Tau.case.var((Intercept)) 3.853874e-06
#> cor_params 5.241303e-03
#> sigma_sq.baseline 3.192872e-06
#> sigma_sq.treatment -6.827965e-07
#> Tau.case.var((Intercept)) cor_params
#> Tau.school.var((Intercept)) 3.853874e-06 5.241303e-03
#> Tau.case.var((Intercept)) 3.162009e-05 7.733113e-02
#> cor_params 7.733113e-02 2.115804e+05
#> sigma_sq.baseline 2.369386e-05 -2.095870e+00
#> sigma_sq.treatment -3.501822e-06 -3.798230e+00
#> sigma_sq.baseline sigma_sq.treatment
#> Tau.school.var((Intercept)) 3.192872e-06 -6.827965e-07
#> Tau.case.var((Intercept)) 2.369386e-05 -3.501822e-06
#> cor_params -2.095870e+00 -3.798230e+00
#> sigma_sq.baseline 1.319001e-04 -2.810345e-05
#> sigma_sq.treatment -2.810345e-05 1.190946e-04