Skip to main content

Computes non-parametric distributions by optimizing a constrained smoothing function

Project description

Smoother is a statistical tool for computing non-parametric distributions by optimizing a constrained smoothing function.

Why smoother?

We often want to estimate a distribution given limited information, such as its mean and standard deviation. Rather than impose parametric assumptions, smoother uses non-parametric techniques to infer an entire distribution given limited information.

Installation

$ pip install smoother

Quickstart

from smoother import Smoother, MomentConstraint

import matplotlib.pyplot as plt
import numpy as np

# fit a smooth distribution with given mean and standard deviation
lower_bound, upper_bound = -3, 3
mean_const = MomentConstraint(0, degree=1)
std_const = MomentConstraint(1, degree=2, type_='central', norm=True)
smoother = Smoother().fit(lower_bound, upper_bound, [mean_const, std_const])

# plot smoother pdf
x = np.linspace(lower_bound, upper_bound, num=100)
f_x = np.array([smoother.pdf(x_i) for x_i in x])
plt.plot(x, f_x)

The result should look like a normal distribution.

Citation

@software{bowen2020smoother,
  author = {Dillon Bowen},
  title = {Smoother: a statistical package for computing smooth, non-parametric distributions},
  url = {https://dsbowen.github.io/smoother/},
  date = {2020-08-06},
}

License

Users must cite this package in any publications which use it.

It is licensed with the MIT License.

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

smoother-0.0.5.tar.gz (5.8 kB view details)

Uploaded Source

Built Distribution

smoother-0.0.5-py3-none-any.whl (7.9 kB view details)

Uploaded Python 3

File details

Details for the file smoother-0.0.5.tar.gz.

File metadata

  • Download URL: smoother-0.0.5.tar.gz
  • Upload date:
  • Size: 5.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8

File hashes

Hashes for smoother-0.0.5.tar.gz
Algorithm Hash digest
SHA256 1486c649272ef40eb5539cb6535a55d7ed009d91cda7930b837b57c4d73f3676
MD5 f6a27a62ab25f5307a3e3b22778f3544
BLAKE2b-256 fe6c0704a54371405372abebef924ed653099f78445bdab9263560125f1cfb8f

See more details on using hashes here.

File details

Details for the file smoother-0.0.5-py3-none-any.whl.

File metadata

  • Download URL: smoother-0.0.5-py3-none-any.whl
  • Upload date:
  • Size: 7.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.48.2 CPython/3.6.8

File hashes

Hashes for smoother-0.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 d042889d24bad9b7e25cb0cbbc5f7ab8fa59b7d2dab16df702910103f699e0a6
MD5 ca8d9176b6f6c04dedfae142471356fa
BLAKE2b-256 15e2682187b4009e90917d32f056c20e0dacf8425e1f3f5f7c0ae1af578d0a55

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