Veröffentlicht am :
Statistik CREATION_INTERNE

Poisson-Regression mit PROC MCMC

Dieser Code ist auch verfügbar auf: English Español Français
Wartet auf Validierung
Dieses Skript veranschaulicht, wie eine Poisson-Regression in einem Bayes'schen Rahmen durchgeführt wird. Es beginnt mit der Erstellung eines Datensatzes 'insure', der Versicherungskonten enthält. Anschließend wird PROC TRANSREG verwendet, um eine Designmatrix für kategoriale Variablen zu erstellen. Die Hauptanalyse wird mit PROC MCMC durchgeführt, um die Modellparameter zu schätzen. Schließlich wird ein vergleichender Validierung mit PROC GENMOD und der BAYES-Anweisung durchgeführt.
Datenanalyse

Type : CREATION_INTERNE


Die Daten werden direkt im Skript über einen DATA-Schritt unter Verwendung von 'datalines' generiert.

1 Codeblock
DATA STEP Data
Erklärung :
Erstellung des Datensatzes 'insure', der Informationen über die Anzahl der Policen (n), die Anzahl der Schadensfälle (c), den Fahrzeugtyp (car) und das Alter enthält. Eine logarithmische Offset-Variable 'ln' wird berechnet.
Kopiert!
1title 'Poisson Regression';
2DATA insure;
3 INPUT n c car $ age;
4 ln = log(n);
5 DATALINES;
6 500 42 small 0
7 1200 37 medium 0
8 100 1 large 0
9 400 101 small 1
10 500 73 medium 1
11 300 14 large 1
12;
2 Codeblock
PROC TRANSREG Data
Erklärung :
Verwendung von PROC TRANSREG zur Generierung von Indikatorvariablen (Dummy-Variablen) für die kategoriale Variable 'car', wodurch die Daten für PROC MCMC vorbereitet werden.
Kopiert!
1PROC TRANSREG DATA=insure design;
2 model class(car / zero=last);
3 id n c age ln;
4 OUTPUT out=input_insure(drop=_: Int:);
5 RUN;
3 Codeblock
PROC MCMC
Erklärung :
Durchführung der Bayes'schen Analyse mit PROC MCMC. Das Modell spezifiziert eine Poisson-Verteilung für die Antwortvariable 'c', mit einer log-Link-Funktion und einem Offset 'ln'. Die Priors sind als normal definiert.
Kopiert!
1PROC MCMC DATA=input_insure outpost=insureout nmc=5000 propcov=quanew
2 maxtune=0 seed=7;
3 ods select PostSumInt;
4 array DATA[4] 1 &_trgind age;
5 array beta[4] alpha beta_car1 beta_car2 beta_age;
6 parms alpha beta:;
7 prior alpha beta: ~ normal(0, prec = 1e-6);
8 call mult(DATA, beta, mu);
9 model c ~ poisson(exp(mu+ln));
10RUN;
4 Codeblock
PROC GENMOD
Erklärung :
Verwendung von PROC GENMOD mit der BAYES-Anweisung, um dasselbe Poisson-Regressionsmodell anzupassen. Dies dient als Vergleichspunkt zur Validierung der mit PROC MCMC erhaltenen Ergebnisse.
Kopiert!
1PROC GENMOD DATA=insure;
2 ods select PostSummaries PostIntervals;
3 class car age(descending);
4 model c = car age / dist=poisson link=log offset=ln;
5 bayes seed=17 nmc=5000 coeffprior=normal;
6RUN;
Dieses Material wird von We Are Cas "wie besehen" zur Verfügung gestellt. Es gibt keine ausdrücklichen oder stillschweigenden Garantien hinsichtlich der Marktgängigkeit oder Eignung für einen bestimmten Zweck in Bezug auf die hierin enthaltenen Materialien oder Codes. We Are Cas ist nicht verantwortlich für Fehler in diesem Material, wie es jetzt existiert oder existieren wird, noch bietet We Are Cas technischen Support dafür an.