It is a multivariate probabilistic modelling package, which uses copula theory.
The package can be installed via pip using:
pip install multicopula
Run the load base case as:
from multicopula import EllipticalCopula
import numpy as np
#%%
n_samples_ = 5000
covariance_ = np.array([[ 1, -0.6, 0.7],
[-0.6, 1, -0.4],
[ 0.7, -0.4, 1]])
mean_ = np.array([1, 3, 4])
data = np.random.multivariate_normal(mean_, covariance_, 5000).T
#%%
copula_model = EllipticalCopula(data)
copula_model.fit()
#%%
samples_ = copula_model.sample(500)
covariance_samples = np.corrcoef(samples_)
The package focuses in the simulation of daily electrical consumption profiles for low voltage and medium voltage networks. Example of generated profiles conditioned to a yearly energy consumption (link)
More examples can be found in the examples folder (under development).
The mathematical formulation of the generative model with the copula can be found at:
"Conditional Multivariate Elliptical Copulas to Model Residential Load Profiles From Smart Meter Data," E.M. (Mauricio) Salazar Duque, P.P. Vergara, P.H. Nguyen, A. van der Molen and J. G. Slootweg, in IEEE Transactions on Smart Grid, vol. 12, no. 5, pp. 4280-4294, Sept. 2021, doi: 10.1109/TSG.2021.3078394. link
Any questions, suggestions or collaborations contact Mauricio Salazar at <e.m.salazar.duque@tue.nl>