copula

copulaFit

Beschreibung

Schätzt die Parameter für einen angegebenen Copula-Typ.

copula.copulaFit <result=results> <status=rc> / 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 <, key-2=any-list-or-data-type-2, ...>}, 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, display={caseSensitive=TRUE | FALSE, exclude=TRUE | FALSE, excludeAll=TRUE | FALSE, keyIsPath=TRUE | FALSE, names={"string-1" <, "string-2", ...>}, pathType="LABEL" | "NAME", traceNames=TRUE | FALSE}, initialvalues={"string-1" <, "string-2", ...>}, 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 <, key-2=any-list-or-data-type-2, ...>}, 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"}}, margApproxOpts={algorithm="BIN" | "SORT", interpolation="LINEAR" | "MONOCUBIC" | "STEP", maxiters=integer, refineres=integer, sampletol=double}, marginals="EMPIRICAL" | "UNIFORM", method="CAL" | "MLE", name="string", optimizer={aftl=double, agtl=double, algorithm="CONJUGATEGRADIENT" | "DOUBLEDOGLEG" | "NEWTONRAPHSONWITHLINESEARCH" | "NEWTONRAPHSONWITHRIDGING" | "NONE" | "QUASINEWTON" | "TRUSTREGION", atol=double, axtl=double, ceps=double, ftol=double, gtol=double, iterationHistory={basic=TRUE | FALSE, estimatesForEachStep=TRUE | FALSE}, maxf=double, maxit=double, maxtime=double, sing=double}, outpseudo={caslib="string", compress=TRUE | FALSE, indexVars={"variable-name-1" <, "variable-name-2", ...>}, 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" <, "string-2", ...>}}, outputTables={groupByVarsRaw=TRUE | FALSE, includeAll=TRUE | FALSE, names={"string-1" <, "string-2", ...>}, repeated=TRUE | FALSE, replace=TRUE | FALSE}, 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}, store={caslib="string", label="string", lifetime=64-bit-integer, memoryFormat="DVR" | "INHERIT" | "STANDARD", name="table-name", promote=TRUE | FALSE, replace=TRUE | FALSE, tableRedistUpPolicy="DEFER" | "NOREDIST" | "REBALANCE"}, 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 <, key-2=any-list-or-data-type-2, ...>}, 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, timingReport={details=TRUE | FALSE, summary=TRUE | FALSE}, tolerance=double, var={"string-1" <, "string-2", ...>}, varSummary=TRUE | FALSE ;
Einstellungen
ParameterBeschreibung
copulatype gibt den Typ der zu schätzenden Copula an.
corrtable gibt die Datentabelle an, die die Pearson-Korrelationsmatrix enthält, die beim Anpassen einer t-Copula verwendet werden soll.
df gibt einen Anfangswert für df an, wenn eine t-Copula angepasst wird.
display gibt die Liste der Anzeigetabellen an, die die Aktion erstellen soll. Wenn Sie diesen Parameter weglassen, werden alle Tabellen erstellt.
initialvalues stellt die Anfangswerte für die numerische Optimierung bereit. Bei Archimedeschen Copulas werden die Anfangswerte der Parameter mit der Kalibrierungsmethode berechnet.
KendallCorrtable gibt die Datentabelle an, die die Kendall-Korrelationsmatrix enthält, die beim Anpassen einer t-Copula verwendet werden soll.
margApproxOpts gibt die Optionen an, die bei der Annäherung der empirischen Randverteilungsfunktion mit der adaptiven Methode verwendet werden.
marginals gibt die Randverteilung der einzelnen Variablen an.
method gibt die Methode zur Schätzung der Parameter an.
name gibt eine Kennung für die Anpassung an, die als ID-Variable im OUTCOPULA-Datensatz gespeichert wird.
optimizer gibt Parameter an, die verschiedene Aspekte des Parameterschätzungsprozesses steuern.
outpseudo gibt den Ausgabedatensatz zum Speichern der Pseudo-Stichproben mit einheitlichen Randverteilungen an.
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.
plot gibt die Optionen an, die zur Erstellung von Korrelationsdiagrammen verwendet werden.
store speichert Modelleigenschaften und Anpassungsergebnisse in einem Item-Store.
table gibt die Eingabedatentabelle an.
theta gibt einen Anfangswert für Theta an.
tolerance gibt die für die Anpassung zulässige Toleranz an.
var gibt die Liste der Variablennamen für die Anpassung einer Copula an.
varSummary wenn auf True gesetzt, wird eine Tabelle erstellt, die einige grundlegende statistische Eigenschaften der Variablen in Ihrem Modell beschreibt.
Erstellung von Beispieldaten

Dieses Beispiel erstellt eine CAS-Tabelle 'mycas.SampleData' mit zwei korrelierten Variablen 'y1' und 'y2', die für die Copula-Anpassung geeignet sind.

Kopiert!
1DATA mycas.SampleData;
2 call streaminit(123);
3 DO i = 1 to 1000;
4 x1 = rand('NORMAL');
5 x2 = rand('NORMAL');
6 y1 = exp(0.5 * x1);
7 y2 = exp(0.25 * x1 + sqrt(1 - 0.25**2) * x2);
8 OUTPUT;
9 END;
10RUN;

Beispiele

Dieses Beispiel zeigt, wie man eine Normal-Copula mit der Maximum-Likelihood-Methode an die Daten in 'mycas.SampleData' anpasst.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 copula.copulaFit /
3 TABLE={name='SampleData', caslib='mycas'},
4 var={'y1', 'y2'},
5 copulaType='NORMAL',
6 name='myfit';
7RUN;
Ergebnis :
Die Aktion passt eine Normal-Copula an und gibt Tabellen mit Anpassungszusammenfassungen, Parameterschätzungen und der Korrelationsmatrix aus. Der Name 'myfit' wird der Anpassung zur späteren Referenz zugewiesen.

Dieses Beispiel passt eine t-Copula mit der Kalibrierungsmethode an. Es gibt die Anfangswerte für die Freiheitsgrade (df) und den Parameter theta an. Es generiert auch verschiedene Plots, einschließlich eines Streudiagramms und eines Kendall-Plots, und speichert das Anpassungsergebnis in einem Item-Store namens 'mycas.myCopulaStore'.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 copula.copulaFit /
3 TABLE={name='SampleData', caslib='mycas'},
4 var={'y1', 'y2'},
5 copulaType='T',
6 method='CAL',
7 df=5,
8 theta=0.5,
9 name='myfit_t',
10 plot={scatter=true, kendall=true, nsamples=500},
11 store={name='myCopulaStore', caslib='mycas', replace=true};
12RUN;
Ergebnis :
Die Aktion passt eine t-Copula an, gibt die Anpassungsstatistiken aus, generiert die angeforderten Plots zur visuellen Diagnose und speichert das resultierende Anpassungsobjekt im Item-Store 'mycas.myCopulaStore' zur späteren Verwendung bei Simulationen oder Bewertungen.

FAQ

Was ist der Zweck der `copulaFit`-Aktion?
Welche Arten von Copulas können mit `copulaFit` geschätzt werden?
Welche Schätzmethoden sind für die Parameter verfügbar?
Wie können die Randverteilungen der einzelnen Variablen spezifiziert werden?
Was bewirkt der `store`-Parameter?
Können die Pseudo-Stichproben mit einheitlichen Randverteilungen in einem Ausgabedatensatz gespeichert werden?
Welche Optimierungsalgorithmen können für die Parameterschätzung verwendet werden?

Zugehörige Szenarien

Anwendungsfall
Portfolio-Risikoanalyse mit Normal-Copula

Eine Großbank möchte die Abhängigkeitsstruktur zwischen europäischen und amerikanischen Aktienindizes modellieren, um Diversifikationseffekte im Portfolio-Risikomanagement präzi...

Anwendungsfall
Performance-Test: T-Copula auf Massendaten

Ein Rückversicherer analysiert 1 Million Datensätze zu Naturkatastrophen, um die Abhängigkeit zwischen Windgeschwindigkeit und Schadenssumme zu modellieren, wobei Extremereignis...

Anwendungsfall
Robustheitstest: Gumbel-Copula bei lückenhaften Sensordaten

In einer chemischen Anlage fallen Sensoren sporadisch aus. Es soll eine Gumbel-Copula angepasst werden, um asymmetrische Abhängigkeiten bei extremem Druck und Temperatur zu erke...