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.4.tar.gz (10.8 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.4-py3-none-any.whl (12.6 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rusampling-0.0.4.tar.gz
  • Upload date:
  • Size: 10.8 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.4.tar.gz
Algorithm Hash digest
SHA256 92731ba8c680b3be94fbc1ec99501d72d6b899b360d0c8138eeabb81e04332dc
MD5 7a919741ff6e7a253c446970198860be
BLAKE2b-256 18a1221ee468682dd9155a24721bb2e21584d36333284fdcdd9e3b87cd3412e7

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusampling-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 12.6 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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8e0db0f4ced4861734bd2c267b08655b934884c4bc0a6ad92cf0a23b47605ba4
MD5 4f070893e6a5f7933409c5a8fa630e32
BLAKE2b-256 d584a58dc0acc00cb7fb5d52d82936782e3326bf517ad25befa09de487dc180c

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