Skip to main content

A Python package for Ratio-of-Uniforms sampling.

Project description

rusampling

lynnejewson.github.io/rusampling

A Python package for Ratio-of-Uniforms sampling in multiple dimensions.

Ratio-of-Uniforms is a method of sampling random variables that uses the pdf, which does not need to be normalised, and requires minimal setup.

Install from the terminal with pip install RUSampling.

Development of this package was funded by the Lighthill Risk Network: https://lighthillrisknetwork.org.

Many thanks to Paul Northrop, the author of RUST, the package for Ratio-of-Uniforms sampling in R, and who helped me with the development of this project.

Usage

  • Create an instance of the Ru class, passing the log-pdf logf, the dimension d (default 1), and any extra arguments that the log-pdf takes.
  • Call this object's rvs method, passing the number of samples n to generate. This returns a (n, d)- dimensional numpy array of samples.

Example: Sampling the log-normal distribution

import numpy as np
import scipy
from ru import Ru

logf = scipy.stats.lognorm.logpdf

t = Ru(logf, s=1)
samples = t.rvs(n=100000)
t.plot()

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

rusampling-0.0.2.tar.gz (10.6 kB view details)

Uploaded Source

Built Distribution

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

rusampling-0.0.2-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

Details for the file rusampling-0.0.2.tar.gz.

File metadata

  • Download URL: rusampling-0.0.2.tar.gz
  • Upload date:
  • Size: 10.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for rusampling-0.0.2.tar.gz
Algorithm Hash digest
SHA256 0100ffb2d9aeed1506652736ab6df696fc3c3751188dc2e06124aefed5078c0d
MD5 d41a40b8909622f62272ee91a220c8ed
BLAKE2b-256 a9ec023746881f056b9e84712bf1ac1c907f0ffa1b3b5a0cc535c40f2d959670

See more details on using hashes here.

File details

Details for the file rusampling-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: rusampling-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 12.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.13.5

File hashes

Hashes for rusampling-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 5d20d2ff0645fc4757d9ab6299c801ca6f25a43bba83ab3a4e240ea6091061b5
MD5 c8ec8b5c2704e50c2813772dd4fa2cf1
BLAKE2b-256 ad0cf91e7e89b42b7a92e61f13d40077d0240f0f1848e44294c4b450f6677f36

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