copula

copulaSimulate

Beschreibung

Simuliert Daten aus einem spezifizierten Copula-Modell.

copula.copulaSimulate <result=results> <status=rc> / define={copulaType="CLAYTON" | "FRANK" | "GUMBEL" | "NORMAL" | "T", corrtable={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, groupBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", orderBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, singlePass=TRUE | FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression"}}, df=double, KendallCorrtable={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, groupBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", orderBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, singlePass=TRUE | FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression"}}, name="string", SpearmanCorrtable={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, groupBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", orderBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, singlePass=TRUE | FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression"}}, theta=double}, display={caseSensitive=TRUE | FALSE, exclude=TRUE | FALSE, excludeAll=TRUE | FALSE, keyIsPath=TRUE | FALSE, names={"string-1", ...}, pathType="LABEL" | "NAME", traceNames=TRUE | FALSE}, margApproxOpts={algorithm="BIN" | "SORT", interpolation="LINEAR" | "MONOCUBIC" | "STEP", maxiters=integer, refineres=integer, sampletol=double}, ndraws=64-bit-integer, outempirical={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1", ...}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1", ...}}, outputTables={groupByVarsRaw=TRUE | FALSE, includeAll=TRUE | FALSE, names={"string-1", ...} | {key-1={casouttable-1}, ...}, repeated=TRUE | FALSE, replace=TRUE | FALSE}, outuniform={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1", ...}, label="string", lifetime=64-bit-integer, maxMemSize=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, replication=integer, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE", threadBlockSize=64-bit-integer, timeStamp="string", where={"string-1", ...}}, plot={kendall=TRUE | FALSE, marginals=TRUE | FALSE, nsamples=integer, nvar=integer, resolution=integer, scatter=TRUE | FALSE, tail=TRUE | FALSE, uniform=TRUE | FALSE, unpackpanel=TRUE | FALSE}, restore={caslib="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, name="table-name", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression"}}, seed=integer, table={caslib="string", computedOnDemand=TRUE | FALSE, computedVars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, computedVarsProgram="string", dataSourceOptions={key-1=any-list-or-data-type-1, ...}, groupBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, groupByMode="NOSORT" | "REDISTRIBUTE", importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", orderBy={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, singlePass=TRUE | FALSE, vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression", whereTable={casLib="string", dataSourceOptions={adls_noreq-parameters | bigquery-parameters | cas_noreq-parameters | clouddex-parameters | db2-parameters | dnfs-parameters | esp-parameters | fedsvr-parameters | gcs_noreq-parameters | hadoop-parameters | hana-parameters | impala-parameters | informix-parameters | jdbc-parameters | mongodb-parameters | mysql-parameters | odbc-parameters | oracle-parameters | path-parameters | postgres-parameters | redshift-parameters | s3-parameters | sapiq-parameters | sforce-parameters | singlestore_standard-parameters | snowflake-parameters | spark-parameters | spde-parameters | sqlserver-parameters | ss_noreq-parameters | teradata-parameters | vertica-parameters | yellowbrick-parameters}, importOptions={fileType="ANY" | "AUDIO" | "AUTO" | "BASESAS" | "CSV" | "DELIMITED" | "DOCUMENT" | "DTA" | "ESP" | "EXCEL" | "FMT" | "HDAT" | "IMAGE" | "JMP" | "LASR" | "PARQUET" | "SOUND" | "SPSS" | "VIDEO" | "XLS", fileType-specific-parameters}, name="table-name", vars={{format="string", formattedLength=integer, label="string", name="variable-name", nfd=integer, nfl=integer}, ...}, where="where-expression"}}, tolerance=double, var={"string-1", ...};
Einstellungen
ParameterBeschreibung
define Gibt die relevanten Informationen über die Copula an, die für die Simulation verwendet wird.
copulatype Gibt den Typ der Copula an.
corrtable Gibt den Datensatz an, der die Pearson-Korrelationsmatrix enthält, die zur Simulation elliptischer Copulas verwendet wird.
df Gibt die Freiheitsgrade an. Diese Option kann nur für T-Copulas verwendet werden.
KendallCorrtable Gibt den Datensatz an, der die Kendall-Korrelationsmatrix enthält, die zur Simulation elliptischer Copulas verwendet wird.
name Gibt den Namen der Copula-Definition an.
SpearmanCorrtable Gibt den Datensatz an, der die Spearman-Korrelationsmatrix enthält, die zur Simulation von Gauß-Copulas verwendet wird.
theta Gibt den Parameterwert für die archimedischen Copulas an.
display Gibt die Liste der Anzeigetabellen an, die die Aktion erstellen soll. Wenn Sie diesen Parameter weglassen, werden alle Tabellen erstellt.
margApproxOpts Gibt die Optionen an, die bei der Annäherung der empirischen Randverteilungsfunktion mit der adaptiven Methode verwendet werden.
ndraws Gibt die Anzahl der zu generierenden Beobachtungen für die Simulation an.
outempirical Gibt den Ausgabedatensatz an, der das Ergebnis der Simulation unter Verwendung empirischer Ränder enthalten soll.
outputTables Gibt die Liste der Anzeigetabellen an, die Sie als CAS-Tabellen ausgeben möchten. Wenn Sie diesen Parameter weglassen, werden keine Tabellen als CAS-Tabellen ausgegeben.
outuniform Gibt den Ausgabedatensatz an, der das Ergebnis der Simulation in einheitlichen Rändern enthalten soll.
plot Gibt die Optionen an, die zur Erstellung von Korrelationsdiagrammen verwendet werden.
restore Stellt Modelleigenschaften und endgültige Schätzungen aus dem angegebenen Item-Store wieder her und verwendet die wiederhergestellten Informationen zur Durchführung der Simulation.
seed Gibt den Seed für die Erzeugung von Zufallszahlen für die Simulation an.
table Gibt die Eingabedatentabelle an.
tolerance Gibt die für die Simulation zulässige Toleranz an.
var Gibt die Liste der Variablennamen für den Ausgabedatensatz an.
Erstellung von Beispieldaten

Dieser Code erstellt zwei Tabellen: `mycas.corrmatx`, die eine Korrelationsmatrix enthält, und `mycas.simulatedData`, die als Eingabedaten für die Ränder verwendet wird. Diese Tabellen sind für die Ausführung der `copulaSimulate`-Beispiele erforderlich.

Kopiert!
1DATA corrmatx;
2 INPUT _type_ $ _name_ $ y1 y2;
3 DATALINES;
4 corr y1 1.0 0.5
5 corr y2 0.5 1.0
6 ;
7RUN;
8 
9DATA simulatedData;
10 DO i = 1 to 100;
11 u1 = rand('UNIFORM');
12 u2 = rand('UNIFORM');
13 y1 = quantile('NORMAL', u1);
14 y2 = quantile('NORMAL', u2);
15 OUTPUT;
16 END;
17 keep y1 y2;
18RUN;
19 
20PROC CASUTIL;
21 load DATA=corrmatx outcaslib="casuser" casout="corrmatx" replace;
22 load DATA=simulatedData outcaslib="casuser" casout="simulatedData" replace;
23QUIT;

Beispiele

Dieses Beispiel zeigt, wie man 10.000 Beobachtungen aus einer bivariaten Normal-Copula mit einer angegebenen Korrelationsmatrix simuliert.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 copula.copulaSimulate /
3 define={copulaType='NORMAL', corrTable={name='corrmatx'}},
4 ndraws=10000,
5 seed=1234,
6 var={'y1', 'y2'},
7 outuniform={name='outunif', replace=true};
8RUN;
9QUIT;
Ergebnis :
Eine CAS-Tabelle namens 'outunif' wird in der 'casuser'-Bibliothek erstellt, die die simulierten Daten mit einheitlichen Rändern enthält.

Dieses Beispiel simuliert Daten aus einer t-Copula mit 5 Freiheitsgraden. Es verwendet die `simulatedData`-Tabelle, um die empirischen Ränder zu schätzen, und gibt sowohl die Simulation mit einheitlichen Rändern als auch die Simulation mit den transformierten empirischen Rändern aus.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 copula.copulaSimulate /
3 TABLE={name='simulatedData'},
4 define={copulaType='T', df=5, corrTable={name='corrmatx'}},
5 ndraws=5000,
6 seed=5678,
7 var={'y1', 'y2'},
8 outuniform={name='outunif_t', replace=true},
9 outempirical={name='outemp_t', replace=true};
10RUN;
11QUIT;
Ergebnis :
Zwei CAS-Tabellen werden erstellt: 'outunif_t' mit den einheitlichen Rändern und 'outemp_t' mit den Daten, die auf die ursprüngliche Skala unter Verwendung der empirischen Ränder zurücktransformiert wurden.

FAQ

Was ist der Zweck der Aktion `copula.copulaSimulate` in SAS Viya?
Welche Parameter sind erforderlich, um eine Simulation mit `copula.copulaSimulate` durchzuführen?
Wie kann ich Daten aus einer t-Copula simulieren?
Welche Arten von Ausgabe-Datensätzen kann die Aktion `copula.copulaSimulate` erstellen?
Kann ich die Ergebnisse der Simulation visualisieren?

Zugehörige Szenarien

Anwendungsfall
Portfolio-Risikoanalyse mit T-Copula und empirischen Rändern

Eine Bank möchte das gemeinsame Risiko zweier volatiler Aktien (Asset_A und Asset_B) modellieren. Da Finanzmarktdaten oft 'Heavy Tails' (extreme Ereignisse) aufweisen, ist eine ...

Anwendungsfall
Hochvolumige Simulation von Ausfallwahrscheinlichkeiten (Clayton Copula)

Ein Logistikunternehmen analysiert die Ausfallwahrscheinlichkeit von zwei kritischen Komponenten in einer Lieferkette. Es wird vermutet, dass wenn eine Komponente ausfällt, die ...

Anwendungsfall
Extremwetter-Modellierung mit Gumbel-Copula und Reproduzierbarkeit

Eine Versicherungsgesellschaft modelliert Hochwasser- und Sturmschäden. Diese Ereignisse korrelieren stark in ihren Extremwerten (Upper Tail Dependence). Der Test prüft die korr...