adaptivefence.fh {fence} | R Documentation |
Adaptive Fence model selection (Small Area Estmation)
Description
Adaptive Fence model selection (Small Area Estmation)
Usage
adaptivefence.fh(mf, f, ms, d, lf, pf, bs, grid = 101, bandwidth, method)
Arguments
mf |
Call function, for example: default calls: function(m, b) eblupFH(formula = m, vardir = D, data = b, method = "FH") |
f |
Full Model |
ms |
find candidate model, findsubmodel.fh(full) |
d |
Dimension number |
lf |
Measures lack of fit using function(res) -res$fit$goodness[1] |
pf |
Dimensions of model |
bs |
Bootstrap |
grid |
grid for c |
bandwidth |
bandwidth for kernel smooth function |
method |
Method to be used. Fay-Herriot method is the default. |
Details
In Jiang et. al (2008), the adaptive c value is chosen from the highest peak in the p* vs. c plot. In Jiang et. al (2009), 95% CI is taken into account while choosing such an adaptive choice of c. In Thuan Nguyen et. al (2014), the adaptive c value is chosen from the first peak. This approach works better in the moderate sample size or weak signal situations. Empirically, the first peak becomes highest peak when sample size increases or signals become stronger
Value
models |
list all model candidates in the model space |
B |
list the number of bootstrap samples that have been used |
lack_of_fit_matrix |
list a matrix of Qs for all model candidates (in columns). Each row is for each bootstrap sample |
Qd_matrix |
list a matrix of QM - QM.tilde for all model candidates. Each row is for each bootrap sample |
bandwidth |
list the value of bandwidth |
model_mat |
list a matrix of selected models at each c values in grid (in columns). Each row is for each bootstrap sample |
freq_mat |
list a matrix of coverage probabilities (frequency/smooth_frequency) of each selected models for a given c value (index) |
c |
list the adaptive choice of c value from which the parsimonious model is selected |
sel_model |
list the selected (parsimonious) model given the adaptive c value |
Note
The current Fence package focuses on variable selection. However, Fence methods can be used to select other parameters of interest, e.g., tunning parameter, variance-covariance structure, etc.
The number of bootstrap samples is suggested to be increased, e.g., B=1000 when the sample size is small, or signals are weak
Author(s)
Jiming Jiang Jianyang Zhao J. Sunil Rao Thuan Nguyen
References
Jiang J., Rao J.S., Gu Z., Nguyen T. (2008), Fence Methods for Mixed Model Selection. The Annals of Statistics, 36(4): 1669-1692
Jiang J., Nguyen T., Rao J.S. (2009), A Simplified Adaptive Fence Procedure. Statistics and Probability Letters, 79, 625-629
Thuan Nguyen, Jie Peng, Jiming Jiang (2014), Fence Methods for Backcross Experiments. Statistical Computation and Simulation, 84(3), 644-662
Examples
## Not run:
require(fence)
### example 1 ####
data("kidney")
data = kidney[-which.max(kidney$x),] # Delete a suspicious data point #
data$x2 = data$x^2
data$x3 = data$x^3
data$x4 = data$x^4
data$D = data$sqrt.D.^2
plot(data$y ~ data$x)
full = y~x+x2+x3+x4
testfh = fence.sae(full, data, B=1000, fence="adaptive", method="F-H", D = D)
testfh$sel_model
testfh$c
## End(Not run)