The CCDM Procedure
PROC CCDM Statement
PROC CCDM options;
The PROC CCDM statement invokes the procedure. You can specify the following options, which are listed in alphabetical order.
-
ADJUSTEDSEVERITY=symbol-name
ADJSEV=symbol-name
ADJUSTEDSEVERITY=(symbol-name <…symbol-name>)
ADJSEV=(symbol-name <…symbol-name>) names one or more symbols that represent an adjusted severity value in the SAS programming statements that you specify. If you specify more than one symbol-name, then separate them with spaces and enclose them in parentheses. Each symbol-name is a SAS name that conforms to the naming conventions of a SAS variable. For more information, see the section Programming Statements.
- COUNTSTORE=CAS-libref.data-table
names the input data table that contains all the information about the frequency (count) model in the form of an item store. The CNTSELECT procedure generates this item store data table when you use the STORE= option.
CAS-libref.data-table is a two-level name, where CAS-libref refers to the
casliband session identifier, 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. The CAS-libref must be identical to the CAS-libref that you specify in the DATA= option.The exogenous variables in the frequency model, if any, are deduced from this item store. The DATA= data table must contain all those variables.
If you specify a BY statement in the PROC CNTSELECT step that creates the COUNTSTORE= item store, then you must specify an identical BY statement in the PROC CCDM step.
You must specify this option if you do not specify the EXTERNALCOUNTS statement. This option is ignored if you specify the EXTERNALCOUNTS statement, because PROC CCDM does not need to simulate frequency counts internally when you specify externally simulated counts.
- DATA=CAS-libref.data-table
names the input data table for PROC CCDM to use. The default is the most recently created data table. CAS-libref.data-table is a two-level name, where
- CAS-libref
refers to a collection of information that is defined in the LIBNAME statement and includes the
caslib, which includes a path to the data, and a session identifier, which defaults to the active session but which can be explicitly defined in the LIBNAME statement. For more information about CAS-libref, see the section Using CAS Sessions and CAS Engine Librefs.- data-table
specifies the name of the input data table.
The DATA= data table specifies information about the scenario for which you want to estimate the aggregate loss distribution. It is expected to contain the values of regression variables in the frequency or severity model and severity adjustment variables that you use in the programming statements.
-
IGNORECOV
IGNOREPARMCOVARIANCE specifies that the covariance estimates be ignored for perturbation analysis. If you specify this option, then even if the covariance estimates of severity or frequency model parameters are valid, they are not used for perturbation analysis, and only standard errors are used. This enables you to force independence among parameters. However, perturbation analysis based on covariance estimates is more accurate than perturbation analysis based on the standard errors alone.
For more information about parameter perturbation analysis, see the section Parameter Perturbation Analysis.
-
MAXCOUNTDRAW=number
MAXCOUNT=number specifies an upper limit on the number of loss events (count) that is used for simulating one aggregate loss sample point. If the number is equal to , then any count greater than is assumed to be equal to , and only severity draws are made to compute one point in the aggregate loss sample.
If you specify this option and also specify the COUNTSTORE= item store, then the limit is applied to each count that PROC CCDM randomly draws from the count distribution in the COUNTSTORE= item store. Any count draw larger than number is replaced by number.
If you specify this option and also specify the EXTERNALCOUNTS statement, then the limit is applied to each observation in the DATA= data table, and any value of the COUNT= variable larger than number is replaced by number.
If you do not specify this option, then a default value of 1,000 is used.
If you specify a number significantly larger than 1,000, then PROC CCDM might take a very long time to complete the simulation, especially when some counts are closer to the limit.
- NOPRINT
turns off all displayed output. If you specify this option, then PROC CCDM ignores any value that you specify for the PRINT= option.
-
NPERTURBEDSAMPLES=number
NPERTURB=number requests that parameter perturbation analysis be conducted. The number that you specify determines how many perturbed parameter sets are generated. A separate full sample is simulated for each set of perturbed parameter values. The summary statistics and percentiles are computed for each such perturbed sample, and their values are aggregated across the samples to compute the mean and standard deviation of each summary statistic and percentile.
The parameter perturbation analysis makes random draws of parameter values from a multivariate normal distribution if the covariance estimates of the parameters are available. For the multivariate normal distribution of severity model parameters, PROC CCDM attempts to read the covariance estimates from the SEVERITYEST= data table or the SEVERITYSTORE= item store. For the multivariate normal distribution of count model parameters, PROC CCDM attempts to read the covariance estimates from the COUNTSTORE= store. If covariance estimates are not available or valid, or if you specify the IGNORECOV option, then for each parameter, a random draw is made from the univariate normal distribution whose mean and standard deviation are equal to that parameter’s point estimate and standard error, respectively. If neither covariance nor standard error estimates are available, then perturbation analysis is not conducted.
If you specify the PRINT=ALL or PRINT=PERTURBSUMMARY option, then a summary of the perturbation analysis is printed for the core summary statistics and the percentiles of the aggregate loss distribution. If you specify the OUTSUM statement, then the requested summary statistics are written to the OUTSUM= data table for each perturbed sample. You can also optionally request that each perturbed sample be written in its entirety to the OUT= data table by specifying the PERTURBOUT option in the OUTPUT statement.
For more information about parameter perturbation analysis, see the section Parameter Perturbation Analysis.
-
NREPLICATES=number
NREP=number specifies a number that controls the size of the compound distribution sample that PROC CCDM simulates. The number is interpreted differently based on whether you specify the EXTERNALCOUNTS statement.
If you do not specify the EXTERNALCOUNTS statement, then the sample size is equal to number. If you do not specify this option, then a default value of 100,000 is used.
If you specify the EXTERNALCOUNTS statement, then the number of replicates that you specify in the DATA= data table is multiplied by number to get the total size of the compound distribution sample. If you do not specify this option, then a default value of 1 is used.
-
OUTDRAW=CAS-libref.data-table
OUTSAMPLE=CAS-libref.data-table specifies the output data table to contain the individual severity random draws. CAS-libref.data-table is a two-level name, where CAS-libref refers to the
casliband session identifier, 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. The CAS-libref must be identical to the CAS-libref that you specify in the DATA= option.For more information about the variables in the OUTDRAW= data table, see the section OUTDRAW= Data Table.
- PCTLDEF=percentile-method
specifies the method of computing the percentiles of the compound distribution. The percentile-method can be 1, 2, 3, 4, or 5. By default, PCTLDEF=5. For more information, see the description of the PCTLDEF= option in the UNIVARIATE procedure in the Base SAS Procedures Guide: Statistical Procedures.
-
PRINT <(global-display-option)> =display-option
PRINT <(global-display-option)> =(display-option …display-option) specifies the desired displayed output. If you specify more than one display-option, then separate them with spaces and enclose them in parentheses.
You can specify the following global-display-option:
- ONLY
turns off the default displayed output and displays only the requested output.
You can specify the following display-options:
- ALL
displays all the output.
- NONE
displays no output. If you specify this option, then it overrides all other display options. The default displayed output is also suppressed.
- PERCENTILES
displays the percentiles of the compound distribution sample. This includes all the predefined percentiles and percentiles that you request in the OUTSUM statement.
- PERTURBSUMMARY
displays the mean and standard deviation of the summary statistics and percentiles that are taken across all P samples that the procedure produces by perturbing the model parameters, where P is the value of the NPERTURBEDSAMPLES= option that you specify in the PROC CCDM statement.
- SUMMARYSTATISTICS | SUMSTAT
displays the summary statistics of the compound distribution sample.
If you do not specify the PRINT= option or the ONLY global-display-option, then the procedure behaves as if you have specified PRINT=(SUMMARYSTATISTICS).
- SEED=number
specifies the integer to use as the seed in generating the pseudorandom numbers that are used for simulating severity and frequency values.
If you do not specify the seed, or if number is negative or 0, then PROC CCDM uses the time of day from the computer’s clock as the seed.
- SEVERITYEST=CAS-libref.data-table
names the input data table that contains the parameter estimates for the severity models. CAS-libref.data-table is a two-level name, where CAS-libref refers to the
casliband session identifier, 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. The CAS-libref must be identical to the CAS-libref that you specify in the DATA= option. This data table must be an OUTEST= data table that the SEVSELECT procedure produces.The names of the regression variables in the scale regression models, if any, are deduced from this data table. If the severity models are scale regression models, then the DATA= data table must contain all the regressors in the scale regression models.
To ensure that PROC CCDM correctly matches the values of regressors and the values of regression parameter estimates, you need to ensure that names of the regressors in the DATA= data table match the names of the regressors that you specify in the SCALEMODEL statement of the PROC SEVSELECT step that fits the severity models.
If you specify a BY statement in the PROC SEVSELECT step that creates the SEVERITYEST= data table, then you must specify an identical BY statement in the PROC CCDM step.
-
SEVERITYSTORE=CAS-libref.data-table
SEVSTORE=CAS-libref.data-table specifies the input data table that contains the context and estimates of the severity models in the form of an item store. Specifying the OUTSTORE= option in a PROC SEVSELECT step creates this item store data table.
CAS-libref.data-table is a two-level name, where CAS-libref refers to the
casliband session identifier, 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. The CAS-libref must be identical to the CAS-libref that you specify in the DATA= option.If your severity models contain classification or interaction effects, then you need to use this option instead of the SEVERITYEST= option to specify the estimates of the severity models. If you specify this option, you cannot specify the SEVERITYEST= option.
If you specify a BY statement in the PROC SEVSELECT step that creates the SEVERITYSTORE= item store, then you must specify an identical BY statement in the PROC CCDM step.
- TRUNCATEZEROS
truncates (removes) zero-valued aggregate loss values from the aggregate loss sample.
The value of the aggregate loss is 0 when the sum of randomly drawn counts for all observations is 0 for the internally simulated counts or when the total count for a replication is 0 in the external counts data table.
If you omit this option, then PROC CCDM keeps the zero-valued aggregate losses in the output sample.
- VARDEF=divisor
specifies the divisor to use in the calculation of variance, standard deviation, kurtosis, and skewness of the compound distribution sample. If the sample size is N, then you can specify one of the following values for the divisor:
By default, VARDEF=DF. For more information, see the section Descriptive Statistics.