Skip to main content

Regressions

The regressions library is a collection of algorithms for fitting data to different functional models by using linear algebra and machine learning. It can generate the following eight key regression models based on any data set: linear, quadratic, cubic, hyperbolic, exponential, logarithmic, logistic, and sinusoidal. For each model, it outputs the constants of the equation, notable graphical points, and the correlation coefficient, among other useful details. For more information, view the library's full code base to understand how it works or its documentation to master the nuances of its usage.

Requirements

  • Python 3.8 or higher
  • NumPy
  • SciPy

Installation

pip3 install regressions

Usage

from regressions.execute import run_all # Import function to generate all models

data_set = [[1, 32], [2, 25], [3, 14], [4, 23], [5, 39], [6, 45], [7, 42], [8, 49], [9, 36], [10, 33]] # Create data set to test
results = run_all(data_set) # Generate all models for data set

linear = results['models']['linear'] # Grab specifics for linear model
linear_constants = linear['constants'] # Grab constants of equation for linear model
print(linear_constants) # [1.9636, 23.0]
linear_correlation = linear['correlation'] # Grab correlation coefficient for linear model
print(linear_correlation) # 0.5516

quadratic = results['models']['quadratic'] # Grab specifics for quadratic model
quadratic_constants = quadratic['constants'] # Grab constants of equation for quadratic model
print(quadratic_constants) # [-0.3106, 5.3803, 16.1667]
quadratic_correlation = quadratic['correlation'] # Grab correlation coefficient for quadratic model
print(quadratic_correlation) # 0.5941

cubic = results['models']['cubic'] # Grab specifics for cubic model
cubic_constants = cubic['constants'] # Grab constants of equation for cubic model
print(cubic_constants) # [-0.3881, 6.0932, -24.155, 49.4667]
cubic_correlation = cubic['correlation'] # Grab correlation coefficient for cubic model
print(cubic_correlation) # 0.8933

hyperbolic = results['models']['hyperbolic'] # Grab specifics for hyperbolic model
hyperbolic_constants = hyperbolic['constants'] # Grab constants of equation for hyperbolic model
print(hyperbolic_constants) # [-13.5246, 37.7613]
hyperbolic_correlation = hyperbolic['correlation'] # Grab correlation coefficient for hyperbolic model
print(hyperbolic_correlation) # 0.3479

exponential = results['models']['exponential'] # Grab specifics for exponential model
exponential_constants = exponential['constants'] # Grab constants of equation for exponential model
print(exponential_constants) # [22.1049, 1.0692]
exponential_correlation = exponential['correlation'] # Grab correlation coefficient for exponential model
print(exponential_correlation) # 0.5069

logarithmic = results['models']['logarithmic'] # Grab specifics for logarithmic model
logarithmic_constants = logarithmic['constants'] # Grab constants of equation for logarithmic model
print(logarithmic_constants) # [7.4791, 22.5032]
logarithmic_correlation = logarithmic['correlation'] # Grab correlation coefficient for logarithmic model
print(logarithmic_correlation) # 0.5086

logistic = results['models']['logistic'] # Grab specifics for logistic model
logistic_constants = logistic['constants'] # Grab constants of equation for logistic model
print(logistic_constants) # [43.9838, 0.3076, 0.9747]
logistic_correlation = logistic['correlation'] # Grab correlation coefficient for logistic model
print(logistic_correlation) # 0.5875

sinusoidal = results['models']['sinusoidal'] # Grab specifics for sinusoidal model
sinusoidal_constants = sinusoidal['constants'] # Grab constants of equation for sinusoidal model
print(sinusoidal_constants) # [14.0875, 0.7119, -3.7531, 34.2915]
sinusoidal_correlation = sinusoidal['correlation'] # Grab correlation coefficient for sinusoidal model
print(sinusoidal_correlation) # 0.9264

optimal = results['optimal']['option'] # Grab name of model with highest correlation coefficient
print(optimal) # 'sinusoidal'

Recent Updates

as of version 2.1.0 (released 05/16/21)

  • Logistic models with higher correlation coeffients on average
  • Sinusoidal models with notes about their key graphical features iin which their general forms include only a plus sign before the periodic unit as opposed to both plus and minus signs in some cases

To see all updates by version number, view the Release Notes section of its documentation.

To see all logs for the library, view its commit history on GitHub.

Testing

There are currently 1445 tests for this library. To run all of them:

  1. Clone this repository: git clone https://github.com/jtreeves/regressions_library.git
  2. Enter the directory: cd regressons_library
  3. Run tests: python3 -m unittest

Metadata

Release files for regressions 2.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for regressions 2.1.1
File Size Uploaded
regressions-2.1.1.tar.gz 105.4 kB Details

Release files / regressions-2.1.1.tar.gz

Download URL regressions-2.1.1.tar.gz
Size 105.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b1fb93c64f05d6d6b9f7fff74eaff7a2e68c3dacd1254898e2efc44d6e79b312
BLAKE2b-256 checksum
How to use checksums
aa448ed871acfdba96ddea4bd62973b95f8b6f3482c36e177bdf35f054a4237e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/3.3.0 pkginfo/1.7.0 requests/2.25.1 setuptools/52.0.0 requests-toolbelt/0.9.1 tqdm/4.56.0 CPython/3.9.1

Release history Release notifications | RSS feed

This release

2.1.1 This release

1 release file

2.1.0

1 release file

2.0.8

1 release file

2.0.7

1 release file

2.0.6

1 release file

2.0.5

2 release files

2.0.4

1 release file

2.0.3

2 release files

2.0.2

1 release file

2.0.1

1 release file

2.0.0

1 release file

1.0.1

1 release file

1.0

3 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page