Running 'bugfixes.R' [157s]
  Running 'regtest-families.R' [9s]
  Running 'regtest-gamboostLSS.R' [6s]
  Running 'regtest-glmboostLSS.R' [178s]
  Running 'regtest-mstop.R' [3s]
  Running 'regtest-noncyclic_fitting.R' [8s]
  Running 'regtest-stabilization.R' [30s]
  Running 'regtest-stabsel.R' [158s]
Running the tests in 'tests/bugfixes.R' failed.
Complete output:
  > ###
  > # Bugfixes
  > 
  > require("gamboostLSS")
  Loading required package: gamboostLSS
  Loading required package: mboost
  Loading required package: parallel
  Loading required package: stabs
  
  Attaching package: 'gamboostLSS'
  
  The following object is masked from 'package:stats':
  
      model.weights
  
  > require("gamlss")
  Loading required package: gamlss
  Loading required package: splines
  Loading required package: gamlss.data
  
  Attaching package: 'gamlss.data'
  
  The following object is masked from 'package:datasets':
  
      sleep
  
  Loading required package: gamlss.dist
  
  Attaching package: 'gamlss.dist'
  
  The following object is masked from 'package:mboost':
  
      Family
  
  Loading required package: nlme
   **********   GAMLSS Version 5.4-22  ********** 
  For more on GAMLSS look at https://www.gamlss.com/
  Type gamlssNews() to see new features/changes/bug fixes.
  
  > 
  > ## subset method was missing if initial mstop = 1
  > set.seed(1907)
  > x1 <- rnorm(1000)
  > x2 <- rnorm(1000)
  > x3 <- rnorm(1000)
  > x4 <- rnorm(1000)
  > x5 <- rnorm(1000)
  > x6 <- rnorm(1000)
  > mu    <- exp(1.5 + x1^2 +0.5 * x2 - 3 * sin(x3) -1 * x4)
  > sigma <- exp(-0.2 * x4 +0.2 * x5 +0.4 * x6)
  > y <- numeric(1000)
  > for( i in 1:1000)
  +     y[i] <- rnbinom(1, size = sigma[i], mu = mu[i])
  > dat <- data.frame(x1, x2, x3, x4, x5, x6, y)
  > 
  > model <- gamboostLSS(y ~ ., families = NBinomialLSS(), data = dat,
  +                      control = boost_control(mstop = 1))
  > model[10]
  
  	 LSS Models fitted via Model-based Boosting
  
  Call:
  gamboostLSS(formula = y ~ ., data = dat, families = NBinomialLSS(),     control = boost_control(mstop = 1))
  
  Number of boosting iterations (mstop):  mu = 10, sigma = 10 
  Step size:  mu = 0.1, sigma = 0.1 
  
  Families:
  
  	 Negative Negative-Binomial Likelihood: mu (log link) 
  
  Loss function: -(lgamma(y + sigma) - lgamma(sigma) - lgamma(y + 1) + sigma *  
       log(sigma) + y * f - (y + sigma) * log(exp(f) + sigma)) 
   
  
  	 Negative Negative-Binomial Likelihood: sigma (log link) 
  
  Loss function: -(lgamma(y + exp(f)) - lgamma(exp(f)) - lgamma(y + 1) + exp(f) *  
       f + y * log(mu) - (y + exp(f)) * log(mu + exp(f))) 
   
  > 
  > 
  > ## selected() was broken (didn't call mboost-function)
  > stopifnot(all.equal(selected(model),
  +                     list(mu = mboost::selected(model[[1]]),
  +                          sigma = mboost::selected(model[[2]]))))
  > 
  > # If the families argument is not specified explicitly in mboostLSS one gets an
  > # error in cvrisk.mboostLSS() (spotted by Almond Stöcker).
  > # (https://github.com/boost-R/gamboostLSS/issues/9)
  > set.seed(1907)
  > x1 <- rnorm(1000)
  > mu    <- 2*x1
  > sigma <- rep(1, 1000)
  > y <- numeric(1000)
  > for( i in 1:1000)
  +        y[i] <- rnorm(1, mean = mu[i], sd=sigma[i])
  > dat <- data.frame(x1=x1, y=y)
  > ## model with default families
  > model <- mboostLSS(y ~ bbs(x1), data = dat, control = boost_control(mstop = 2))
  > ## cvrisk.mboostLSS() does not work as families was not specified in model call
  > cvr <- try(cvrisk(model, folds = cv(model.weights(model), B=3), trace=FALSE),
  +            silent = TRUE)
  Warning message:
  In make.grid(mstop(object)) :
    Duplicates produced; Only unique values are returned
  > if (inherits(cvr, "try-error"))
  +     stop("cvrisk does not work if no family was (explicitly) chosen")
  > 
  > 
  > # Make sure that gamlss.dist::BB and gamlss.dist::BI work (spotted by F. Scheipl)
  > # (https://github.com/boost-R/gamboostLSS/issues/12)
  > set.seed(123)
  > n <- 100
  > x <- rnorm(n)
  > z <- rnorm(n)
  > data <- data.frame(y = rbinom(n, p = plogis(x + z), size = 60), x = x, z= z)
  > data$ymat <- with(data, cbind(success = data$y, fail = 60 - data$y))
  > 
  > m1 <- gamlss(ymat ~ x + z, data = data, family = BB)
  GAMLSS-RS iteration 1: Global Deviance = 699.795 
  GAMLSS-RS iteration 2: Global Deviance = 534.6991 
  GAMLSS-RS iteration 3: Global Deviance = 517.8675 
  GAMLSS-RS iteration 4: Global Deviance = 517.8664 
  GAMLSS-RS iteration 5: Global Deviance = 517.8664 
  > m2 <- gamlss(ymat ~ x + z, data = data, family = BI)
  GAMLSS-RS iteration 1: Global Deviance = 517.8684 
  GAMLSS-RS iteration 2: Global Deviance = 517.8684 
  > # same with boosting
  > m3 <- glmboostLSS(ymat ~ x + z, data = data, families = as.families("BB"))
  > m4 <- glmboost(ymat ~ x + z, data = data, family = as.families("BI"))
  Warning message:
  In as.families("BI") :
    For boosting one-parametric families, please use the mboost package.
  > 
  > round(data.frame(BB_gamlss = coef(m1),
  +                  BI_gamlss = coef(m2),
  +                  BB_gamboostLSS = coef(m3, off2int = TRUE, parameter = "mu"),
  +                  BI_gamboostLSS = coef(m4, off2int = TRUE)), 3)
              BB_gamlss BI_gamlss BB_gamboostLSS BI_gamboostLSS
  (Intercept)    -0.014    -0.014         -0.006         -0.014
  x               1.009     1.009          0.964          1.009
  z               0.965     0.965          0.925          0.965
  > 
  > 
  > ## make sure that combined_risk is not written to the global environment 
  > ## (and thus replaced if another model is fitted)
  > set.seed(1907)
  > x1 <- rnorm(1000)
  > x2 <- rnorm(1000)
  > x3 <- rnorm(1000)
  > x4 <- rnorm(1000)
  > x5 <- rnorm(1000)
  > x6 <- rnorm(1000)
  > mu    <- exp(1.5 +1 * x1 +0.5 * x2 -0.5 * x3 -1 * x4)
  > sigma <- exp(-0.4 * x3 -0.2 * x4 +0.2 * x5 +0.4 * x6)
  > y <- numeric(1000)
  > for( i in 1:1000)
  +     y[i] <- rnbinom(1, size = sigma[i], mu = mu[i])
  > dat <- data.frame(x1, x2, x3, x4, x5, x6, y)
  > 
  > model_0 <- mboostLSS(x1 ~ ., families = GaussianLSS(), data = dat, 
  +                      control = boost_control(mstop = 30),method = "noncyclic")
  Warning messages:
  1: In .qr.rank.def.warn(r) :
    matrix is structurally rank deficient; using augmented matrix with additional 8 row(s) of zeros
  2: In .qr.rank.def.warn(r) :
    matrix is structurally rank deficient; using augmented matrix with additional 8 row(s) of zeros
  > length_0 <- length(risk(model_0, merge = TRUE))
  > if (length_0 != 32)
  +     stop("combined risk not correct.")
  > 
  > model_1 <- glmboostLSS(y ~ ., families = NBinomialLSS(), data = dat, 
  +                        control = boost_control(mstop = 20), method = "noncyclic")
  > length_1 <- length(risk(model_1, merge = TRUE))
  > if (length_1 != 22)
  +     stop("combined risk not correct.")
  > if (length(risk(model_0, merge = TRUE)) != length_0)
  +     stop("Combined risk overwritten by new model. Scoping error.")
  > 
  > model_2 <- mboostLSS(x1 ~ ., families = GaussianLSS(), data = dat, 
  +                      control = boost_control(mstop = 11),method = "cyclic")
  Warning messages:
  1: In .qr.rank.def.warn(r) :
    matrix is structurally rank deficient; using augmented matrix with additional 8 row(s) of zeros
  2: In .qr.rank.def.warn(r) :
    matrix is structurally rank deficient; using augmented matrix with additional 8 row(s) of zeros
  > if (length(risk(model_2, merge = TRUE)) != 24)
  +     stop("combined risk not correct.")
  > if (length(risk(model_0, merge = TRUE)) != length_0)
  +     stop("Combined risk overwritten by new model. Scoping error.")
  > if (length(risk(model_1, merge = TRUE)) != length_1)
  +     stop("Combined risk overwritten by new model. Scoping error.")
  > 
  > # fix predint when multiple variables are included within a single baselearner #55
  > # (https://github.com/boost-R/gamboostLSS/issues/55)
  > 
  > set.seed(7)
  > data <- data.frame(x1 = runif(400, -1, 1),
  +                    x2 = runif(400, -1, 1),
  +                    x3 = runif(400, -1, 1),
  +                    x4 = runif(400, -1, 1))
  > data$y <- rnorm(400, 4 * data$x1 + 2 * data$x3)
  > 
  > gb <- gamboostLSS(y ~ btree(x1, x2, x3, x4), data = data, method = "noncyclic", control = boost_control(mstop = 10))
  > p <- predint(gb, which = "x1")
  > 
  > 
  > 
  > 
  > proc.time()
     user  system elapsed 
     2.60    0.34    2.93 
Running the tests in 'tests/regtest-glmboostLSS.R' failed.
Complete output:
  > ###
  > # check glmboostLSS()
  > 
  > require("gamboostLSS")
  Loading required package: gamboostLSS
  Loading required package: mboost
  Loading required package: parallel
  Loading required package: stabs
  
  Attaching package: 'gamboostLSS'
  
  The following object is masked from 'package:stats':
  
      model.weights
  
  > require("gamlss")
  Loading required package: gamlss
  Loading required package: splines
  Loading required package: gamlss.data
  
  Attaching package: 'gamlss.data'
  
  The following object is masked from 'package:datasets':
  
      sleep
  
  Loading required package: gamlss.dist
  
  Attaching package: 'gamlss.dist'
  
  The following object is masked from 'package:mboost':
  
      Family
  
  Loading required package: nlme
   **********   GAMLSS Version 5.4-22  ********** 
  For more on GAMLSS look at https://www.gamlss.com/
  Type gamlssNews() to see new features/changes/bug fixes.
  
  > 
  > set.seed(1907)
  > n <- 5000
  > x1  <- runif(n)
  > x2 <- runif(n)
  > mu <- 2 -1*x1 - 3*x2
  > sigma <- exp(-1*x1 + 3*x2)
  > df <- exp(1 + 3*x1 + 1*x2)
  > y <- rTF(n = n, mu = mu, sigma = sigma, nu = df)
  > 
  > ### check subset method
  > model <- glmboostLSS(y ~ x1 + x2, families = StudentTLSS(),
  +                      control = boost_control(mstop = 10),
  +                      center = TRUE)
  > model2 <- glmboostLSS(y ~ x1 + x2, families = StudentTLSS(),
  +                           control = boost_control(mstop = 20),
  +                           center = TRUE)
  > model[20]
  
  	 LSS Models fitted via Model-based Boosting
  
  Call:
  glmboostLSS(formula = y ~ x1 + x2, families = StudentTLSS(),     control = boost_control(mstop = 10), center = TRUE)
  
  Number of boosting iterations (mstop):  mu = 20, sigma = 20, df = 20 
  Step size:  mu = 0.1, sigma = 0.1, df = 0.1 
  
  Families:
  
  	 Student's t-distribution: mu (id link) 
  
  Loss function: { 
       -1 * (lgamma((df + 1)/2) - log(sigma) - lgamma(1/2) - lgamma(df/2) -  
           0.5 * log(df) - (df + 1)/2 * log(1 + (y - f)^2/(df *  
           sigma^2))) 
   } 
   
  
  	 Student's t-distribution: sigma (log link) 
  
  Loss function: { 
       -1 * (lgamma((df + 1)/2) - f - lgamma(1/2) - lgamma(df/2) -  
           0.5 * log(df) - (df + 1)/2 * log(1 + (y - mu)^2/(df *  
           exp(2 * f)))) 
   } 
   
  
  	 Student's t-distribution: df (log link) 
  
  Loss function: { 
       -1 * (lgamma((exp(f) + 1)/2) - log(sigma) - lgamma(1/2) -  
           lgamma(exp(f)/2) - 0.5 * f - (exp(f) + 1)/2 * log(1 +  
           (y - mu)^2/(exp(f) * sigma^2))) 
   } 
   
  > stopifnot(all.equal(coef(model),coef(model2)))
  > stopifnot(length(coef(model2, aggregate = "none")[[1]][[1]]) ==
  +           length(coef(model, aggregate = "none")[[1]][[1]]))
  > stopifnot(length(coef(model2, aggregate = "none")[[1]][[1]]) == 20)
  > 
  > model <- glmboostLSS(y ~ x1 + x2, families = StudentTLSS(),
  +                      control = boost_control(mstop = 10),
  +                      center = TRUE)
  > model2[10]
  
  	 LSS Models fitted via Model-based Boosting
  
  Call:
  glmboostLSS(formula = y ~ x1 + x2, families = StudentTLSS(),     control = boost_control(mstop = 20), center = TRUE)
  
  Number of boosting iterations (mstop):  mu = 10, sigma = 10, df = 10 
  Step size:  mu = 0.1, sigma = 0.1, df = 0.1 
  
  Families:
  
  	 Student's t-distribution: mu (id link) 
  
  Loss function: { 
       -1 * (lgamma((df + 1)/2) - log(sigma) - lgamma(1/2) - lgamma(df/2) -  
           0.5 * log(df) - (df + 1)/2 * log(1 + (y - f)^2/(df *  
           sigma^2))) 
   } 
   
  
  	 Student's t-distribution: sigma (log link) 
  
  Loss function: { 
       -1 * (lgamma((df + 1)/2) - f - lgamma(1/2) - lgamma(df/2) -  
           0.5 * log(df) - (df + 1)/2 * log(1 + (y - mu)^2/(df *  
           exp(2 * f)))) 
   } 
   
  
  	 Student's t-distribution: df (log link) 
  
  Loss function: { 
       -1 * (lgamma((exp(f) + 1)/2) - log(sigma) - lgamma(1/2) -  
           lgamma(exp(f)/2) - 0.5 * f - (exp(f) + 1)/2 * log(1 +  
           (y - mu)^2/(exp(f) * sigma^2))) 
   } 
   
  > stopifnot(all.equal(coef(model),coef(model2)))
  > stopifnot(length(coef(model2, aggregate = "none")[[1]][[1]]) ==
  +           length(coef(model, aggregate = "none")[[1]][[1]]))
  > stopifnot(length(coef(model2, aggregate = "none")[[1]][[1]]) == 10)
  > 
  > ### check trace
  > model <- glmboostLSS(y ~ x1 + x2, families = StudentTLSS(),
  +                      control = boost_control(mstop = 10, trace =TRUE),
  +                      center = TRUE)
  [  1] .........
  Final risk: 13591.79 
  > model[100]
  [ 11] ........................................ -- risk: 12681.81 
  [ 51] ........................................ -- risk: 12508.02 
  [ 91] .........
  Final risk: 12491.57 
  
  	 LSS Models fitted via Model-based Boosting
  
  Call:
  glmboostLSS(formula = y ~ x1 + x2, families = StudentTLSS(),     control = boost_control(mstop = 10, trace = TRUE), center = TRUE)
  
  Number of boosting iterations (mstop):  mu = 100, sigma = 100, df = 100 
  Step size:  mu = 0.1, sigma = 0.1, df = 0.1 
  
  Families:
  
  	 Student's t-distribution: mu (id link) 
  
  Loss function: { 
       -1 * (lgamma((df + 1)/2) - log(sigma) - lgamma(1/2) - lgamma(df/2) -  
           0.5 * log(df) - (df + 1)/2 * log(1 + (y - f)^2/(df *  
           sigma^2))) 
   } 
   
  
  	 Student's t-distribution: sigma (log link) 
  
  Loss function: { 
       -1 * (lgamma((df + 1)/2) - f - lgamma(1/2) - lgamma(df/2) -  
           0.5 * log(df) - (df + 1)/2 * log(1 + (y - mu)^2/(df *  
           exp(2 * f)))) 
   } 
   
  
  	 Student's t-distribution: df (log link) 
  
  Loss function: { 
       -1 * (lgamma((exp(f) + 1)/2) - log(sigma) - lgamma(1/2) -  
           lgamma(exp(f)/2) - 0.5 * f - (exp(f) + 1)/2 * log(1 +  
           (y - mu)^2/(exp(f) * sigma^2))) 
   } 
   
  > 
  > ### check formula-interface with lists
  > set.seed(1907)
  > n <- 5000
  > x1  <- runif(n)
  > x2 <- runif(n)
  > mu <- 2 - 3*x2
  > sigma <- exp(-1*x1 + 3*x2)
  > df <- exp(1 + 3*x1)
  > y <- rTF(n = n, mu = mu, sigma = sigma, nu = df)
  > model <- glmboostLSS(list(mu = y ~ x2,
  +                           sigma = y ~ x1 + x2,
  +                           df = y ~ x1),
  +                      families = StudentTLSS(),
  +                      control = boost_control(mstop = 10, trace =TRUE),
  +                      center = TRUE)
  [  1] .........
  Final risk: 13810.72 
  > 
  > stopifnot(all.equal(lapply(coef(model, which = ""), function(x) names(x)[-1]),
  +                     list(mu = "x2", sigma = c("x1", "x2"), df = "x1")))
  > 
  > model <- glmboostLSS(list(mu = y ~ x2,
  +                           df = y ~ x1,
  +                           sigma = y ~ x1 + x2),
  +                      families = StudentTLSS(),
  +                      control = boost_control(mstop = 10, trace =TRUE),
  +                      center = TRUE)
  [  1] .........
  Final risk: 13810.72 
  > 
  > stopifnot(all.equal(lapply(coef(model, which = ""), function(x) names(x)[-1]),
  +                     list(mu = "x2", sigma = c("x1", "x2"), df = "x1")))
  > 
  > ### check formula-interface with lists and different responses
  > ### (not really sensible with the current families)
  > y2 <- y + 1
  > model2 <- glmboostLSS(list(mu = y ~ x2,
  +                            sigma = y ~ x1 + x2,
  +                            df = y2 ~ x1),
  +                       families = StudentTLSS(),
  +                       control = boost_control(mstop = 10, trace =TRUE),
  +                       center = TRUE)
  [  1] .........
  Final risk: 14135.24 
  Warning message:
  In mboostLSS_fit(formula = formula, data = data, families = families,  :
    responses differ for the components
  > sapply(model, function(comps) comps$offset)
        mu    sigma       df 
  1.160244 1.177889 0.765566 
  > sapply(model2, function(comps) comps$offset)
         mu     sigma        df 
  1.1602444 1.1778894 0.8176417 
  > stopifnot((model2[[1]]$offset - model[[1]]$offset) < sqrt(.Machine$double.eps))
  > stopifnot((model2[[2]]$offset - model[[2]]$offset) < sqrt(.Machine$double.eps))
  > stopifnot(model2[[3]]$offset != model[[3]]$offset)
  > 
  > ### even better check for offset-issue when different responses are used
  > set.seed(0804)
  > x1 <- runif(1000)
  > x2 <- runif(1000)
  > x3 <- runif(1000)
  > x4 <- runif(1000)
  > mu    <- 1.5 +1 * x1 +4 * x2
  > sigma <- exp(1 - 0.2 * x3 -0.4 * x4)
  > y <- rnorm(mean=mu, sd=1, n=length(mu))
  > y2 <- rnorm(mean=0, sd=sigma, n=length(sigma))
  > dat <- data.frame(x1, x2, x3, x4, y, y2)
  > model <- glmboostLSS(formula=list(mu=y~x1+x2, sigma=y2~x3+x4),
  +                      families=GaussianLSS(), data=dat)
  Warning message:
  In mboostLSS_fit(formula = formula, data = data, families = families,  :
    responses differ for the components
  > ## offset for mu must be equal to the mean of y per default
  > stopifnot((model$mu$offset - mean(y)) < sqrt(.Machine$double.eps))
  > ## offset for sigma must be equal to the log of the standard deviation of y2 per
  > ## default
  > stopifnot((model$sigma$offset - log(sd(y2))) < sqrt(.Machine$double.eps))
  > 
  > 
  > ### check weights interface
  > set.seed(1907)
  > n <- 2500
  > x1  <- runif(n)
  > x2 <- runif(n)
  > mu <- 2 - 3*x2
  > sigma <- exp(-1*x1 + 3*x2)
  > df <- exp(1 + 3*x1)
  > y <- rTF(n = n, mu = mu, sigma = sigma, nu = df)
  > dat <- data.frame(x1, x2, y)
  > dat2 <- rbind(dat, dat) # data frame with duplicate entries
  > 
  > model <- glmboostLSS(list(mu = y ~ x2,
  +                           sigma = y ~ x1 + x2,
  +                           df = y ~ x1),
  +                      data = dat, weights = rep(2, nrow(dat)),
  +                      families = StudentTLSS(),
  +                      control = boost_control(mstop = 10, trace =TRUE),
  +                      center = TRUE)
  [  1] .........
  Final risk: 13810.99 
  > 
  > model2 <- glmboostLSS(list(mu = y ~ x2,
  +                            sigma = y ~ x1 + x2,
  +                            df = y ~ x1),
  +                       data = dat2, families = StudentTLSS(),
  +                       control = boost_control(mstop = 10, trace =TRUE),
  +                       center = TRUE)
  [  1] .........
  Final risk: 13810.99 
  > 
  > stopifnot(all.equal(coef(model), coef(model2)))
  > 
  > proc.time()
     user  system elapsed 
     7.01    0.23    7.23 
Running the tests in 'tests/regtest-stabsel.R' failed.
Complete output:
  > require("gamboostLSS")
  Loading required package: gamboostLSS
  Loading required package: mboost
  Loading required package: parallel
  Loading required package: stabs
  
  Attaching package: 'gamboostLSS'
  
  The following object is masked from 'package:stats':
  
      model.weights
  
  > ### Data generating process:
  > set.seed(1907)
  > x1 <- rnorm(500)
  > x2 <- rnorm(500)
  > x3 <- rnorm(500)
  > x4 <- rnorm(500)
  > x5 <- rnorm(500)
  > x6 <- rnorm(500)
  > mu    <- exp(1.5 +1 * x1 +0.5 * x2 -0.5 * x3 -1 * x4)
  > sigma <- exp(-0.4 * x3 -0.2 * x4 +0.2 * x5 +0.4 * x6)
  > y <- numeric(500)
  > for( i in 1:500)
  +     y[i] <- rnbinom(1, size = sigma[i], mu = mu[i])
  > dat <- data.frame(x1, x2, x3, x4, x5, x6, y)
  > 
  > model <- glmboostLSS(y ~ ., families = NBinomialLSS(), data = dat,
  +                      control = boost_control(mstop = 10),
  +                      center = TRUE, method = "cyclic")
  > s1 <- stabsel(model, q = 5, PFER = 1, B = 10) ## warning is expected
  Run stabsel ....................
  Warning message:
  In stabsel.mboostLSS(model, q = 5, PFER = 1, B = 10) :
    'mstop' too small in 11 of the 20 subsampling replicates to select 'q' base-learners; Increase 'mstop' bevor applying 'stabsel'
  > plot(s1)
  > plot(s1, type = "paths")
  > 
  > model <- glmboostLSS(y ~ ., families = NBinomialLSS(), data = dat,
  +                      control = boost_control(mstop = 10),
  +                      center = TRUE, method = "noncyclic")
  > s2 <- stabsel(model, q = 5, PFER = 1, B = 10) ## warning is expected
  Run stabsel ....................
  Warning message:
  In stabsel.mboostLSS(model, q = 5, PFER = 1, B = 10) :
    'mstop' too small in 20 of the 20 subsampling replicates to select 'q' base-learners; Increase 'mstop' bevor applying 'stabsel'
  > plot(s2)
  > plot(s2, type = "paths")
  > 
  > ## with informative sigma:
  > sigma <- exp(-0.4 * x3 -0.2 * x4 +0.2 * x5 + 1 * x6)
  > y <- numeric(500)
  > for( i in 1:500)
  +     y[i] <- rnbinom(1, size = sigma[i], mu = mu[i])
  > dat <- data.frame(x1, x2, x3, x4, x5, x6, y)
  > 
  > model <- glmboostLSS(y ~ ., families = NBinomialLSS(), data = dat,
  +                      control = boost_control(mstop = 10),
  +                      center = TRUE, method = "cyclic")
  > s3 <- stabsel(model, q = 5, PFER = 1, B = 10) ## warning is expected
  Run stabsel ....................
  Warning message:
  In stabsel.mboostLSS(model, q = 5, PFER = 1, B = 10) :
    'mstop' too small in 18 of the 20 subsampling replicates to select 'q' base-learners; Increase 'mstop' bevor applying 'stabsel'
  > plot(s3)
  > plot(s3, type = "paths")
  > 
  > model <- glmboostLSS(y ~ ., families = NBinomialLSS(), data = dat,
  +                      control = boost_control(mstop = 10),
  +                      center = TRUE, method = "noncyclic")
  > s4 <- stabsel(model, q = 5, PFER = 1, B = 10) ## warning is expected
  Run stabsel ....................
  Warning message:
  In stabsel.mboostLSS(model, q = 5, PFER = 1, B = 10) :
    'mstop' too small in 20 of the 20 subsampling replicates to select 'q' base-learners; Increase 'mstop' bevor applying 'stabsel'
  > plot(s4)
  > plot(s4, type = "paths")
  > 
  > proc.time()
     user  system elapsed 
     5.67    0.50    6.17