Learn R Programming

dsem (version 1.6.0)

stepwise_selection: Simulate dsem

Description

Plot from a fitted dsem model

Usage

stepwise_selection(
  model_options,
  model_shared,
  options_initial = c(),
  quiet = FALSE,
  criterion = AIC,
  ...
)

Value

An object (list) that includes:

model

the string with the selected SEM model

record

a list showing the AIC and whether each model_options is included or not

Arguments

model_options

character-vector containing sem elements that could be included or dropped depending upon their parsimony

model_shared

character-vector containing sem elements that must be included regardless of parsimony

options_initial

character-vector containing some (possible empty) subset of model_options, where stepwise selection begins with that set of model options included.

quiet

whether to avoid displaying progress to terminal

criterion

function that computes the information criterion to be minimized, typically using AIC. However, users can instead supply a function that computes CIC using test_dsep and desired settings, presumably including a set.seed if missing data are being imputed

...

arguments passed to dsem, other than sem e.g., tsdata, family etc.

Details

This function conducts stepwise (i.e., forwards and backwards) model selection using marginal AIC, while forcing some model elements to be included and selecting among others.

Examples

Run this code
# Simulate x -> y -> z
set.seed(101)
x = rnorm(100)
y = 0.5*x + rnorm(100)
z = 1*y + rnorm(100)
tsdata = ts(data.frame(x=x, y=y, z=z))

# define candidates
model_options = c(
  "y -> z, 0, y_to_z",
  "x -> z, 0, x_to_z"
)
# define paths that are required
model_shared = "
  x -> y, 0, x_to_y
"

# Do selection
step = stepwise_selection(
  model_options = model_options,
  model_shared = model_shared,
  tsdata = tsdata,
  quiet = TRUE
)

# Check selected model
cat(step$model)

Run the code above in your browser using DataLab