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.1.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.1-py3-none-any.whl (12.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: rusampling-0.0.1.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.1.tar.gz
Algorithm Hash digest
SHA256 9ad79a1f88b787f38d19fe6e458e915d3ed38f6c9c78ca47242d3e18c3be6f4c
MD5 f592a82f9a71c20b096d58ef293635a5
BLAKE2b-256 b38d2c80a634aef8927a3b6b2cedf47424c83327384d50eace6ce5bbf4c2498e

See more details on using hashes here.

File details

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

File metadata

  • Download URL: rusampling-0.0.1-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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4d1d72d104cff381cfb662cc3d5de200aab333407527dc70f754e192ae787472
MD5 ba7a215993af1abeb73d0d58dabe7e62
BLAKE2b-256 27ce3ca7c452038e0ba4aec59baec7800d7ed30d5cbaa4928b86352bb50cda9d

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