### restrikor() function

The restriktor() function computes the restricted estimates. The minimal requirement for this function is a fitted unconstrained model object. currently, restriktor can deal with the standard linear model (lm), the robust estimation of the linear model (rlm), and the generalized linear model (glm):

restriktor(object, constraints = NULL, se = "standard", B = 999,
rhs = NULL, neq = 0L, mix.weights = "pmvnorm",
mix.bootstrap = 99999L, parallel = "no", ncpus = 1L,
cl = NULL, seed = NULL, control = NULL, verbose = FALSE,
debug = FALSE, ...)


All available options and default settings are discussed below.

The restriktor() syntax might look as follows:

restr.ANOVA <- restriktor(fit.ANOVA, constraints = myConstraints)


For the restriktor object is a print() and a summary() function available. The print() function gives a brief overview of the restricted estimates.

print(restr.ANOVA)


Call:
conLM.lm(object = fit.ANOVA, constraints = myConstraints)

restriktor (0.1-70): restricted linear model:

Coefficients:
GroupActive       GroupNo  GroupPassive
10.125        12.350        11.375


The summary() function provides a clear summary of the restricted estimates, standard errors and p-values. In case of bootstrapped standard errors confidence intervals are computed. The summary results can be requested as follows:

summary(restr.ANOVA)


Call:
conLM.lm(object = fit.ANOVA, constraints = myConstraints)

Restriktor: restricted linear model:

Residuals:
Min     1Q Median     3Q    Max
-1.375 -0.850 -0.375  0.375  3.625

Coefficients:
Estimate Std. Error t value  Pr(>|t|)
GroupActive  10.12500    0.61854  16.369 1.594e-10 ***
GroupNo      12.35000    0.67757  18.227 3.771e-11 ***
GroupPassive 11.37500    0.61854  18.390 3.344e-11 ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 1.5151 on 14 degrees of freedom
Standard errors: standard
Multiple R-squared remains 0.985

Generalized Order-Restricted Information Criterion:
Loglik  Penalty    Goric
-29.5348   2.8418  64.7533


The Generalized Order-Restrikted Information Criterion (GORIC) is for model selecting under (in)equality constraints and is demonstrated in example 6.

### Explaining the restriktor arguments

• object: a fitted linear model object of class "lm", or a fitted robust linear model object of class "rlm". For class "rlm", both M and MM estimation are supported. For the loss function only the bisquare is supported for now, otherwise the function gives an error.

• constraints: there are two ways to constrain parameters. First, the constraint syntax consists of one or more text-based descriptions, where the syntax can be specified as a literal string enclosed by single quotes. Only the names of coef(model) can be used as names. See constraint syntax.

Second, the constraint syntax consists of a matrix R (or a vector in case of one constraint) and defines the left-hand side of the constraint Rθ > rhs, where each row represents one constraint. The number of columns needs to correspond to the number of parameters estimated (θ) by model. The rows should be linear independent, otherwise the function gives an error. For more information about constructing the matrix R and rhs see constraint syntax.

• se: if "standard" (default), conventional standard errors are computed based on inverting the observed augmented information matrix. If "HC0" or just "HC", heteroskedastic robust standard errors are computed (a.k.a Huber White). The options "HC1", "HC2", "HC3", "HC4", "HC4m", and "HC5" are refinements of "HC0". For more details about heteroskedastic robust standard errors type ?sandwich. If "boot.standard", bootstrapped standard errors are computed using standard bootstrapping. If "boot.model.based" or "boot.residual", bootstrapped standard errors are computed using model-based bootstrapping. If "none", no standard errors are computed.

• B: integer; number of bootstrap draws for se. The default value is set to 999. Parallel support is available.

• rhs: vector on the right-hand side of the constraints; Rθ > rhs. The length of this vector equals the number of rows of the constraint matrix R and consists of zeros by default. Note: only used if constraint input is a matrix or vector.

• neq: integer (default = 0) treating the number of constraint rows as equality constraints instead of inequality constraints. For example, if neq = 2, this means that the first two rows of the constraint matrix R are treated as equality constraints. Note: only used if constraint input is a matrix or vector.

• mix.weights: if "pmvnorm" (default), the chi-bar-square weights are computed based on the multivariate normal distribution function with additional Monte Carlo steps. If "boot", the chi-bar-square weights are computed using parametric bootstrapping. If "none", no chi-bar-square weights are computed. The weights are necessary in the restriktor.summary function for computing the GORIC. Moreover, the weights are re-used in the iht function for computing the p-value for the test-statistic, unless the p-value is computed directly via bootstrapping.

• mix.bootstrap: integer; number of bootstrap draws for mix.weights = "boot". The default value is set to 99999. Parallel support is available.

• parallel: the type of parallel operation to be used (if any). If missing, the default is set "no".

• ncpus: integer: number of processes to be used in parallel operation: typically one would chose this to the number of available CPUs.

• cl: an optional parallel or snow cluster for use if parallel = "snow". If not supplied, a cluster on the local machine is created for the duration of the restriktor call.

• seed: seed value.

• control: a list of control arguments:

• absval: tolerance criterion for convergence (default = sqrt(.Machine$double.eps)). • maxit: the maximum number of iterations for the optimizer (default = 10000). (currently not used). • tol: numerical tolerance value. Estimates smaller than tol are set to 0 (default = sqrt(.Machine$double.eps)).
• verbose: logical; if TRUE, information is shown at each bootstrap draw.

• debug: if TRUE, debugging information about the constraints is printed out.

• ...: no additional arguments for now.