Skip to content
New issue

Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? # to your account

improve goodness of fit assessments #33

Closed
jbloom opened this issue Mar 25, 2024 · 1 comment · Fixed by #37
Closed

improve goodness of fit assessments #33

jbloom opened this issue Mar 25, 2024 · 1 comment · Fixed by #37
Assignees

Comments

@jbloom
Copy link
Member

jbloom commented Mar 25, 2024

Previously, the goodness of fit was assessed just using the coefficient of determination (r2). This is fairly reasonable when the full sigmoid is fit.

However, if the points fall mostly on a line (either never reaches neutralization or always neutralized at concentrations fit), then the coefficient of determination may be poor even if the data are fit well.

In neutcurve version 2.0.0, now the root mean square deviation (rmsd) of the fit is also reported (see here).

The goodness of fit assessment QC should therefore now be updated to be something like this:

Either

  • the coefficient of determination (r2) is close to one, say > 0.8
  • or the root mean square deviation (rmsd) is close to zero, say < 0.05

These new criteria need to be implemented into the pipeline.

@jbloom
Copy link
Member Author

jbloom commented Mar 26, 2024

#34 updates neutcurve, still need to put rmsd into pipeline now.

@jbloom jbloom linked a pull request Mar 26, 2024 that will close this issue
jbloom added a commit that referenced this issue Mar 26, 2024
- In `process_plate_curvefit_qc` in the YAML configuration, there is a new key called `goodness_of_fit` and now both `min_R2` (the minimum coefficient of determination) and `max_RMSD` (the maximum mean square deviation) for each curve fit are specified as keys under that. The curves are then filtered to retain only those that meet *either* of these criteria (so must fail both to be dropped). Addresses [this issue](#33) and [this issue](jbloomlab/neutcurve#55 (comment)). Alongside this change, the `rmsd` is now reported in key output files. Also, in the tabulation of failures, `fails_min_R2` now becomes `fails_goodness_of_fit`.
  - This is a **backward-incompatible change** in the configuration YAML. Previously `min_R2` was a standalone key under `process_plate_curvefit_qc`; now `goodness_of_fit` is the required key and `min_R2` and `max_RMSD` are required keys under it.

- Added another plate (of H3N2 rather than H1N1) to the `test_example` to test some of the changes introduced in this version.
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant