Skip to main content

Computes non-parametric distributions by optizing 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.3.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

smoother-0.0.3-py3-none-any.whl (7.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: smoother-0.0.3.tar.gz
  • Upload date:
  • Size: 5.6 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.3.tar.gz
Algorithm Hash digest
SHA256 fcec1fc3dd59317608932192a7b48158e92a42a4d3d693dffed65c8f113a2445
MD5 b67996fa4e9be8a0b01369daa860940b
BLAKE2b-256 0d1de37f28dea0510f6644d090ca8d0b0b117d90f0de1e1daae28de3ac5a6afd

See more details on using hashes here.

File details

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

File metadata

  • Download URL: smoother-0.0.3-py3-none-any.whl
  • Upload date:
  • Size: 7.7 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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 46859049d1f1ac6839fb95edbec511d27544f30b379b4f914dfa2328c377d955
MD5 881baa2fe49bddb42d7bce0f35f9067e
BLAKE2b-256 1729092a9c14d0865a763dd01f35cb88242e2310a21bb14aaf8be35d742c3494

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