statsmodels.distributions.copula.api.CopulaDistribution.rvs#

CopulaDistribution.rvs(nobs=1, cop_args=None, marg_args=None, rng=None)[source]#

Draw random samples from the joint (copula) distribution.

Parameters:
nobsint, optional

Number of samples to generate in the parameter space. Default is 1.

cop_argstuple, optional

Copula parameters. If None, then the copula parameters will be taken from the cop_args attribute created when initiializing the instance.

marg_argslist of tuples, optional

Parameters for the marginal distributions. It can be None if none of the marginal distributions have parameters, otherwise it needs to be a list of tuples with the same length has the number of marginal distributions. The list can contain empty tuples for marginal distributions that do not take parameter arguments.

rngint, array_like of int, numpy.random.Generator, or numpy.random.RandomState, optional

If rng is None, a new Generator is created using fresh entropy from the operating system. If rng is an int or array of ints, a new Generator is created, seeded with rng. If rng is already a Generator or RandomState instance, that instance is used.

rngint, array_like of int, numpy.random.Generator, or numpy.random.RandomState, optional

Deprecated since version 0.15: random_state has been deprecated. In-line with SPEC-007, use rng for passing a random number generator or seed.

Returns:
samplendarray of shape (nobs, k_vars)

Sample from the joint distribution, with marginals transformed to the distributions in self.marginals.

Notes

The random samples are generated by creating a sample with uniform margins from the copula, and using ppf to convert uniform margins to the one specified by the marginal distribution.