penalty | R Documentation |
Overview about the supported penalties. More details are also given in section 3.2 of the vignette.
The penalties (ways to balance different scales) can be divided into two groups: scale penalisation and balancing by weights. More precisely, the scale penalisations "sqrt"
, "log"
and "none"
and balancing by weights called "weights"
are available.
Let T
be the unpenalised test statistic of the specified parametric family on an interval of length l
and nq
the number of observations used for the penalisation, typically the number of observations n
but can also be chosen larger.
"sqrt"
penalised statistic is sqrt(2 * T) - sqrt(2 * log(exp(1) * nq / l)
. This penalisation is proposed in (Frick et al., 2014) and guarantees for most parametric families that the penalised multiscale statistic is asymptotically finite. This is not true for parametric family "hsmuce"
. Hence, this penalisation is recommended and the default one for the parametric families "gauss"
and "mDependentPS"
, but not for "hsmuce"
.
"log"
penalised statistic is T - log(exp(1) * nq / l)
. This penalisation is outdated and only still supported for comparisons.
"none"
no penalisation, penalised statistic is equal to the unpenalised. Multiscale regression without a penalisation is not recommend.
"weights"
critical values will be computed by weights, see section 3.2.2 in the vignette and (Pein et al., 2017, section 2) for more details. This penalty is recommend and the default one for the parametric family "hsmuce"
, but can also be used for other families. Will be replaced by "none"
in computeStat
and monteCarloSimulation
.
The penalisation is selected via the penalty
argument providing the corresponding string. If NULL
the default penalty of the specified parametric family will be used, see parametricFamily
for which one this will be.
Frick, K., Munk, A., Sieling, H. (2014) Multiscale change-point inference. With discussion and rejoinder by the authors. Journal of the Royal Statistical Society, Series B 76(3), 495–580.
Pein, F., Sieling, H., Munk, A. (2017) Heterogeneous change point inference. Journal of the Royal Statistical Society, Series B, 79(4), 1207–1227.
parametricFamily, critVal
set.seed(1)
y <- c(rnorm(50), rnorm(50, 2))
# penalty "sqrt"
fit <- stepFit(y, alpha = 0.5, penalty = "sqrt", jumpint = TRUE, confband = TRUE)
# default for family "gauss"
identical(stepFit(y, alpha = 0.5, jumpint = TRUE, confband = TRUE), fit)
# penalty "weights"
!identical(stepFit(y, alpha = 0.5, penalty = "weights",
jumpint = TRUE, confband = TRUE), fit)
# penalty "weights" is default for parametric family "hsmuce"
# by default equal weights are chosen
identical(stepFit(y, alpha = 0.5, family = "hsmuce",
jumpint = TRUE, confband = TRUE),
stepFit(y, alpha = 0.5, family = "hsmuce", penalty = "weights",
weights = rep(1 / 6, 6), jumpint = TRUE, confband = TRUE))
# different weights
!identical(stepFit(y, alpha = 0.5, family = "hsmuce", weights = 6:1 / sum(6:1),
jumpint = TRUE, confband = TRUE),
stepFit(y, alpha = 0.5, family = "hsmuce", penalty = "weights",
weights = rep(1 / 6, 6), jumpint = TRUE, confband = TRUE))
# penalty "sqrt is default for parametric family "mDependentPS"
identical(stepFit(y, alpha = 0.5, family = "mDependentPS", covariances = c(1, 0.5),
jumpint = TRUE, confband = TRUE),
stepFit(y, alpha = 0.5, family = "mDependentPS", covariances = c(1, 0.5),
penalty = "sqrt", jumpint = TRUE, confband = TRUE))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.