Skip to content

Latest commit

 

History

History
81 lines (64 loc) · 4.43 KB

README.md

File metadata and controls

81 lines (64 loc) · 4.43 KB

oefpil

Build Documentation Downloads Version Rust License

Optimum Estimate of Function Parameters by Iterated Linearization (OEFPIL)

Algorithm for nonlinear function fitting to data with errors in variables where correlation, both within variables and among variables, might be present. In principle, OEFPIL can be employed for fitting both explicit and implicit functions of any number of variables. Importantly, apart from the parameter estimates, OEFPIL also yields their covariance matrix, required for further analyses.1 Common methods such as ordinary nonlinear least squares are not capable of treating general uncertainties and correlations in both dependent and independent variables. A new computation method for nonlinear curve fitting to data with a general covariance structure is introduced. Numerical simulations show that the new method yields parameter estimates in agreement with other methods for simple covariance structures. The obtained uncertainty estimates are in agreement with Monte Carlo studies.2

The most notable features of OEFPIL are as follows:2

  • The OEFPIL algorithm features an improved estimation of uncertainties and covariance matrices of the fitted parameters which can be further propagated to physical output variables.
  • More general covariance matrices for input data can be applied, although so far they do not seem to lead to significant shifts in the physical output variables. However, estimates of uncertainties of these are obviously affected.
  • Unlike ordinary least squares OEFPIL is not sensitive to the choice of dependent and independent variables.
  • Unlike non-linear least squares and orthogonal distance regression, a reasonable uncertainty estimate can be deduced directly without resorting to Monte Carlo studies, evading thus long computation times.
  • A possible disadvantage of OEFPIL is a higher sensitivity to initial estimates of parameters and the covariance matrix of the input data. However, so far problems have been encountered only for exaggerated estimates of the input covariance matrix.

This crate provides a safe API to the oefpil-sys crate (see its system requirements) which statically links to the C/Fortran library.

See the release history to keep track of the development.

Licenses

Except as noted below, this work is dual-licensed under either MIT or Apache-2.0 at your option. This means you can select the license you prefer. This dual-licensing approach is the de-facto standard in the Rust ecosystem. Copyrights in this work are retained by their contributors and no copyright assignment is required to contribute to this work. For full authorship information, see the individual files and the version control history.

The works in oefpil-sys carry their own copyright notices and license terms.

Contributions

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual-licensed as above, without any additional terms or conditions.

Footnotes

  1. R. Šlesinger, A. C. Campbell, Z. Geršlová, V. Šindlář, and G. Wimmer, “OEFPIL: New Method and Software Tool for Fitting Nonlinear Functions to Correlated Data With Errors in Variables”, 2023 14th International Conference on Measurement, 126-129 (2023).

  2. A. C. Campbell, Z. Geršlová, V. Šindlář, R. Šlesinger, and G. Wimmer, “New framework for nanoindentation curve fitting and measurement uncertainty estimation”, Precision Engineering 85, 166-173 (2024). 2