PyJCFit: A Non-Linear Regression Random Search Algorithm for Chemistry Data Fitting

13 March 2024, Version 2
This content is a preprint and has not undergone peer review at the time of posting.

Abstract

Hyperparameter optimization using non-linear least-square regression is a common fitting method for data analysis in chemistry, physics, biology, and engineering. It is sometimes challenging to balance various factors such as accuracy, computational time cost, and time cost in setting up the optimization. In this report, I introduce a naïve dynamic grid-searching algorithm named Python jump-chain fitting (PyJCFit) to reduce setting up time costs for a beginner in early-stage optimizations, which combines two different methods, grid and stochastic searching algorithms. The idea is to search all parameters heuristically and sequentially (a vector, not a grid matrix) in trusted bounds with an exponential distribution of space paying attention to the neighbor area of the guessed value. The distribution is somewhat random, and the chain does not require differential equations to optimize. PyJCFit is relatively slow but carries significant advantages in compound equations with breaks, peak searching, and global fitting; and various scoring functions beyond square residual, even those poorly behaved are allowed.

Keywords

non-linear curve fitting
least-square regression
global fitting
random searching algorithm
optimization method
jump-chain searching algorithm

Supplementary weblinks

Comments

Comments are not moderated before they are posted, but they can be removed by the site moderators if they are found to be in contravention of our Commenting Policy [opens in a new tab] - please read this policy before you post. Comments should be used for scholarly discussion of the content in question. You can find more information about how to use the commenting feature here [opens in a new tab] .
This site is protected by reCAPTCHA and the Google Privacy Policy [opens in a new tab] and Terms of Service [opens in a new tab] apply.