truncSP (version 1.2.2)

qme.fit: Function for fitting QME

Description

Function to find QME estimates of the regression coefficients for regression models with truncated response variables. Uses optim. Intended to be called through qme, not on its own, since qme also transforms data into the correct form etc.

Usage

qme.fit(formula, mf, point, direction, bet, cv, ...)

Arguments

formula
a symbolic description of the model to be estimated
mf
the model.frame containing the variables to be used when fitting the model. qme transforms the model frame to the correct form before calling qme.fit. If qme.fit is called on its own the model frame needs to be transformed manually.
point
point of truncation
direction
direction of truncation
bet
starting values to be used by optim. Column matrix with p rows.
cv
threshold value to be used, number or numeric vector of length 1. (See qme, argument cval, for more information).
...
additional arguments to be passed to optim (see the documentation for qme for further details).

Value

a list with components:
startcoef
the starting values of the regression coefficients used by optim
coefficients
the named vector of coefficients
counts
number of iterations used by optim. See the documentation for optim for further details
convergence
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, or NULL.
residuals
the residuals of the model
df.residual
the residual degrees of freedom
fitted.values
the fitted values

See Also

qme

Examples

Run this code
require(utils)
##Model frame
n <- 10000
x <- rnorm(n,0,2)
y <- 2+x+4*rnorm(n)
d <- data.frame(y=y, x=x)
dl0 <- subset(d, y>0)
mf <- model.frame(y~x, data=dl0)

##Starting values and threshold value
lmmod <- lm(data=mf)
bet <- lmmod$coef
bet <- matrix(bet)
cv <- sqrt(deviance(lmmod)/df.residual(lmmod))

str(qme. <- qme.fit(y~x,mf,point=0,direction="left",bet,cv))

Run the code above in your browser using DataCamp Workspace