Skip to content

Tiny mismatch in CD and IRLS convergence criteria #423

Open
@tbenthompson

Description

@tbenthompson

See below. The IRLS solver warns that it failed to converge with the one iteration it was allowed. It's only allowed one iteration because this is a Gaussian problem so the quadratic approximation should be exact.
Looking at the convergence column in the output (0.000100) it seems that coordinate descent is exiting just a little bit earlier than it should. I think the problem is that the convergence criterion in the IRLS solver is slightly different than the convergence criterion in CD.

I don't think this is a big problem and I don't intend to work on it now but I just wanted to document it.

(quantcore.glm) ➜  quantcore.glm git:(benchmarks_figure) ✗ glm_benchmarks_run --threads 6 --num_rows 500000 --storage sparse --problem_name interme
diate-insurance-no-weights-lasso-gaussian --library_name quantcore-glm
running problem=intermediate-insurance-no-weights-lasso-gaussian library=quantcore-glm
/home/tbent/Dropbox/active/quantco/quantcore.glm/src/quantcore/glm/_solvers.py:348: ConvergenceWarning: IRLS failed to converge. Increase the maxim
um number of iterations max_iter (currently 1)
  warnings.warn(
Diagnostics:
        convergence  n_cycles  iteration_runtime   intercept
n_iter                                                      
0       2911.900983         0           0.119170  1842.74569
1          0.000100     25576           0.896123  1842.74569
ran problem intermediate-insurance-no-weights-lasso-gaussian with library quantcore-glm
ran in 1.0402872562408447

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions