Implementation:Online ml River Utils Random
Appearance
| Knowledge Sources | |
|---|---|
| Domains | Online_Learning, Random_Sampling, Statistics |
| Last Updated | 2026-02-08 16:00 GMT |
Overview
Random variable generation for Poisson and exponential distributions.
Description
Provides efficient implementations of poisson and exponential random variate generators. These avoid overflow issues present in naive implementations and are optimized for online learning scenarios where random sampling is needed.
Usage
Use for generating inter-arrival times (exponential) or count data (Poisson) in simulations, synthetic data generation, or stochastic processes. Essential for modeling event streams and time-based phenomena.
Code Reference
Source Location
- Repository: Online_ml_River
- File: river/utils/random.py
Signature
def poisson(rate: float, rng=random) -> int:
...
def exponential(rate: float = 1.0, rng=random) -> float:
...
Import
from river import utils
Usage Examples
import random
from river import utils
rng = random.Random(42)
# Poisson samples (count data)
print("Poisson samples (rate=3):")
for _ in range(5):
sample = utils.random.poisson(rate=3, rng=rng)
print(sample, end=' ')
print()
# Exponential samples (inter-arrival times)
print("\nExponential samples (rate=0.5):")
for _ in range(5):
sample = utils.random.exponential(rate=0.5, rng=rng)
print(f"{sample:.2f}", end=' ')
print()
# Simulating event stream
print("\nEvent arrival times:")
time = 0
for _ in range(10):
inter_arrival = utils.random.exponential(rate=2.0, rng=rng)
time += inter_arrival
n_events = utils.random.poisson(rate=1.5, rng=rng)
print(f"Time {time:.2f}: {n_events} events")
Related Pages
Page Connections
Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment