Package 'tbm'

Title: Transformation Boosting Machines
Description: Boosting the likelihood of conditional and shift transformation models as introduced in \doi{10.1007/s11222-019-09870-4}.
Authors: Torsten Hothorn [aut, cre]
Maintainer: Torsten Hothorn <[email protected]>
License: GPL-2
Version: 0.3-6
Built: 2024-11-01 13:28:41 UTC
Source: https://github.com/r-forge/ctm

Help Index


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), ...)

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.

Value

An object of class ctmboost with predict and logLik methods.

References

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

Examples

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")
  }

Likelihood Boosting for Shift Transformation Models

Description

Employs maximisation of the likelihood for estimation of shift transformation models

Usage

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

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.

mltargs

a list with arguments to be passed to mlt.

...

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.

Value

An object of class stmboost with predict and logLik methods.

References

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

Examples

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 <- stmboost(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")
  }