Type: | Package |
Title: | A Fast Solver for Henderson Mixed Model Equation via Row Operations |
Version: | 0.1.2 |
Description: | Consider the linear mixed model with normal random effects. A typical method to solve Henderson's Mixed Model Equations (HMME) is recursive estimation of the fixed effects and random effects. We provide a fast, stable, and scalable solver to the HMME without computing matrix inverse. See Kim (2017) <doi:10.48550/arXiv.1710.09663> for more details. |
License: | GPL (≥ 3) |
Encoding: | UTF-8 |
LazyData: | true |
Imports: | Rcpp, Rdpack |
LinkingTo: | Rcpp, RcppArmadillo |
RdMacros: | Rdpack |
RoxygenNote: | 6.1.1 |
NeedsCompilation: | yes |
Packaged: | 2019-01-04 03:55:48 UTC; kisung |
Author: | Jiwoong Kim [aut, cre] |
Maintainer: | Jiwoong Kim <jwboys26@gmail.com> |
Repository: | CRAN |
Date/Publication: | 2019-01-05 00:40:03 UTC |
HMMEsolver Package
Description
Consider the linear mixed model with normal random effects,
Y = X\beta + Zv + \epsilon
where \beta
and v
are vectors of fixed and random effects.
One of most popular methods to solve the Henderson's Mixed Model Equation
related to the problem is EM-type algorithm. Its drawback, however, comes from
repetitive matrix inversion during recursive estimation steps. Kim (2017) proposed
a novel method of avoiding such difficulty, letting the estimation more fast, stable, and
scalable.
Solve Henderson's Mixed Model Equation.
Description
Consider a linear mixed model with normal random effects,
Y_{ij} = X_{ij}^T\beta + v_i + \epsilon_{ij}
where i=1,\ldots,n,\quad j=1,\ldots,m
, or it can be equivalently expressed using matrix notation,
Y = X\beta + Zv + \epsilon
where Y\in \mathrm{R}^{nm}
is a known vector of observations, X \in \mathrm{R}^{nm\times p}
and
Z \in \mathrm{R}^{nm\times n}
design matrices for \beta
and v
respectively,
\beta \in \mathrm{R}^p
and v\in \mathrm{R}^n
unknown vectors of fixed effects and random effects where
v_i \sim N(0,\lambda_i)
, and
\epsilon \in \mathrm{R}^{nm}
an unknown vector random errors independent of random effects. Note that Z
does not need to be provided by a user since it is automatically created accordingly to the problem specification.
Usage
SolveHMME(X, Y, Mu, Lambda)
Arguments
X |
an |
Y |
a length- |
Mu |
a length- |
Lambda |
a length- |
Value
a named list containing
- beta
a length-
p
vector of BLUE\hat{beta}
.- v
a length-
n
vector of BLUP\hat{v}
.- leverage
a length-
(mn+n)
vector of leverages.
References
Henderson CR, Kempthorne O, Searle SR, von Krosigk CM (1959). “The Estimation of Environmental and Genetic Trends from Records Subject to Culling.” Biometrics, 15(2), 192. ISSN 0006341X, doi: 10.2307/2527669, http://www.jstor.org/stable/2527669?origin=crossref.
Robinson GK (1991). “That BLUP is a Good Thing: The Estimation of Random Effects.” Statistical Science, 6(1), 15–32. ISSN 0883-4237, doi: 10.1214/ss/1177011926, http://projecteuclid.org/euclid.ss/1177011926.
McLean RA, Sanders WL, Stroup WW (1991). “A Unified Approach to Mixed Linear Models.” The American Statistician, 45(1), 54. ISSN 00031305, doi: 10.2307/2685241, http://www.jstor.org/stable/2685241?origin=crossref.
Kim J (2017). “A Fast Algorithm for Solving Henderson's Mixed Model Equation.” ArXiv e-prints.
Examples
## small setting for data generation
n = 100; m = 2; p = 2
nm = n*m; nmp = n*m*p
## generate artifical data
X = matrix(rnorm(nmp, 2,1), nm,p) # design matrix
Y = rnorm(nm, 2,1) # observation
Mu = rep(1, times=nm)
Lambda = rep(1, times=n)
## solve
ans = SolveHMME(X, Y, Mu, Lambda)