Skip to main content

Regression workflows package based on Least Squares Regression and Quantile Regression.

Project description

Regressionizer

Python package with a class that allows pipeline-like specification and execution of regression workflows.

Extensive guide is given in the Jupyter notebook "Rapid-specification-of-regression-workflows.ipynb" and the corresponding Markdown document "Rapid-specification-of-regression-workflows.md".


Features summary

  • The class Regressionizer facilitates rapid specifications of regressions workflows.

    • To quickly specify:
      • data rescaling and summary
      • regression computations
      • outliers finding
      • conditional Cumulative Distribution Functions (CDFs) reconstruction
      • plotting of data, fits, residual errors, outliers, CDFs
  • Regressionizer works with data frames, numpy arrays, lists of numbers, and lists of numeric pairs.

Details and arguments

  • The curves computed with Quantile Regression are called regression quantiles.

  • Regressionizer has three regression methods:

    • quantile_regression
    • quantile_regression_fit
    • least_squares_fit
  • The regression quantiles computed with the methods quantile_regression and quantile_regression_fit correspond to probabilities specified with the argument probs.

  • The methodquantile_regression computes fits using a B-spline functions basis.

    • The basis is specified with the arguments knots and order.
    • order is 3 by default.
  • The methods quantile_regession_fit and least_squares_fit use lists of basis functions to fit with specified with the argument funcs.

Workflows flowchart

The following flowchart summarizes the workflows that are supported by Regressionizer:


Usage examples

Import libraries:

from Regressionizer import *
import numpy as np

Generate random data:

np.random.seed(0)
x = np.linspace(0, 2, 300)
y = np.sin(2 * np.pi * x) + np.random.normal(0, 0.4, x.shape)
data = np.column_stack((x, y)

Compute quantile regression for probabilities [0.2, 0.5, 0.8] and make the corresponding plot:

obj = (Regressionizer(data)
       .quantile_regression(knots=8, probs=[0.2, 0.5, 0.8])
       .plot(title="B-splines fit", template="plotly")
       )

Show the plot obtained above:

obj.take_value().show()


References

Articles, books

[RK1] Roger Koenker, Quantile Regression, Cambridge University Press, 2005.

[RK2] Roger Koenker, "Quantile Regression in R: a vignette", (2006), CRAN.

[AA1] Anton Antonov, "A monad for Quantile Regression workflows", (2018), MathematicaForPrediction at GitHub.

Packages, paclets

[RKp1] Roger Koenker, quantreg, CRAN.

[AAp1] Anton Antonov, Quantile Regression WL paclet, (2014-2023), GitHub/antononcube.

[AAp2] Anton Antonov, Monadic Quantile Regression WL paclet, (2018-2024), GitHub/antononcube.

[AAp3] Anton Antonov, QuantileRegression, (2019), Wolfram Function Repository.

Repositories

[AAr1] Anton Antonov, DSL::English::QuantileRegressionWorkflows in Raku, (2020), GitHub/antononcube.

Videos

[AAv1] Anton Antonov, "Boston useR! QuantileRegression Workflows 2019-04-18", (2019), Anton Antonov at YouTube.

[AAv2] Anton Antonov, "useR! 2020: How to simplify Machine Learning workflows specifications", (2020), R Consortium at YouTube.

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

regressionizer-0.1.9.tar.gz (24.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

Regressionizer-0.1.9-py3-none-any.whl (22.8 kB view details)

Uploaded Python 3

File details

Details for the file regressionizer-0.1.9.tar.gz.

File metadata

  • Download URL: regressionizer-0.1.9.tar.gz
  • Upload date:
  • Size: 24.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.2

File hashes

Hashes for regressionizer-0.1.9.tar.gz
Algorithm Hash digest
SHA256 75009e04708f22bbd738ac1e3b32ad1bdc900a8fac1a6017b9f7a30dc38dd41d
MD5 6a29437abdfac9a71064102aca458502
BLAKE2b-256 ea3d8062cee8b68346a964224e8338283fca81930cb9a7ea3121a47a65490b7c

See more details on using hashes here.

File details

Details for the file Regressionizer-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: Regressionizer-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 22.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.2

File hashes

Hashes for Regressionizer-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 ed487784ce58b783e21ff91bb92c74555c20a4bc14a577e70fdf2352dd876737
MD5 1ec9132644c05bf3def918541e6b7e02
BLAKE2b-256 852903dcdf644298616c61ace4fb28961125c2ab422d6e4c285876b93142744b

See more details on using hashes here.

Supported by

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