Learn R Programming

hyreg2 (version 1.1.0)

FLXMRhyreg_het: M-step driver to be used in flexmix accounting for heteroscedastisity

Description

Function used in flexmix M-Step to estimate hybrid model accounting for heteroscedastisity

Usage

FLXMRhyreg_het(
  data,
  formula = . ~ .,
  formula_sigma = formula_sigma,
  family = c("hyreg"),
  type = NULL,
  type_cont = NULL,
  type_dich = NULL,
  variables_both = NULL,
  variables_cont = NULL,
  variables_dich = NULL,
  stv = NULL,
  stv_sigma = NULL,
  offset = NULL,
  opt_method = "BFGS",
  optimizer = "optim",
  lower = -Inf,
  upper = Inf,
  ...
)

Value

a model object, that can be used in hyreg2_het as input for parameter model in flexmix::flexmix()

Arguments

data

a data.frame containing the data, see Details of hyreg2_het

formula

linear model formula

formula_sigma

formula for estimation of sigma to account for heteroscedasticity, see Details hyreg2_het

family

default "hyreg", needed for flexmix::flexmix()

type

character vector containing the indicator whether that datapoint (row) contains continuous or dichotomous data, see Details of hyreg2_het

type_cont

value of type referring to continuous data, see Details of hyreg2_het

type_dich

value of type referring to dichotomous data, see Details of hyreg2_het

variables_both

character vector; variables to be fitted on both continuous and dichotomous data. see Details of hyreg2_het

variables_cont

character vector; variables to be fitted only on continous data. see Details of hyreg2_het

variables_dich

character vactor; variables to be fitted only on dichotomous data. see Details of hyreg2_het

stv

named vector or list of named vectors containing start values for all coefficients from formula, including theta, see Details of hyreg2_het

stv_sigma

named vector with start values for sigma estimation. Have to be the same variables as given in formula_sigma, see Details of hyreg2_het

offset

offset as in flexmix::flexmix(), default NULL

opt_method

character, optimization method to be used in optimizer, default "BFGS"

optimizer

character, optimizer to be used in bbmle::mle2(), default "optim"

lower

lower bound for censored data. If this is used, opt_method must be set to "L-BFGS-B", default -INF,

upper

upper bound for censored data. If this is used, opt_method must be set to "L-BFGS-B",default INF

...

additional arguments for flexmix::flexmix() or bbmle::mle2()

Author

Svenja Elkenkamp and Kim Rand

Examples

Run this code

formula <- y ~  -1 + x1 + x2 + x3
formula_sigma <- y ~ x1 + x2 + x3
stv <- setNames(c(0.2,0,1,1),c(colnames(simulated_data_norm)[3:5],c("theta")))
stv_sigma <- setNames(c(0.2,0.2,0.1,1),c(colnames(simulated_data_norm)[3:5],c("(Intercept)")))


x <- model.matrix(formula,simulated_data_norm)
y <- simulated_data_norm$y
w <- 1
model <- FLXMRhyreg_het( data = simulated_data_norm,
                     formula = formula,
                     formula_sigma = formula_sigma,
                    family=c("hyreg"),
                    type =  simulated_data_norm$type,
                    stv = stv,
                    stv_sigma = stv_sigma,
                    type_cont = "TTO",
                    type_dich = "DCE_A",
                    opt_method = "L-BFGS-B",
                    control = list(iter.max = 1000, verbose = 4),
                    offset = NULL,
                    optimizer = "optim",
                    variables_both =  names(stv)[!is.element(names(stv),c("theta"))],
                    variables_cont = NULL,
                    variables_dich = NULL,
                    lower = -Inf,
                    upper = Inf,
)

Run the code above in your browser using DataLab