Releases: DataverseLabs/pyinterpolate
Huygens Crater
The new release with the major fix of bug related to the prediction error variance calculation. It was wrong in the previous releases of the package (but it didn't affect predictions, just error variance terms).
Changes:
- neighbors selection (lags counting) has been changed,
TheoreticalSemivariogram
searches for optimal sill in a grid search algorithm,- corrected error in
Krige
class; now calculation of error variance is correct.
Now predicted values have a lower variance of predictions and they are better due to the fact, that optimal sill is derived from the grid search. (In the previous releases sill was fixed and equal to data variance).
Gale Crater
In general, this update fixes bugs related to the Kriging interpolation. The algorithm has chosen n-closest neighbors without consideration about their range. Now it is fixed but oridnary_kriging()
and simple_kriging()
methods are invoked with three new parameters, one that controls the range of neighbors search, the other that controls the minimum number of neighbors if the algorithm doesn't detect any neighbor in the range and the last parameter that controls max number of neighbors (it is important from the computational time). Additionally, a few changes created by the new contributors during Hacktoberfest, are included in this release.
Changelog:
self.points_values
chenged toself.points_array
inTheoreticalSemivariogram
class,NaN
values are tested and checked incalc_semivariance_from_pt_cloud()
function,- new semivariogram models included in the package: cubic, circular, power,
- corrected calculation of the closest neighbors for kriging interpolation,
- changed
prepare_kriging_data()
function, - the new optional parameter
check_coordinates
(bool) ofcalc_point_to_point_distance()
function to control the coordinates uniqueness tests. This test is very resource-consuming and should be avoided in a normal work and it should be performed before data injection into the modeling pipeline. - the new
dev/profiling/
directory to test and profile parts of a code.
Jezero Crater
2021-05-13
version 0.2.3
- more parameters to store (and access) in TheoreticalSemivariogram class,
- error weighting against the linear regression model (ax + b),
- global mean for Simple Kriging as a required parameter,
- tqdm progress bar to
RegularizedSemivariogram.transform()
andinterpolate_raster()
functions, - refactored Semivariogram Regularization: ranges are controlled by algorithm, not an user,
- added pull request template,
- added issues templates,
- bug in spherical semivariogram model,
- experimental variogram as points (not a solid line),
- inverse distance weighting function: algorithm, tests, documentation and new tutorial,
- changed output names of regularized data (
ArealKriging.regularize_data
) from estimated value to reg.est and from estimated prediction error to reg.err, - error related to the id column as a string removed,
- TheoreticalSemivariogram
params
attribute changed tonugget
,sill
andrange
attributes.
Arabia Terra
The first release of pyinterpolate package! This package originated from public health / urban spaces analysis and it's role is to provide access to Poisson Kriging and Kriging interpolation techniques for wider audience.
The most important features of a package:
- semivariogram deconvolution procedure: you can upsample your choropleth maps to the resolution of point support grid,
- Area to Point and Area to Area Poisson Kriging,
- Ordinary and Simple Kriging,
- Smooth surface interpolation,
- Semivariogram estimation and analysis,
- Variogram cloud calculations and outliers removal.
In future package will be updated with the new interpolation techniques and semivariogram analysis tools up.
Name of release Arabia Terra (https://en.wikipedia.org/wiki/Arabia_Terra) is taken from Martian region which lies in the north part of Mars.
UPDATES:
2021-03-10: Directional semivariograms, corrected broken dependency in README.md.
2021-03-03: New tutorials, variogram point cloud analysis, outliers detection and removal.
2020-12-26: Module io renamed to io_ops to avoid any conflicts with Python's core package io. Semivariance calculation functions do not require passing arrays or lists of lags by an user,
2020-11-25: Updated package paths and corrected typos in docstrings.