qme
Estimation of truncated regression models using the Quadratic Mode Estimator (QME)
Estimation of linear regression models with truncated response variables (fixed truncation point), using the Quadratic Mode Estimator (QME) (Lee 1993 and Laitila 2001)
- Keywords
- regression
Usage
qme(formula, data, point = 0, direction = "left", cval = "ml",
const = 1, beta = "ml", covar = FALSE, na.action, ...)
## S3 method for class 'qme':
print(x, digits = max(3, getOption("digits") - 3), ...)
## S3 method for class 'qme':
summary(object, level=0.95, ...)
## S3 method for class 'summary.qme':
print(x, digits = max(3, getOption("digits") - 3), ...)
## S3 method for class 'qme':
coef(object,...)
## S3 method for class 'qme':
vcov(object,...)
## S3 method for class 'qme':
residuals(object,...)
## S3 method for class 'qme':
fitted(object,...)
Arguments
- x, object
- an object of class
"qme"
- formula
- a symbolic description of the model to be estimated
- data
- an optional data frame
- point
- the value of truncation (the default is 0)
- direction
- the direction of truncation, either
"left"
(the default) or"right"
- cval
- the threshold value to be used when trimming the conditional density of the errors. The default is
"ml"
meaning that the estimated residual standard deviation from a maximum likelihood model for truncated regression, fitted using - const
- a number that can be used to alter the size of the threshold value.
const=0.5
would give a threshold value that is half the original size. The default value is 1. - beta
- the method of determining the starting values of the regression coefficients (See Details for more information):
- The default method is
"ml"
, meaning that the estimated regression coefficients from fitting a maximum likelihood model fo
- The default method is
- covar
- logical. Indicates whether or not the covariance matrix should be estimated. If
TRUE
the covariance matrix is estimated using bootstrap, as described in Karlsson (2004). The default number of replicates is 2000 but this can be adjusted (see a - na.action
- a function which indicates what should happen when the data contain
NA
s. - digits
- the number of digits to be printed
- level
- the desired level of confidence, for confidence intervals provided by
summary.qme
. A number between 0 and 1. The default value is0.95
. - ...
- additional arguments. For
qme
the number of bootstrap replicates can be adjusted by settingR=
the desired number of replicates. Also thecontrol
argument ofoptim
can be
Details
Finds the QME estimates of the regression coefficients by maximizing the objective function described in Lee (1993) wrt the vector of regression coefficients. The maximization is performed by optim
using the "Nelder--Mead" method. The maximum number of iterations is set at 2000, but this can be adjusted by setting control=list(maxit=...)
(for more information see the documentation for optim
).
The starting values of the regression coefficients can have a great impact on the result of the maximization. For this reason it is recommended to use one of the methods for generating these rather than supplying the values manually, unless one is confident that one has a good idea of what the starting values should be. For more detailed information see Karlsson and Lindmark (2014).
Value
qme
returns an object of class"qme"
. The functionsummary
prints a summary of the results, including two types of confidence intervals (normal approximation and percentile method). The generic accessor functionscoef
,fitted
,residuals
andvcov
extract various useful features of the value returned byqme
An object of class"qme"
, a list with elements:coefficients the named vector of coefficients startcoef the starting values of the regression coefficients used by optim
cval information about the threshold value used. The method and constant value used and the resulting threshold value. value the value of the objective function corresponding to coefficients
counts number of iterations used by optim
. See the documentation foroptim
for further detailsconvergence from optim
. An integer code. 0 indicates successful completion. Possible error codes are 1 indicating that the iteration limit maxit had been reached. 10 indicating degeneracy of the Nelder--Mead simplex.message from optim
. A character string giving any additional information returned by the optimizer, orNULL
.residuals the residuals of the model fitted.values the fitted values df.residual the residual degrees of freedom call the matched call covariance if covar
=
TRUE
, the estimated covariance matrixR if covar
=
TRUE
, the number of bootstrap replicatesbootrepl if covar
=
TRUE
, the bootstrap replicates
References
Karlsson, M. (2004) Finite sample properties of the QME, Communications in Statistics - Simulation and Computation, 5, pp 567--583
Karlsson, M., Lindmark, A. (2014) truncSP: An R Package for Estimation of Semi-Parametric Truncated Linear Regression Models, Journal of Statistical Software, 57(14), pp 1--19,
See Also
qme.fit
, the function that does the actual fitting
lt
, for estimation of models with truncated response variables using the LT estimator
stls
, for estimation of models with truncated response variables using the STLS estimator
truncreg
for estimating models with truncated response variables by maximum likelihood, assuming Gaussian errors
Examples
##Simulate a data.frame (model with asymmetrically distributed errors)
n <- 10000
x1 <- runif(n,0,10)
x2 <- runif(n,0,10)
x3 <- runif(n,-5,5)
eps <- rexp(n,0.2)- 5
y <- 2-2*x1+x2+2*x3+eps
d <- data.frame(y=y,x1=x1,x2=x2,x3=x3)
##Use a truncated subsample
dtrunc <- subset(d, y>0)
##Use qme to consistently estimate the slope parameters
qme(y~x1+x2+x3, dtrunc, point=0, direction="left", cval="ml", const=1,
beta="ml", covar=FALSE)
##Example using data "PM10trunc"
data(PM10trunc)
qmepm10 <- qme(PM10~cars+temp+wind.speed+temp.diff+wind.dir+hour+day,
data=PM10trunc, point=2, control=list(maxit=4500))
summary(qmepm10)