FMRCC_PhaseII: Phase II of the FMRCC

View source: R/fmrcc.R

FMRCC_PhaseIIR Documentation

Phase II of the FMRCC

Description

Performs Phase II of the FMRCC methodology.

Usage

FMRCC_PhaseII(Y_test, X_test, phaseI)

Arguments

Y_test

Test response variable. Must be same type as training data (mfd for dense or list for sparse functional data).

X_test

Test predictor variables. Must be same type as training data (mfd, matrix, or list).

phaseI

Output from FMRCC_PhaseI containing the trained model and parameters.

Value

A list containing:

ARL

Average Run Length

phaseII

Detailed Phase II results, a list with:

  • df: Data frame with columns:

    • id: Observation identifier

    • loglikelihood: Log-likelihood statistic for each observation

    • status: 'IC' (in-control) or 'OC' (out-of-control)

  • ARL: Average Run Length value

See Also

FMRCC_PhaseI

Examples


# Length of the functional grid
l <- 100
# Number of observations
n <- 300

# Generate training in-control data with three equally-sized clusters, maximum dissimilarity
data <- simulate_data_fmrcc(n_obs = n, delta_1 = 1, delta_2 = 0.5, len_grid = l, severity = 0)
X_train_mfd <- get_mfd_list(data_list = data['X'], n_basis = 20)
Y_train_mfd <- get_mfd_list(data_list = data['Y'], n_basis = 20)

# Generate tuning in-control data with three equally-sized clusters, maximum dissimilarity
data <- simulate_data_fmrcc(n_obs = n, delta_1 = 1, delta_2 = 0.5, len_grid = l, severity = 0)
X_tun_mfd <- get_mfd_list(data_list = data['X'], n_basis = 20)
Y_tun_mfd <- get_mfd_list(data_list = data['Y'], n_basis = 20)

# Example with dense functional data
phaseI_results <- FMRCC_PhaseI(
  Y_train = Y_train_mfd,
  X_train = X_train_mfd,
  Y_tun = Y_tun_mfd,
  X_tun = X_tun_mfd,
  FVEy = 0.95,
  FVEx = 0.90,
  alpha = 0.01,
  groups = 1:3,
  sigma_par = c('VVV', 'EEE')
)

# View BIC plot
phaseI_results$BIC_plt

# Generate out-of-control data with three equally-sized clusters, maximum dissimilarity
data <- simulate_data_fmrcc(n_obs = n, delta_1 = 1, delta_2 = 0.5, len_grid = l, severity = 2)
X_test_mfd <- get_mfd_list(data_list = data['X'], n_basis = 20)
Y_test_mfd <- get_mfd_list(data_list = data['Y'], n_basis = 20)

# Perform the monitoring of the Phase II data
phaseII_results <- FMRCC_PhaseII(
  Y_test = Y_test_mfd,
  X_test = X_test_mfd,
  phaseI = phaseI_results
)

# Check Average Run Length
phaseII_results$ARL

# View monitoring results
head(phaseII_results$phaseII$df)

# Identify out-of-control observations
oc_observations <- phaseII_results$phaseII$df[phaseII_results$phaseII$df$status == 'OC',]
oc_observations


funcharts documentation built on Dec. 12, 2025, 5:06 p.m.