remlscor.RdFits a heteroscedastic regression model using residual maximum likelihood (REML).
remlscore(y, X, Z, trace=FALSE, tol=1e-5, maxit=40)List with the following components:
vector of regression coefficients for predicting the mean
vector of standard errors for beta
vector of regression coefficients for predicting the variance
vector of standard errors for gamma
estimated means
estimated variances
minus twice the REML log-likelihood
numeric vector of leverages
estimated covariance matrix for beta
estimated covarate matrix for gamma
number of iterations used
Write \(\mu_i=E(y_i)\) and \(\sigma^2_i=\mbox{var}(y_i)\) for the expectation and variance of the \(i\)th response. We assume the heteroscedastic regression model $$\mu_i=\bold{x}_i^T\bold{\beta}$$ $$\log(\sigma^2_i)=\bold{z}_i^T\bold{\gamma},$$ where \(\bold{x}_i\) and \(\bold{z}_i\) are vectors of covariates, and \(\bold{\beta}\) and \(\bold{\gamma}\) are vectors of regression coefficients affecting the mean and variance respectively.
Parameters are estimated by maximizing the REML likelihood using REML scoring as described in Smyth (2002).
Smyth, G. K. (2002). An efficient algorithm for REML in heteroscedastic regression. Journal of Computational and Graphical Statistics 11, 836-847. doi:10.1198/106186002871
data(welding)
attach(welding)
y <- Strength
# Reproduce results from Table 1 of Smyth (2002)
X <- cbind(1,(Drying+1)/2,(Material+1)/2)
colnames(X) <- c("1","B","C")
Z <- cbind(1,(Material+1)/2,(Method+1)/2,(Preheating+1)/2)
colnames(Z) <- c("1","C","H","I")
out <- remlscore(y,X,Z)
cbind(Estimate=out$gamma,SE=out$se.gam)
#> SE
#> [1,] -3.15886017 0.8313270
#> [2,] -2.73542576 0.8224828
#> [3,] -0.08588713 0.8351308
#> [4,] 3.33238821 0.8250499