cdm

cdm

Beschreibung

Die `cdm`-Aktion im `cdm`-Aktionssatz wird verwendet, um Stichproben einer zusammengesetzten Verteilung zu erstellen. Dies ist ein zentraler Bestandteil der Modellierung von Gesamtschäden, bei dem die Gesamtschäden als Summe einzelner Schadensereignisse modelliert werden, deren Anzahl und Höhe zufällig sind. Die Aktion kann verschiedene Arten von Modellen für den Gesamtschaden simulieren, einschließlich des kollektiven Risikomodells und des reinen Prämienmodells, und bietet umfangreiche Optionen zur Angabe von Zähl- und Schadenshöhenverteilungen, zur Durchführung von Parameter-Perturbationsanalysen und zur Erzeugung von zusammenfassenden Statistiken und Perzentilen.

cdm.cdm <result=results> <status=rc> / <adjustedSeverity={adjParm}>, <aggLossModelType="COLLECTIVERISK" | "CUSTOM" | "PUREPREMIUM">, <countDistributions={{countDist-1} <, {countDist-2}, ...>}>, <countStore={castable}>, <countVariable="variable-name">, <display={displayTables}>, <idVariable="variable-name">, <ignoreParmCovariance=TRUE | FALSE>, <maxCountDraw=integer>, <nPerturbedSamples=integer>, <nReplicates=64-bit-integer>, <outDraw={casouttable}>, <output={outsampleParm}>, <outputTables={outputTables}>, <outsum={outsumParm}>, <percentileMethod=integer>, <perturbMode="AUTO" | "DIST">, <plotTable={plotTable}>, <seed=integer>, <severityDefinitions={castable}>, <severityDistributions={"string-1" <, "string-2", ...>}>, <severityEst={castable}>, <severityStore={castable}>, <severityTruncationLeft=double>, <severityTruncationRight=double>, <simulatedSymbols={{simSymbol-1} <, {simSymbol-2}, ...>}>, <table>, <truncateZeros=TRUE | FALSE>, <varianceDivisor="DF" | "N">;
Einstellungen
ParameterBeschreibung
adjustedSeverityGibt die angepassten Schadensymbole und ein SAS-Programm zu deren Berechnung an. Für jedes angepasste Schadensymbol wird eine Gesamtschadenverteilung geschätzt.
aggLossModelTypeGibt den Typ des Modells an, das für den Gesamtschaden verwendet werden soll.
countDistributionsGibt Zählverteilungen und Parameterwerte an.
countStoreGibt eine Item-Store-Tabelle an, aus der Schätzungen des Zählmodells gelesen werden sollen. Dies muss eine Item-Store-Tabelle sein, die von der Aktion `countregFitModel` mit dem Parameter `store` erstellt wurde.
countVariableGibt die Zählvariable an.
displayGibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen.
idVariableGibt den Namen der Replikations-ID-Variable an. Wenn Sie diese Variable angeben, muss die Eingabetabelle nach {BY-Variablen, ID-Variable} partitioniert sein.
ignoreParmCovarianceWenn auf True gesetzt, werden die Kovarianzschätzungen der Parameter ignoriert und nur deren Standardfehler zur Störung verwendet.
maxCountDrawGibt eine Obergrenze für die Anzahl der Schadensereignisse (Anzahl) an, die zur Simulation eines einzelnen Gesamtschaden-Stichprobenpunkts verwendet wird.
nPerturbedSamplesGibt die Anzahl der zu erzeugenden gestörten Stichproben an, um die Parameterstörungsanalyse durchzuführen.
nReplicatesGibt eine Zahl an, die die Größe der Stichprobe der zusammengesetzten Verteilung steuert, die die Aktion simuliert. Wenn Sie den Parameter `countVariable` angeben, wird diese Zahl mit der Anzahl der Replikationen in der Eingabetabelle multipliziert, um die Gesamtstichprobengröße zu bestimmen.
outDrawGibt die Details der Ausgabetabelle an, in die die Ziehungen der Schadenshöhe geschrieben werden sollen.
outputGibt die Details der Ausgabetabelle an, in die Stichproben geschrieben werden sollen.
outputTablesListet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen.
outsumGibt die Details der Ausgabetabelle an, in die zusammenfassende Statistiken geschrieben werden sollen.
percentileMethodGibt die Methode zur Berechnung der Perzentile der zusammengesetzten Verteilung an. Der Wert kann zwischen 0 und 5 liegen. Die Standardmethode ist 5. Ein Wert von 0 bedeutet, dass keine Perzentile berechnet werden.
perturbModeGibt an, wie die gestörten Stichproben organisiert werden sollen, wenn Simulationen mehr als einen Worker-Knoten verwenden. Dieser Parameter ist nur relevant, wenn Zählungen intern generiert werden.
plotTableGibt Informationen an, die die Erstellung und den Inhalt der PlotData-Ergebnistabelle steuern. Sie können diese Tabelle zur Vorbereitung von Diagrammen verwenden.
seedGibt den Startwert für den Zufallszahlengenerator an. Bei dem Standardwert 0 wird intern ein zufälliger Startwert ausgewählt.
severityDefinitionsGibt den Namen der CAS-Tabelle an, die die Definitionen der Schadenshöhenverteilung enthält.
severityDistributionsGibt die Liste der zu analysierenden Schadenshöhenverteilungsnamen an.
severityEstGibt eine Tabelle an, aus der Schätzungen des Schadenshöhenmodells gelesen werden sollen. Dieser Parameter wird ignoriert, wenn Sie den Item-Store für Schätzungen angeben.
severityStoreGibt eine Item-Store-Tabelle an, aus der Schätzungen des Schadenshöhenmodells gelesen werden sollen. Dies muss eine Item-Store-Tabelle sein, die von der Aktion `severity` mit dem Parameter `store` erstellt wurde.
severityTruncationLeftGibt die linke Kürzungsschwelle an, die auf jeden Schadenswert angewendet wird.
severityTruncationRightGibt die rechte Kürzungsgrenze an, die auf jeden Schadenswert angewendet wird.
simulatedSymbolsGibt die simulierten Symbole und ihre Wahrscheinlichkeitsverteilungen an.
tableGibt die Eingabedatentabelle an.
truncateZerosWenn auf True gesetzt, werden nullwertige Gesamtschäden aus der Gesamtstichprobe gekürzt (entfernt). Standardmäßig werden nullwertige Gesamtschäden, die bei einer Zählung von 0 entstehen, in der Stichprobe belassen.
varianceDivisorGibt den Divisor an, der bei der Berechnung von Varianz, Standardabweichung, Kurtosis und Schiefe der Stichprobe der zusammengesetzten Verteilung verwendet wird.
Erforderliche Daten für die Simulation erstellen

Dieser Code erstellt zwei Tabellen: `mycas.sevdeffits` für die Definitionen der Schadenshöhenverteilung und `mycas.countest` für die Schätzungen des Zählmodells. Diese Tabellen sind für die Ausführung der `cdm`-Aktion erforderlich.

Kopiert!
1PROC CAS;
2DATA mycas.sevdeffits;
3 LENGTH model $20;
4 INFILE DATALINES truncover;
5 INPUT model$ @@;
6 DO while(model ne '');
7 INPUT scale shape @@;
8 OUTPUT;
9 INPUT model$ @@;
10 END;
11 DATALINES;
12burr 1000 2
13;
14RUN;
15DATA mycas.countest;
16 LENGTH _distname_ $20 _var_ $32;
17 INFILE DATALINES truncover;
18 INPUT _distname_$ _var_$ estimate stderr;
19 DATALINES;
20poisson _intercept_ 1.386294 0.05
21;
22RUN;
23QUIT;

Beispiele

Dieses Beispiel zeigt, wie eine Stichprobe von 100.000 Pfaden einer zusammengesetzten Verteilung simuliert wird, die eine Poisson-Verteilung für die Anzahl und eine Gamma-Verteilung für die Schadenshöhe verwendet. Es ist ein grundlegendes Beispiel für das kollektive Risikomodell.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 cdm.cdm /
3 nreplicates=100000
4 seed=1234
5 countStore={name='countest'}
6 severityEst={name='sevdeffits'}
7 severityDistributions={'Burr'}
8 OUTPUT={outSample={name='cdmsample', replace=true},
9 sampleVariable='AggLoss_Burr'}
10 outsum={outSummary={name='cdmsummary', replace=true},
11 percentiles={{percentile=97.5}, {percentile=99.5}}};
12RUN;
13QUIT;
Ergebnis :
Die Aktion generiert eine Ausgabetabelle `mycas.cdmsample`, die die simulierte Stichprobe des Gesamtschadens enthält, sowie eine Zusammenfassungstabelle `mycas.cdmsummary` mit Statistiken wie Mittelwert, Standardabweichung und den angeforderten Perzentilen (97.5 und 99.5).

Dieses Beispiel erweitert die grundlegende Simulation, indem es eine Parameter-Perturbationsanalyse durchführt. Es werden 50 gestörte Stichproben generiert, um die Unsicherheit in den Eingabeparametern des Zähl- und Schadenshöhenmodells zu bewerten. Dies ist nützlich, um die Stabilität der Risikokennzahlen zu analysieren.

SAS® / CAS-Code Code wartet auf Validierung durch die Community
Kopiert!
1PROC CAS;
2 cdm.cdm /
3 nreplicates=100000
4 seed=1234
5 countStore={name='countest'}
6 severityEst={name='sevdeffits'}
7 severityDistributions={'Burr'}
8 nPerturbedSamples=50
9 OUTPUT={outSample={name='cdmsample_perturbed', replace=true},
10 sampleVariable='AggLoss_Burr_p',
11 perturbOut=true}
12 outsum={outSummary={name='cdmsummary_perturbed', replace=true},
13 percentiles={{percentile=97.5}, {percentile=99.5}}};
14RUN;
15QUIT;
Ergebnis :
Zusätzlich zu den vorherigen Ergebnissen enthält die Ausgabetabelle `mycas.cdmsample_perturbed` nun auch die 50 gestörten Stichproben, identifiziert durch die Variable `_sample_`. Die Zusammenfassungstabelle `mycas.cdmsummary_perturbed` wird ebenfalls aktualisiert, um Statistiken über die gestörten Stichproben zu enthalten, was eine robustere Analyse der Risikokennzahlen ermöglicht.

FAQ

Was ist der Zweck der `cdm`-Aktion in SAS Viya?
Welche Haupttypen von Gesamtschadenmodellen unterstützt die `cdm`-Aktion?
Wie kann ich die Schadenhöhenverteilung für die Simulation definieren?
Was ist eine Parameter-Perturbationsanalyse und wie wird sie in der `cdm`-Aktion aktiviert?
Wie kann ich die Ergebnisse der Simulation speichern?
Was ist die `cdm`-Aktion?
Welche Modelltypen für den Gesamtschaden unterstützt die `cdm`-Aktion?
Wie kann ich die Verteilungen für die Schadenshöhe und deren Parameter angeben?
Was ist der Zweck des Parameters `nPerturbedSamples`?