Skip to main content

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.

Metadata

Release files for smoother 0.0.5

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

Source distribution (sdist)

Source distribution for smoother 0.0.5
File Size Uploaded
smoother-0.0.5.tar.gz 5.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for smoother 0.0.5
File Interpreter ABI Platform
smoother-0.0.5-py3-none-any.whl Python 3 none any Details

Total release size: 13.7 kB

Release files / smoother-0.0.5.tar.gz

Download URL smoother-0.0.5.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
1486c649272ef40eb5539cb6535a55d7ed009d91cda7930b837b57c4d73f3676
BLAKE2b-256 checksum
How to use checksums
fe6c0704a54371405372abebef924ed653099f78445bdab9263560125f1cfb8f
Upload date
Uploaded using Trusted Publishing?
What is 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

Release files / smoother-0.0.5-py3-none-any.whl

Download URL smoother-0.0.5-py3-none-any.whl
Size 7.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
d042889d24bad9b7e25cb0cbbc5f7ab8fa59b7d2dab16df702910103f699e0a6
BLAKE2b-256 checksum
How to use checksums
15e2682187b4009e90917d32f056c20e0dacf8425e1f3f5f7c0ae1af578d0a55
Upload date
Uploaded using Trusted Publishing?
What is 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

Release history Release notifications | RSS feed

This release

0.0.5 This release

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 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