CCOPULA Procedure

SIMULATE Statement

  • SIMULATE <copula-name-list> / options;

The SIMULATE statement simulates data from a specified copula model. The copula name specification is the name of a defined copula as specified by name in the DEFINE statement. You can specify the following options:

EMPAPPROX<(approx-options)>

uses an approximation of the inverse marginal empirical cumulative distribution function to transform the data when you specify the OUTEMPIRICAL= output option. You can specify the following approx-options:

ALG=BIN | SORT

specifies the algorithm to use during the approximation of the marginal distribution. You can specify the following values:

BIN

uses bins to approximate the marginal distributions.

SORT

stores and sorts each variable’s observations in the input data table.

By default, ALG=BIN.

INTERP=LINEAR | SPLINE

specifies how to interpolate values within intervals in the distributions’ approximations. You can specify the following values:

LINEAR

specifies that values within an interval be linearly interpolated between the endpoints.

SPLINE

specifies that values within an interval be interpolated using a cubic spline function that is constrained to be monotonically increasing.

By default, INTERP=LINEAR.

MAXITERS=integer

specifies the maximum number of iterations to perform when you are generating the distribution approximation function. By default, MAXITERS=10. For more information, see the section Adaptive Approximation of Marginal Distributions.

REFINERES=integer

specifies the maximum number of intervals to add to the distribution function during each iteration of the empirical approximation. By default, REFINERES=1000.

NDRAWS=integer

specifies the number of draws to generate for this simulation. By default, NDRAWS=100.

OUTEMPIRICAL=libref.data-table

specifies the output data table to contain the result of the simulation that uses empirical margins. The distribution that is used to transform each variable’s uniformly simulated value to its empirical value is specified by the corresponding variable in the DATA= input data table in the PROC CCOPULA statement. The data are not created if you omit this option. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. For more information about this two-level name, see the DATA= option and the section Using CAS Sessions and CAS Engine Librefs.

OUTUNIFORM=libref.data-table

specifies the output data table to contain the result of the simulation in uniform margins. The data are not created if you do not specify this option. libref.data-table is a two-level name, where libref refers to the library, and data-table specifies the name of the input data table. For more information about this two-level name, see the DATA= option and the section Using CAS Sessions and CAS Engine Librefs.

PLOTS<(global-plot-options)> < = (specific-plot-options)>

controls the plots of simulated data that are produced by the CCOPULA procedure. By default, PROC CCOPULA produces a scatter plot matrix of variables (that is, it displays a symmetric matrix plot that contains the variables specified in the VAR statement).

You can specify the following global-plot-options:

KENDALL

creates Kendall plots. These plots compare observed quantiles of pairs of variables to quantiles of independent variables. If you specify this option together with the UNPACK option, PROC CCOPULA displays a Kendall plot of each applicable pair of distinct variables that you specify in the VAR statement. If you specify this option without the UNPACK option, PROC CCOPULA displays a scatter plot matrix; the lower triangular section of the matrix shows regular scatter plots between distinct pairs of variables that are specified in the VAR statement, and the upper triangular section of the matrix shows Kendall plots of corresponding pairs of variables.

NSAMPLES=n

specifies the number points to plot when you create Kendall plots. For each pair of variables, n samples are randomly selected from the OUTUNIFORM= data table. The same samples are plotted for all the Kendall plots. By default, NSAMPLES=1000.

NVAR=ALL | n

specifies the maximum number of variables that you specify in the VAR statement to display in the matrix plot. NVAR=ALL uses all variables that you specify in the VAR statement. By default, NVAR=5.

RESOLUTION=n

specifies the number of bins to use for the X and Y axes when you create plots. By default, RESOLUTION=50.

SCATTER

creates a scatter plot matrix of variables that you specify in the VAR statement. The maximum number of variables that you can display in the scatter plot matrix is 10.

TAIL | CHI

creates tail dependence plots (chi plots). If you specify this option together with the UNPACK option, PROC CCOPULA displays a chi plot of each applicable pair of distinct variables that you specify in the VAR statement. If you specify this option without the UNPACK option, PROC CCOPULA displays a scatter plot matrix; the lower triangular section of the matrix shows regular scatter plots between distinct pairs of variables that are specified in the VAR statement, and the upper triangular section of the matrix shows chi plots of corresponding pairs of variables.

UNPACK | UNPACKPANEL

creates scatter plots of pairs of variables. If you specify this option, PROC CCOPULA displays a scatter plot of each applicable pair of distinct variables that you specify in the VAR statement.

You can also specify the following specific-plot-options:

DATATYPE=UNIFORM

shows the data by using uniformly distributed margins. Plotting data by using the empirical marginal distribution specified in the DATA= data table is not supported in this release.

DATATYPE=ORIGINAL | UNIFORM | BOTH

specifies the data type to be plotted. DATATYPE=ORIGINAL plots the data transformed into the marginal distributions specified in the DATA= option in the PROC CCOPULA statement. DATATYPE=UNIFORM shows the data with a uniform marginal distribution. DATATYPE=BOTH plots both the original and uniform data types.

NONE

suppresses all plots.

RESTORE=SAS-item-store

specifies the input item store that contains the results of fitting a copula. The final estimates, correlations, and other properties of the model that are preserved in the RESTORE= item store are used to define the simulation. The DEFINE and VAR statements are ignored if this option is specified.

SEED=integer

specifies the seed for generating random numbers for the simulation. If you do not specify the seed, then the seed is generated by reading the time of day from the computer’s clock.

TOLERANCE=value

specifies the tolerance allowed for the simulation.

Last updated: July 09, 2026