Skip to main content

Parametric and non-parametric regression, with plotting and testing methods.

Project description

PyQt-Fit

PyQt-Fit is a regression toolbox in Python with simple GUI and graphical tools to check your results. It currently handles regression based on user-defined functions with user-defined residuals (i.e. parametric regression) or non-parametric regression, either local-constant or local-polynomial, with the option to provide your own. There is also a full-GUI access, that currently provides an interface only to parametric regression.

The GUI for 1D data analysis is invoked with:

$ pyqt_fit1d.py

PyQt-Fit can also be used from the python interpreter. Here is a typical session:

>>> import pyqt_fit
>>> from pyqt_fit import plot_fit
>>> import numpy as np
>>> from matplotlib import pylab
>>> x = np.arange(0,3,0.01)
>>> y = 2*x + 4*x**2 + np.random.randn(*x.shape)
>>> def fct(params, x):
...     (a0, a1, a2) = params
...     return a0 + a1*x + a2*x*x
>>> est = pyqt_fit.CurveFitting(x, y, p0=(0,1,0), function=fct)
>>> est.fit() # Find the optimal parameters
>>> result = plot_fit.fit_evaluation(est, x, y)
>>> print(est(x)) # Display the estimated values
>>> plot_fit.plot1d(result)
>>> pylab.show()

PyQt-Fit is a package for regression in Python. There are two set of tools: for parametric, or non-parametric regression.

For the parametric regression, the user can define its own vectorized function (note that a normal function wrappred into numpy's "vectorize" function is perfectly fine here), and find the parameters that best fit some data. It also provides bootstrapping methods (either on the samples or on the residuals) to estimate confidence intervals on the parameter values and/or the fitted functions.

The non-parametric regression can currently be either local constant (i.e. spatial averaging) in nD or local-polynomial in 1D only. The bootstrapping function will also work with the non-parametric regression methods.

The package also provides with four evaluation of the regression: the plot of residuals vs. the X axis, the plot of normalized residuals vs. the Y axis, the QQ-plot of the residuals and the histogram of the residuals. All this can be output to a CSV file for further analysis in your favorite software (including most spreadsheet programs).

Release Notes

Version 1.4.0 is now using QtPy to abstract PySide or PyQt and Python 3.6.

Version 1.3.0 is not fully compatible with previous versions. Although the interfaces offer better flexibility, it will require some code change.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

PyQt-Fit-1.4.0.tar.gz (105.0 kB view details)

Uploaded Source

File details

Details for the file PyQt-Fit-1.4.0.tar.gz.

File metadata

  • Download URL: PyQt-Fit-1.4.0.tar.gz
  • Upload date:
  • Size: 105.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/45.3.0 requests-toolbelt/0.9.1 tqdm/4.43.0 CPython/3.6.9

File hashes

Hashes for PyQt-Fit-1.4.0.tar.gz
Algorithm Hash digest
SHA256 d1e45752c32d8a1435b9f38fe8f16bbea0f546b9fa59ec4fcb95da9335a769fc
MD5 eaf5b99e5a9b61d927536058045722cd
BLAKE2b-256 bd261679b81e3ca65aa955d91f57c2bd9fca7e05cb1b65bcc7d464961056e296

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page