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.
| Parameter | Beschreibung |
|---|---|
| adjustedSeverity | Gibt die angepassten Schadensymbole und ein SAS-Programm zu deren Berechnung an. Für jedes angepasste Schadensymbol wird eine Gesamtschadenverteilung geschätzt. |
| aggLossModelType | Gibt den Typ des Modells an, das für den Gesamtschaden verwendet werden soll. |
| countDistributions | Gibt Zählverteilungen und Parameterwerte an. |
| countStore | Gibt 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. |
| countVariable | Gibt die Zählvariable an. |
| display | Gibt eine Liste von Ergebnistabellen an, die zur Anzeige an den Client gesendet werden sollen. |
| idVariable | Gibt den Namen der Replikations-ID-Variable an. Wenn Sie diese Variable angeben, muss die Eingabetabelle nach {BY-Variablen, ID-Variable} partitioniert sein. |
| ignoreParmCovariance | Wenn auf True gesetzt, werden die Kovarianzschätzungen der Parameter ignoriert und nur deren Standardfehler zur Störung verwendet. |
| maxCountDraw | Gibt eine Obergrenze für die Anzahl der Schadensereignisse (Anzahl) an, die zur Simulation eines einzelnen Gesamtschaden-Stichprobenpunkts verwendet wird. |
| nPerturbedSamples | Gibt die Anzahl der zu erzeugenden gestörten Stichproben an, um die Parameterstörungsanalyse durchzuführen. |
| nReplicates | Gibt 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. |
| outDraw | Gibt die Details der Ausgabetabelle an, in die die Ziehungen der Schadenshöhe geschrieben werden sollen. |
| output | Gibt die Details der Ausgabetabelle an, in die Stichproben geschrieben werden sollen. |
| outputTables | Listet die Namen der Ergebnistabellen auf, die als CAS-Tabellen auf dem Server gespeichert werden sollen. |
| outsum | Gibt die Details der Ausgabetabelle an, in die zusammenfassende Statistiken geschrieben werden sollen. |
| percentileMethod | Gibt 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. |
| perturbMode | Gibt 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. |
| plotTable | Gibt Informationen an, die die Erstellung und den Inhalt der PlotData-Ergebnistabelle steuern. Sie können diese Tabelle zur Vorbereitung von Diagrammen verwenden. |
| seed | Gibt den Startwert für den Zufallszahlengenerator an. Bei dem Standardwert 0 wird intern ein zufälliger Startwert ausgewählt. |
| severityDefinitions | Gibt den Namen der CAS-Tabelle an, die die Definitionen der Schadenshöhenverteilung enthält. |
| severityDistributions | Gibt die Liste der zu analysierenden Schadenshöhenverteilungsnamen an. |
| severityEst | Gibt 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. |
| severityStore | Gibt 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. |
| severityTruncationLeft | Gibt die linke Kürzungsschwelle an, die auf jeden Schadenswert angewendet wird. |
| severityTruncationRight | Gibt die rechte Kürzungsgrenze an, die auf jeden Schadenswert angewendet wird. |
| simulatedSymbols | Gibt die simulierten Symbole und ihre Wahrscheinlichkeitsverteilungen an. |
| table | Gibt die Eingabedatentabelle an. |
| truncateZeros | Wenn 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. |
| varianceDivisor | Gibt den Divisor an, der bei der Berechnung von Varianz, Standardabweichung, Kurtosis und Schiefe der Stichprobe der zusammengesetzten Verteilung verwendet wird. |
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.
| 1 | PROC CAS; |
| 2 | DATA 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; |
| 12 | burr 1000 2 |
| 13 | ; |
| 14 | RUN; |
| 15 | DATA mycas.countest; |
| 16 | LENGTH _distname_ $20 _var_ $32; |
| 17 | INFILE DATALINES truncover; |
| 18 | INPUT _distname_$ _var_$ estimate stderr; |
| 19 | DATALINES; |
| 20 | poisson _intercept_ 1.386294 0.05 |
| 21 | ; |
| 22 | RUN; |
| 23 | QUIT; |
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.
| 1 | PROC 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}}}; |
| 12 | RUN; |
| 13 | QUIT; |
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.
| 1 | PROC 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}}}; |
| 14 | RUN; |
| 15 | QUIT; |