-
Notifications
You must be signed in to change notification settings - Fork 4
Semivariogram parameter fitting/optimization #251
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Semivariogram parameter fitting/optimization #251
Conversation
…IP_semivariogram_fitting
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hey @brandynlucca : thanks for the PR, good work! exciting to see the fitting functionality!
I have some inline comments, mostly for bundling things up so that the code would look a bit cleaner and easy to follow.
I read through all the main variogram functions called by Survey.fit_variogram
but not the various variogram models.
Because I didn't read the variogram models, I also noticed that they do not have accompanying tests. I think we can do without them in this PR, but it would be important to add them to make sure that the calculations are implemented correctly. I'll create an issue for this and let's discuss how to tackle it more efficiently.
Update: Added issue #263 to track testing needs.
…IP_semivariogram_fitting
for more information, see https://pre-commit.ci
by creating separate parameter classes with validation steps inherent to them.
…nlucca/echopop into WIP_semivariogram_fitting
for more information, see https://pre-commit.ci
`typing.TypedDict` class approach
for more information, see https://pre-commit.ci
for more information, see https://pre-commit.ci
…nlucca/echopop into WIP_semivariogram_fitting
for more information, see https://pre-commit.ci
storing expected test results
…nlucca/echopop into WIP_semivariogram_fitting
for more information, see https://pre-commit.ci
A new
Survey
-class method (fit_variogram(...)
) has been added to allow for the non-linear least squares fitting of variogram parameters. This includes options for only fitting select parameters (instead of all), as well as modifying different parameter values (i.e.initial_values
), bounds (i.e.lower_bounds
,upper_bounds
), and various arguments specific to the optimization methods/algorithm. These results can then be propagated over to theSurvey.kriging_analysis(..., best_fit_variogram = True)
method.