Skip to main content

PolyTrend is a regression tool that fits polynomial curves to noisy data.

Project description

PolyTrend

PolyTrend is a Python package aimed at facilitating polynomial trend fitting, visualization, and extrapolation. It offers a comprehensive set of functionalities to analyze and interpret data using polynomial regression techniques. Below, we provide an overview of the package along with additional formatting and explanations relevant for PyPI.

Introduction

PolyTrend is designed to approximate and plot a polynomial function onto given data, thereby aiding in the analysis of trends and patterns within datasets. Its development contributes to various fields including interpolation, polynomial regression, and approximation theory.

Key Functionalities

PolyTrend offers the following key functionalities:

  • polyplot(): This method plots the polynomial fit based on specified degrees of the polynomial and the provided data.
  • polyfind(): This method calculates the best-fit polynomial function by evaluating different polynomial degrees and selecting the one with the lowest Bayesian Information Criterion (BIC) score.
  • polygraph(): This method visualizes the polynomial function, the known data points, and any extrapolated data points if provided.

Usage

Users can utilize PolyTrend to perform the following tasks:

  1. Data Analysis: Analyze trends and patterns within datasets using polynomial regression techniques.
  2. Visualization: Visualize polynomial fits alongside original data points to gain insights into the relationship between variables.
  3. Extrapolation: Extrapolate future values based on the fitted polynomial function, enabling predictive modeling tasks.

Dependencies

PolyTrend relies on the following libraries for its computations and visualizations:

  • NumPy
  • pandas
  • Matplotlib
  • scikit-learn

Additional Resources

For further details on polynomial regression, refer to this wiki.

Installation

PolyTrend can be installed via pip:

pip install polytrend

Example Usage

import random
import polytrend as pt

# sample input
degrees = [1, 2, 3]
data = [
    (float(x), float(0.5 * x**2 - 2 * x + 1 + random.uniform(-1000, 1000)))
    for x in range(0, 100)
]

# Fit polynomial and visualize
pt.polyplot(degrees, data, extrapolate_data=[112, 140])

Feedback and Contributions

Feedback and contributions to PolyTrend are welcomed and encouraged. Please feel free to submit any issues or pull requests via the GitHub repository.

License

PolyTrend is licensed under the GNU GPL License. See the LICENSE file for details.

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

polytrend-1.0.9.tar.gz (19.1 kB view details)

Uploaded Source

Built Distribution

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

polytrend-1.0.9-py3-none-any.whl (19.3 kB view details)

Uploaded Python 3

File details

Details for the file polytrend-1.0.9.tar.gz.

File metadata

  • Download URL: polytrend-1.0.9.tar.gz
  • Upload date:
  • Size: 19.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for polytrend-1.0.9.tar.gz
Algorithm Hash digest
SHA256 eb5d4e07ebc89b2aee074520595b5d92cfab8c902f46977c5c660c469015f6ca
MD5 8cf23e64ae53f68fd2b1b056940f8842
BLAKE2b-256 fcda17981a0bc7d5d9904e57aaa3edc33af176ad325dfc7344cedbf82e2711c9

See more details on using hashes here.

File details

Details for the file polytrend-1.0.9-py3-none-any.whl.

File metadata

  • Download URL: polytrend-1.0.9-py3-none-any.whl
  • Upload date:
  • Size: 19.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.11.8

File hashes

Hashes for polytrend-1.0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 1d67beb45ee975f2983ab91e4f536a2c9337d89ee65bb1ca05053212063b49f9
MD5 95b4794a9dc77c403c96e7896e6f38e6
BLAKE2b-256 289ed432f391def5d13b2cd0ff7d8aec15dc3756f52bdb0ba5617b6a711b2544

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