Skip to contents

Build an estimation-iteration report (preferred alias)

Usage

estimation_iteration_report(
  fit,
  max_iter = 20,
  reltol = NULL,
  include_prox = TRUE,
  include_fixed = FALSE
)

Arguments

fit

Output from fit_mfrm().

max_iter

Maximum replay iterations (excluding optional initial row).

reltol

Stopping tolerance for replayed max-logit change.

include_prox

If TRUE, include an initial pseudo-row labeled PROX.

include_fixed

If TRUE, include a legacy-compatible fixed-width text block.

Value

A named list with iteration-report components. Class: mfrm_iteration_report.

Details

summary(out) is supported through summary(). plot(out) is dispatched through plot() for class mfrm_iteration_report (type = "residual", "logit_change", "objective").

Interpreting output

  • iterations: trajectory of convergence indicators by iteration.

  • summary: final status and stopping diagnostics.

  • optional PROX row: pseudo-initial reference point when enabled.

Typical workflow

  1. Run estimation_iteration_report(fit).

  2. Inspect plateau/stability patterns in summary/plot.

  3. Adjust optimization settings if convergence looks weak.

Examples

toy <- load_mfrmr_data("example_core")
fit <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score", method = "JML", maxit = 25)
out <- estimation_iteration_report(fit, max_iter = 5)
summary(out)
#> mfrmr Iteration Report Summary 
#>   Class: mfrm_iteration_report
#>   Components (3): table, summary, settings
#> 
#> Iteration overview
#>  FinalConverged FinalIterations ReplayRows ConnectedSubset
#>            TRUE              67          6            TRUE
#> 
#> Iteration rows: table
#>  Method Iteration MaxScoreResidualElements MaxScoreResidualPercent
#>    PROX         1                   44.000                1466.667
#>    JMLE         2                   31.155                1038.502
#>    JMLE         3                   17.309                 576.978
#>    JMLE         4                  -21.846                -728.200
#>    JMLE         5                   14.911                 497.023
#>    JMLE         6                  -56.658               -1888.603
#>  MaxScoreResidualCategories MaxLogitChangeElements MaxLogitChangeSteps
#>                     -39.726                     NA                  NA
#>                     -33.036                  0.226               0.058
#>                      -6.366                  0.250               0.240
#>                       5.154                  0.154               0.040
#>                       3.051                  0.134               0.006
#>                     -19.938                  0.596               0.077
#>  Objective
#>         NA
#>  -1025.442
#>   -977.803
#>   -951.999
#>   -945.933
#>   -887.233
#> 
#> Settings
#>        Setting Value
#>       max_iter     5
#>         reltol 1e-06
#>   include_prox  TRUE
#>    quad_points    15
#>  include_fixed FALSE
#> 
#> Notes
#>  - Legacy-compatible Table 3 replay of estimation iterations.
p_iter <- plot(out, draw = FALSE)
class(p_iter)
#> [1] "mfrm_plot_data" "list"