Skip to main content

Tool for non-parametric curve fitting using local polynomials.

Project description

KernReg

PyPI Continuous Integration Codecov Codacy Badge Black

Introduction

KernReg provides a pure-Python routine for local polynomial kernel regression based on Wand & Jones (1995) and their accompanying R package KernSmooth. In addition, KernReg comes with an automatic bandwidth selection procedure that minimizes the residual squares criterion proposed by Fan & Gijbels (1996).

KernReg allows for the estimation of a regression function as well as their vth derivatives. The degree of the polynomial p must be equal to v + 1, v + 3, v + 5, or v + 7.

Local polynomial fitting provides a simple way of finding a functional relationship between two variables (where X typically denotes the predictor, and Y the response variable) without the imposition of a parametric model. It is a natural extension of local mean smoothing, as described by Nadaraya (1964) and Watson (1964). Instead of fitting a local mean, local polynomial smooting involves fitting a local pth-order polynomial via locally weighted least-squares. The Nadaraya–Watson estimator is thus equivalent to fitting a local polynomial of degree zero. Local polynomials of higher order have better bias properties and, in general, do not require bias adjustment at the boundaries of the regression space.

Installation

Install KernReg via PyPI.

$ pip install kernreg

Quick-Start

import kernreg as kr

motorcycle = kr.get_example_data()
x, y = motorcycle["time"], motorcycle["accel"]

# By default, only x and y need to be provided.
# Derivative = 0 is chosen by default
# and hence the polynomial degree = 0 + 1.
rslt_default = kr.locpoly(x, y)
kr.plot(x, y, rslt_default, "motorcycle_default_fit.png")

default fit

# We can improve on the default specification by
# choosing a higher order polynomial
rslt_user = kr.locpoly(x, y, degree=3)
kr.plot(x, y, rslt_user, "motorcycle_user_fit.png")

user fit

References

Fan, J. and Gijbels, I. (1996). Local Polynomial Modelling and Its Applications. Monographs on Statistics and Applied Probability, 66. Chapman & Hall.

Wand, M.P. & Jones, M.C. (1995). Kernel Smoothing. Monographs on Statistics and Applied Probability, 60. Chapman & Hall.

Wand, M.P. and Ripley, B. D. (2015). KernSmooth: Functions for Kernel Smoothing for Wand and Jones (1995). R package version 2.23-18.


* The image is taken from futurist illustrator Arthur Radebaugh's (1906–1974) Sunday comic strip Closer Than We Think!, which was published by the Chicago Tribune - New York News Syndicate from 1958 to 1963.

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

kernreg-0.0.9.tar.gz (15.9 kB view hashes)

Uploaded Source

Built Distribution

kernreg-0.0.9-py3-none-any.whl (16.3 kB view hashes)

Uploaded Python 3

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