Robust Mixture Regression with Thresholding-Embedded EM Algorithm for Penalized Estimation
Robust Mixture Regression with Thresholding-Embedded EM Algorithm for Penalized Estimation
A robust mixture regression model that simultaneously conducts outlier detection and robust parameter estimation. It uses a sparse, case-specific, and scale-dependent mean-shift mixture model parameterization (Yu et al., 2017): [REMOVE_ME]f(yi∣xi,θ,γi)=∑j=1Cπjϕ(yi;x⊤βj+γijσj,σj2),[REMOVEME2]
i=1,⋯,n, where C is the number of components in the model, θ=(π1,β1,σ1,..,πC,βC,σC)⊤
is the parameter to estimate, and γi=(γi1,...,γiC)⊤ is a vector of mean-shift parameter for the ith observation.
mixregRM2(x, y, C =2, ini =NULL, nstart =20, tol =1e-02, maxiter =50, method = c("HARD","SOFT"), sigma.const =0.001, lambda =0.001)
Arguments
x: an n by p data matrix where n is the number of observations and p is the number of explanatory variables. The intercept term will automatically be added to the data.
y: an n-dimensional vector of response variable.
C: number of mixture components. Default is 2.
ini: initial values for the parameters. Default is NULL, which obtains the initial values using the mixreg function. It can be a list with the form of list(pi, beta, sigma, gamma), where pi is a vector of C mixing proportions, beta is a C by (p + 1) matrix for regression coefficients of C components, sigma is a vector of C standard deviations, and gamma is a vector of C mean shift values.
nstart: number of initializations to try. Default is 20.
tol: stopping criteria (threshold value) for the EM algorithm. Default is 1e-02.
maxiter: maximum number of iterations for the EM algorithm. Default is 50.
method: character, determining which threshold method to use: HARD or SOFT. Default is HARD. See details.
sigma.const: constraint on the ratio of minimum and maximum values of sigma. Default is 0.001.
lambda: tuning parameter in the penalty term. It can be found based on BIC. See Yu et al. (2017) for more details.
Returns
A list containing the following elements: - pi: C-dimensional vector of estimated mixing proportions.
beta: C by (p + 1) matrix of estimated regression coefficients.
sigma: C-dimensional vector of estimated standard deviations.
gamma: n-dimensional vector of estimated mean shift values.
posterior: n by C matrix of posterior probabilities of each observation belonging to each component.
run: total number of iterations after convergence.
Description
A robust mixture regression model that simultaneously conducts outlier detection and robust parameter estimation. It uses a sparse, case-specific, and scale-dependent mean-shift mixture model parameterization (Yu et al., 2017):
i=1,⋯,n, where C is the number of components in the model, θ=(π1,β1,σ1,..,πC,βC,σC)⊤
is the parameter to estimate, and γi=(γi1,...,γiC)⊤ is a vector of mean-shift parameter for the ith observation.
Details
The parameters are estimated by maximizing the corresponding penalized log-likelihood function using an EM algorithm. The thresholding rule involes the estimation of γij corresponding to different penalty:
Soft threshold: γ^ij=sgn(ϵij)(∣ϵij∣−λij∗)+), corresponding to the l1 penalty.
Hard threshold: γ^ij=ϵijI(∣ϵij∣λij∗)), corresponding to the l0 penalty.
Here, ϵij=(yi−xi⊤βj)/σj and (⋅)+=max(⋅,0). Also, λij∗ is taken as λ/pij(k+1) for soft threshold and λ/pij(k+1) for hard threshold.
Examples
data(tone)y = tone$tuned
x = tone$stretchratio
k =160x[151:k]=0y[151:k]=5est_RM2 = mixregRM2(x, y, lambda =1)
References
Yu, C., Yao, W., and Chen, K. (2017). A new method for robust mixture regression. Canadian Journal of Statistics, 45(1), 77-94.