Integration¶
Example:
import probpy as pp
import numpy as np
f = lambda x: -np.square(x[:, 0]) + np.square(x[:, 1])
lower_bound = np.array([0, 0])
upper_bound = np.array([4, 2])
proposal = pp.multivariate_normal.med(mu=np.zeros(2), sigma=np.eye(2) * 2)
result = pp.uniform_importance_sampling(size=100000,
function=f,
domain=(lower_bound, upper_bound),
proposal=proposal)
-
probpy.integration.expected_value(size: int, function: typing.Callable[numpy.ndarray, numpy.ndarray], distribution: probpy.core.RandomVariable)[source]¶ Parameters: - size – samples to estimate expectation
- function – function to estimate it with
- distribution – expectation with respect to this distribution
Returns:
-
probpy.integration.uniform_importance_sampling(size: int, function: typing.Callable[numpy.ndarray, numpy.ndarray], domain: typing.Tuple[numpy.ndarray, numpy.ndarray], proposal: probpy.core.RandomVariable)[source]¶ Parameters: - size – samples to use in integral
- function – function to integrate
- domain – domain to integrate over
- proposal – proposal distribution
Returns: