Learn R Programming

capushe (version 1.1.2)

Djump: Model selection by dimension jump

Description

Djump is a model selection function based on the slope heuristics.

Usage

Djump(data,scoef=2,Careajump=0,Ctresh=0)

Value

@model

The model selected by the dimension jump method.

@ModelHat

A list describing the algorithm.

@ModelHat$jump

The vector of jump heights.

@ModelHat$kappa

The vector of the values of \(\kappa\) at each jump.

@ModelHat$model_hat

The vector of the selected models \(m(\kappa)\) by the jump.

@ModelHat$JumpMax

The location of the greatest jump.

@ModelHat$Kopt

\(\kappa_{opt}=scoef\hat{\kappa}\).

@graph

A list computed for the plot method.

Arguments

data

data is a matrix or a data.frame with four columns of the same length and each line corresponds to a model:

  1. The first column contains the model names.

  2. The second column contains the penalty shape values.

  3. The third column contains the model complexity values.

  4. The fourth column contains the minimum contrast value for each model.

scoef

Ratio parameter. Default value is 2.

Careajump

Constant of jump area. Default value is 0 (no area). In practice, it is advisable to take \(Careajump=\sqrt{\frac{log(n)}{n}}\) where \(n\) is the number of observations.

Ctresh

Maximal treshold for the complexity associated to the penalty coefficient. Default value is 0 (Maximal jump selected as the greatest jump). In practice, it is advisable to take \(Ctresh=\frac{n}{log(n)}\) where \(n\) is the number of observations.

Author

Vincent Brault

Details

The Djump algorithm proceeds in three steps:

  1. For all \(\kappa>0\), compute\(m(\kappa)\in argmin_{m\in M} \{\gamma_n(\hat{s}_m)+\kappa\times pen_{shape}(m)\}\)This gives a decreasing step function \(\kappa \mapsto C_{m(\kappa)}\).

  2. Find \(\hat{\kappa}\) such that \(C_{m(\hat{\kappa})}\) corresponds to the greatest jump of complexity if \(C_{tresh}=0\) else \(\hat{\kappa}\) such that \(\hat{\kappa}=inf\{\kappa>0: C_{m(\kappa)}\leq C_{tresh}\}.\)

  3. Select \(\hat{m}=m(scoef\times\hat{\kappa})\) (output @model).

Arlot has proposed a jump area containing the maximal jump defined by :

\([\kappa(1-Careajump);\kappa(1+Careajump)].\)

If \(Careajump>0\), Djump return the area with the greatest jump. In practice, it is advisable to take \(Careajump=\frac{log(n)}{n}\) where \(n\) is the number of observations.

References

http://www.math.univ-toulouse.fr/~maugis/CAPUSHE.html

http://www.math.u-psud.fr/~brault/capushe.html

Article: Baudry, J.-P., Maugis, C. and Michel, B. (2011) Slope heuristics: overview and implementation. Statistics and Computing, to appear. doi: 10.1007/ s11222-011-9236-1

See Also

capushe for a model selection function including AIC, BIC, the DDSE algorithm and the Djump algorithm. plot for a graphical display of the DDSE algorithm and the Djump algorithm.

Examples

Run this code
data(datacapushe)
Djump(datacapushe)
plot(Djump(datacapushe))
Djump(datacapushe,Careajump=sqrt(log(1000)/1000))
plot(Djump(datacapushe,Careajump=sqrt(log(1000)/1000)))
Djump(datacapushe,Ctresh=1000/log(1000))
plot(Djump(datacapushe,Ctresh=1000/log(1000)))

Run the code above in your browser using DataLab