Learn R Programming

tbm (version 0.3-6)

ctmboost: Likelihood Boosting for Conditional Transformation Models

Description

Employs maximisation of the likelihood for estimation of conditional transformation models

Usage

ctmboost(model, formula, data = list(), weights = NULL, 
         method = quote(mboost::mboost), ...)

Value

An object of class ctmboost with predict and logLik methods.

Arguments

model

an object of class mlt as returned by mlt.

formula

a model formula describing how the parameters of model depend on explanatory variables, see mboost.

data

an optional data frame of observations.

weights

an optional vector of weights.

method

a call to mboost, gamboost, or blackboost.

...

additional arguments to method.

Details

The parameters of model depend on explanatory variables in a possibly structured additive way (see Hothorn, 2020). The number of boosting iterations is a hyperparameter which needs careful tuning.

References

Torsten Hothorn (2020). Transformation Boosting Machines. Statistics and Computing, 30, 141--152.

Examples

Run this code

  if (require("TH.data") && require("tram")) {
      data("bodyfat", package = "TH.data")

      ### estimate unconditional model      
      m_mlt <- BoxCox(DEXfat ~ 1, data = bodyfat, prob = c(.1, .99))
      ### get corresponding in-sample log-likelihood
      logLik(m_mlt)

      ### estimate conditional transformation model
      bm <- ctmboost(m_mlt, formula = DEXfat ~ ., data = bodyfat,
                     method = quote(mboost::mboost))
      ### in-sample log-likelihood (NEEDS TUNING OF mstop!)
      logLik(bm)

      ### evaluate conditional densities for two observations
      predict(bm, newdata = bodyfat[1:2,], type = "density")
  }

Run the code above in your browser using DataLab