Performs diagnostic checks on fitted demand models, returning information about convergence, boundary conditions, and residual patterns.
Usage
check_demand_model(object, ...)
# S3 method for class 'beezdemand_hurdle'
check_demand_model(object, ...)
# S3 method for class 'beezdemand_nlme'
check_demand_model(object, ...)
# S3 method for class 'beezdemand_fixed'
check_demand_model(object, ...)Value
An object of class beezdemand_diagnostics containing:
- convergence
List with convergence status and messages
- boundary
List with boundary condition warnings
- residuals
Summary statistics for residuals
- random_effects
Summary of random effects (if applicable)
- issues
Character vector of identified issues
- recommendations
Character vector of recommendations
Details
The function checks for:
Convergence status and optimization messages
Parameters at or near boundaries
Residual patterns (heteroscedasticity, outliers)
Random effect variance estimates near zero
Correlation matrices near singularity
Note
This function is named check_demand_model() to avoid potential conflicts
with performance::check_model() from the performance package.
Examples
# \donttest{
data(apt)
fit <- fit_demand_hurdle(apt, y_var = "y", x_var = "x", id_var = "id")
#> Sample size may be too small for reliable estimation.
#> Subjects: 10, Parameters: 12, Recommended minimum: 60 subjects.
#> Consider using more subjects or the simpler 2-RE model.
#> Fitting HurdleDemand3RE model...
#> Part II: zhao_exponential
#> Subjects: 10, Observations: 160
#> Fixed parameters: 12, Random effects per subject: 3
#> Optimizing...
#> Converged in 81 iterations
#> Computing standard errors...
#> Done. Log-likelihood: 32.81
diagnostics <- check_demand_model(fit)
print(diagnostics)
#>
#> Model Diagnostics
#> ==================================================
#> Model class: beezdemand_hurdle
#>
#> Convergence:
#> Status: Converged
#>
#> Random Effects:
#>
#> Residuals:
#> Mean: -2.962e-05
#> SD: 0.133
#> Range: [-0.4069, 0.4708]
#> Outliers: 2 observations
#>
#> --------------------------------------------------
#> Issues Detected (1):
#> 1. Detected 2 potential outliers (|resid| > 3)
#>
#> Recommendations:
#> - Investigate outlying observations
# }
