| or.relimp {ic.infer} | R Documentation | 
Function to calculate relative importance for order-restricted linear models
Description
The function calculates relative importance by averaging over the variables R-squared contributions from all orderings of variables for linear models with inequality restrictions on the parameters. NOTE: only useful if each restriction refers to exactly one variable, or if it is adequate to reduce multi-variable restrictions by omitting the affected variables but leaving the restriction otherwise intact.
Usage
or.relimp(model, ui, ci = NULL, ...)
## S3 method for class 'lm'
or.relimp(model, ui, ci = NULL, index = 2:length(coef(model)), meq = 0, 
     tol = sqrt(.Machine$double.eps), ...)
     
## Default S3 method:
or.relimp(model, ui, ci = NULL, index = 2:ncol(model), meq = 0, 
     tol = sqrt(.Machine$double.eps), ...)
     
all.R2(covmat, ui, ci = NULL, index = 2:ncol(covmat), meq = 0, 
     tol = sqrt(.Machine$double.eps), ...)
     ## user does not need to call this function
Arguments
model | 
  a linear model object of class  OR the covariance matrix of the response (first position) and all regressors  | 
covmat | 
 the covariance matrix of the response (first position) and all regressors  | 
ui | 
  cf. explanation in   | 
ci | 
  cf. explanation in   | 
index | 
  cf. explanation in   | 
meq | 
  cf. explanation in   | 
tol | 
  cf. explanation in   | 
... | 
 Further options  | 
Details
Function or.relimp uses function all.R2 for 
calculating the R-squared values of all subsets that are subsequently 
handed to function Shapley.value (from package kappalab), 
which takes care of the averaging over ordering. 
WARNING: In models with subsets of the regressors, the 
columns of the matrix ui referring to regressors outside the 
current subset are simply deleted for the sub model. 
This is only reasonable if either the individual 
constraints refer to individual parameters only (e.g. all 
parameters restricted to be non-negative) or if the constraints 
are still reasonable in the sub model with some variables deleted, 
e.g. perhaps (depending on the application) sum 
of all parameters less or equal to 1.
WARNING: If the number of regressors (p) is large, the functions 
quickly becomes unmanageable (a vector of size 2^p is returned 
or handled in the process.
Value
all.R2 returns a vector (2^p elements) with all R-squared values 
(p is the number of regressors, vector is ordered from empty to full model 
in natural order (cf. ic.infer:::nchoosek for the order within one model 
size).
or.relimp returns a vector (p elements) with average R-squared 
contributions from all models with respective subset of restrictions 
ui %*% beta >= ci enforced. 
Author(s)
Ulrike Groemping, BHT Berlin
See Also
 See also orlm for order-restricted linear models and 
calc.relimp from R-package relaimpo for a much more 
comfortable and much faster routine for unrestricted linear models
Examples
covswiss <- cov(swiss)
## all R2-values for restricted linear model with restrictions that
## Catholic and Infant.Mortality have non-negative coefficients
R2s <- all.R2(covswiss, ui=rbind(c(0,0,0,1,0),c(0,0,0,0,1)))
R2s
require(kappalab) ## directly using package kappalab
Shapley.value(set.func(R2s))  
### with convenience wrapper from this package
or.relimp(covswiss, ui=rbind(c(0,0,0,1,0),c(0,0,0,0,1)))
### also works on linear models
limo <- lm(swiss)
#or.relimp(limo, ui=rbind(c(0,0,0,1,0),c(0,0,0,0,1)))
## same model using index vector
or.relimp(limo, ui=rbind(c(1,0),c(0,1)), index=5:6)