pvdeg.montecarlo.generateCorrelatedSamples#
- pvdeg.montecarlo.generateCorrelatedSamples(corr: list[Corr], stats: dict[str, dict[str, float]], n: int, seed=None) → DataFrame[source]#
Generates a tall correlated samples numpy array based on correlation coefficients and mean and stdev for modeling constants. Values are correlated from cholesky decomposition of correlation coefficients, and n random samples for each modeling constant generated from a standard distribution with mean = 0 and standard deviation = 1.
- Parameters:
corr (List[Corr]) – list containing correlations between variable
stats (dict[str, dict[str, float]]) – dictionary storing variable mean and standard deviation. Syntax : <variable_name> : {‘mean’ : <float>, ‘stdev’ : <float>}
n (int) – number of samples to create
seed (Any, optional) – reseed the numpy BitGenerator, numpy legacy function (use cautiously)
- Returns:
correlated_samples (pd.Dataframe) – tall dataframe of dimensions (n by # of modeling constants). Columns named as modeling constants from Corr object inputs
References
Burgess, Nicholas, Correlated Monte Carlo Simulation using Cholesky Decomposition (March 25, 2022). Available at SSRN: https://ssrn.com/abstract=4066115