This function generates the full list of parameters required for the Generalized Mode Jumping Markov Chain Monte Carlo (GMJMCMC) algorithm, building upon the parameters from gen.params.mjmcmc. The generated parameter list includes feature generation settings, population control parameters, and optimization controls for the search process.
gen.params.gmjmcmc(ncov)A list of parameters for controlling GMJMCMC behavior:
The number of covariates in the dataset that will be used in the algorithm
feat$DMaximum feature depth, default 5. Limits the number of recursive feature transformations. For fractional polynomials, it is recommended to set D = 1.
feat$LMaximum number of features per model, default 15. Increase for complex models.
feat$alphaStrategy for generating $alpha$ parameters in non-linear projections:
"unit"(Default) Sets all components to 1.
"deep"Optimizes $alpha$ across all feature layers.
"random"Samples $alpha$ from the prior for a fully Bayesian approach.
feat$pop.maxMaximum feature population size per iteration. Defaults to min(100, as.integer(1.5 * p)), where p is the number of covariates.
feat$keep.orgLogical flag; if TRUE, original covariates remain in every population (default FALSE).
feat$prel.filterThreshold for pre-filtering covariates before the first population generation. Default 0 disables filtering.
feat$prel.selectIndices of covariates to include initially. Default NULL includes all.
feat$keep.minMinimum proportion of features to retain during population updates. Default 0.8.
feat$epsThreshold for feature inclusion probability during generation. Default 0.05.
feat$check.colLogical; if TRUE (default), checks for collinearity during feature generation.
feat$max.proj.sizeMaximum number of existing features used to construct a new one. Default 15.
rescale.largeLogical flag for rescaling large data values for numerical stability. Default FALSE.
burn_inThe burn-in period for the MJMCMC algorithm, which is set to 100 iterations by default.
mhA list containing parameters for the regular Metropolis-Hastings (MH) kernel:
neigh.sizeThe size of the neighborhood for MH proposals with fixed proposal size, default set to 1.
neigh.minThe minimum neighborhood size for random proposal size, default set to 1.
neigh.maxThe maximum neighborhood size for random proposal size, default set to 2.
largeA list containing parameters for the large jump kernel:
neigh.sizeThe size of the neighborhood for large jump proposals with fixed neighborhood size, default set to the smaller of 0.35 * p and 35, where \(p\) is the number of covariates.
neigh.minThe minimum neighborhood size for large jumps with random size of the neighborhood, default set to the smaller of 0.25 * p and 25.
neigh.maxThe maximum neighborhood size for large jumps with random size of the neighborhood, default set to the smaller of 0.45 * p and 45.
randomA list containing a parameter for the randomization kernel:
probThe small probability of changing the component around the mode, default set to 0.01.
saA list containing parameters for the simulated annealing kernel:
probsA numeric vector of length 6 specifying the probabilities for different types of proposals in the simulated annealing algorithm.
neigh.sizeThe size of the neighborhood for the simulated annealing proposals, default set to 1.
neigh.minThe minimum neighborhood size, default set to 1.
neigh.maxThe maximum neighborhood size, default set to 2.
t.initThe initial temperature for simulated annealing, default set to 10.
t.minThe minimum temperature for simulated annealing, default set to 0.0001.
dtThe temperature decrement factor, default set to 3.
MThe number of iterations in the simulated annealing process, default set to 12.
greedyA list containing parameters for the greedy algorithm:
probsA numeric vector of length 6 specifying the probabilities for different types of proposals in the greedy algorithm.
neigh.sizeThe size of the neighborhood for greedy algorithm proposals, set to 1.
neigh.minThe minimum neighborhood size for greedy proposals, set to 1.
neigh.maxThe maximum neighborhood size for greedy proposals, set to 2.
stepsThe number of steps for the greedy algorithm, set to 20.
triesThe number of tries for the greedy algorithm, set to 3.
loglikA list to store log-likelihood values, which is by default empty.
gen.params.mjmcmc, gmjmcmc
data <- data.frame(y = rnorm(100), x1 = rnorm(100), x2 = rnorm(100))
params <- gen.params.gmjmcmc(ncol(data) - 1)
str(params)
Run the code above in your browser using DataLab