countreg countregFitModel

Prognose von Versicherungsansprüchen mit Zero-Inflated Modellen

Scénario de test & Cas d'usage

Geschäftskontext

Eine Kfz-Versicherungsgesellschaft möchte die Anzahl der Schadensfälle pro Kunde vorhersagen. Da die Mehrheit der Kunden (ca. 90%) keinen Unfall hat, gibt es ein Übermaß an Nullen in den Daten. Das Data-Science-Team entscheidet sich für ein Zero-Inflated Poisson (ZIP) Modell. Dabei soll das Fahralter ('age') und der Fahrzeugtyp ('car_type') die Anzahl der Unfälle erklären, während der Bonus-Malus-Status ('bonus_malus') die Wahrscheinlichkeit modelliert, überhaupt keinen Unfall zu haben (das Null-Modell).
Datenaufbereitung

Erstellung eines Datensatzes 'versicherungsdaten' mit 5000 Kunden. Simuliert wird eine Poisson-Verteilung mit Null-Inflation.

Kopiert!
1 
2DATA casuser.versicherungsdaten;
3call streaminit(12345);
4DO i = 1 to 5000;
5age = 18 + int(rand('UNIFORM') * 60);
6IF rand('UNIFORM') < 0.3 THEN car_type = 'Sport';
7ELSE car_type = 'Standard';
8bonus_malus = rand('NORMAL', 0.5, 0.1);
9mu = exp(-2 + 0.01*age + 0.5*(car_type='Sport'));
10prob_zero = 1 / (1 + exp(-(-1 + 2*bonus_malus)));
11IF rand('UNIFORM') < prob_zero THEN claims = 0;
12ELSE claims = rand('POISSON', mu);
13OUTPUT;
14END;
15 
16RUN;
17 

Étapes de réalisation

1
Laden der Daten und Berechnung deskriptiver Statistiken zur Überprüfung der Null-Verteilung.
Kopiert!
1 
2PROC CAS;
3SIMPLE.freq / TABLE={name='versicherungsdaten'} inputs={'claims'};
4 
5RUN;
6 
2
Anpassung eines Zero-Inflated Poisson (ZIP) Modells. Verwendung von 'age' und 'car_type' für das Zählmodell und 'bonus_malus' für das Nullmodell.
Kopiert!
1 
2PROC CAS;
3countreg.countregFitModel / TABLE={name='versicherungsdaten'}, model={depVars={{name='claims'}}, effects={{vars={'age', 'car_type'}}}, modelOptions={modelType='ZIP'}}, zeromodel={effects={{vars={'bonus_malus'}}}};
4 
5RUN;
6 

Erwartetes Ergebnis


Das Modell konvergiert erfolgreich. Die Ergebnistabellen zeigen signifikante Parameter für 'age' und 'car_type' im Poisson-Teil sowie für 'bonus_malus' im Zero-Model-Teil. Das System bestätigt, dass ein ZIP-Modell verwendet wurde.