Ce script illustre comment effectuer une régression de Poisson dans un cadre bayésien. Il commence par créer un jeu de données 'insure' contenant des comptes d'assurance. Il utilise ensuite PROC TRANSREG pour créer une matrice de conception pour les variables catégorielles. L'analyse principale est effectuée avec PROC MCMC pour estimer les paramètres du modèle. Enfin, une validation comparative est réalisée à l'aide de PROC GENMOD avec l'instruction BAYES.
Analyse des données
Type : CREATION_INTERNE
Les données sont générées directement dans le script via une étape DATA utilisant des 'datalines'.
1 Bloc de code
DATA STEP Data
Explication : Création du jeu de données 'insure' contenant des informations sur le nombre de polices (n), le nombre de sinistres (c), le type de voiture (car) et l'âge. Une variable de décalage (offset) logarithmique 'ln' est calculée.
Copié !
title 'Poisson Regression';
data insure;
input n c car $ age;
ln = log(n);
datalines;
500 42 small 0
1200 37 medium 0
100 1 large 0
400 101 small 1
500 73 medium 1
300 14 large 1
;
1
title 'Poisson Regression';
2
DATA insure;
3
INPUT n c car $ age;
4
ln = log(n);
5
DATALINES;
6
50042 small 0
7
120037 medium 0
8
1001 large 0
9
400101 small 1
10
50073 medium 1
11
30014 large 1
12
;
2 Bloc de code
PROC TRANSREG Data
Explication : Utilisation de PROC TRANSREG pour générer les variables indicatrices (dummy variables) pour la variable catégorielle 'car', préparant ainsi les données pour PROC MCMC.
Copié !
proc transreg data=insure design;
model class(car / zero=last);
id n c age ln;
output out=input_insure(drop=_: Int:);
run;
1
PROC TRANSREGDATA=insure design;
2
model class(car / zero=last);
3
id n c age ln;
4
OUTPUT out=input_insure(drop=_: Int:);
5
RUN;
3 Bloc de code
PROC MCMC
Explication : Exécution de l'analyse bayésienne avec PROC MCMC. Le modèle spécifie une distribution de Poisson pour la variable réponse 'c', avec une fonction de lien log et un offset 'ln'. Les priors sont définis comme normaux.
Explication : Utilisation de PROC GENMOD avec l'instruction BAYES pour ajuster le même modèle de régression de Poisson. Cela sert de point de comparaison pour valider les résultats obtenus avec PROC MCMC.
Copié !
proc genmod data=insure;
ods select PostSummaries PostIntervals;
class car age(descending);
model c = car age / dist=poisson link=log offset=ln;
bayes seed=17 nmc=5000 coeffprior=normal;
run;
1
PROC GENMODDATA=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;
6
RUN;
Ce matériel est fourni "tel quel" par We Are Cas. Il n'y a aucune garantie, expresse ou implicite, quant à la qualité marchande ou à l'adéquation à un usage particulier concernant le matériel ou le code contenu dans les présentes. We Are Cas n'est pas responsable des erreurs dans ce matériel tel qu'il existe maintenant ou existera, et We Are Cas ne fournit pas de support technique pour celui-ci.
SAS et tous les autres noms de produits ou de services de SAS Institute Inc. sont des marques déposées ou des marques de commerce de SAS Institute Inc. aux États-Unis et dans d'autres pays. ® indique un enregistrement aux États-Unis. WeAreCAS est un site communautaire indépendant et n'est pas affilié à SAS Institute Inc.
Ce site utilise des cookies techniques et analytiques pour améliorer votre expérience.
En savoir plus.