12 Régression de Poisson
Exercice 1 (Questions de cours) C, A, B, A, B, B, C, A
Exercice 2
Le modèle linéaire gaussien s’écrit
c’est-à-dire La densité en est On a donc La fonction de lien canonique est par définition L’inverse de est donc , c’est le lien identité.Le modèle logistique avec répétition en
(voir paragraphe 11.4.1, p. 270) s’écrit où La probabilité que vaille ou densité par rapport à la mesure de comptage au point en s’écrit Si il n’y a pas de répétitions en on a et ou .En modèle GLM on s’intéresse non pas au comptage
mais à la moyenne , nous avons donc En introduisant l’exponentielle: Ici nous avons ou Pour calculer la fonction de lien canonique nous devons dériver et inverser la fonction c’est le lien logistique.Le modèle de poisson s’écrit
La probabilité que vaille $y_i ou densité par rapport à la mesure de comptage au point en s’écrit Ici nous avons Pour calculer la fonction de lien canonique nous devons dériver et inverser la fonction c’est le lien log.
Exercice 3
- Les moments factoriels d’ordre
d’une variable aléatoire suivant une loi de Poisson valent:- Pour
nous avons donc Pour nous avons donc Et nous avons la variance
- Pour
Exercice 4 (Stabilisation de la variance) Tirons notre échantillon de taille
<- 1e7
n <- 1:20
lambdas <- rep(0, length(lambdas))
varX <- rep(0, length(lambdas))
varZ for (l in 1:length(lambdas)){
<- rpois(n, lambdas[l])
ech <- var(ech)
varX[l] <- sqrt(ech)
ech <- var(ech)
varZ[l]
}print(varX)
[1] 0.9997369 1.9997818 2.9984626 4.0031435 4.9959479 5.9992567
[7] 7.0043691 7.9954055 8.9991719 9.9990725 10.9885709 12.0038720
[13] 12.9821786 13.9998158 14.9955777 16.0014936 16.9962143 17.9969313
[19] 19.0054412 19.9929461
print(varZ)
[1] 0.4022116 0.3897837 0.3396863 0.3059119 0.2856383 0.2753928 0.2693276
[8] 0.2652610 0.2629826 0.2613118 0.2598299 0.2590222 0.2578215 0.2575848
[15] 0.2568114 0.2565663 0.2560164 0.2556442 0.2554479 0.2549726
Exercice 5 (Stabilisation de la variance) Comme
Exercice 6
Graphique
<- read.csv("../donnees/poissonData3.csv") Malaria <- lapply( split( Malaria$N.malaria, Malaria$Sexe ), table ) tab <- matrix( 0,2, max( Malaria$N.malaria )+1 ) Tab colnames(Tab) <- 0:max( Malaria$N.malaria ) 1, names(tab[[1]]) ] <- tab[[1]] Tab[2, names(tab[[2]]) ] <- tab[[2]] Tab[barplot( Tab, offset = -Tab[1,])
Les barres sont superposées : les filles puis les garçons. Comme on soustrait à la hauteur totale les garçons (argument
offset
), on a les effectifs des filles en dessous et ceux des garçons au dessus.Les moyennes par groupe
aggregate(Malaria$N.malaria, list(Malaria$Sexe), mean)
Group.1 x 1 F 4.579012 2 M 4.794370
et la différence des logarithme népérien
diff(log(aggregate(Malaria$N.malaria, list(Malaria$Sexe), mean)[,"x"]))
[1] 0.04595891
Un autre code
<- sapply( split( Malaria$N.malaria, list(Malaria$Sexe) ),mean,na.rm=T) mm round( c( log( mm[1] ), diff( log( mm ) ) ), 5)
F M 1.52148 0.04596
Régression de Poisson
<- glm(N.malaria ~ 1 + Sexe, data=Malaria, family = poisson) mod mod
Call: glm(formula = N.malaria ~ 1 + Sexe, family = poisson, data = Malaria) Coefficients: (Intercept) SexeM 1.52148 0.04596 Degrees of Freedom: 1626 Total (i.e. Null); 1625 Residual Null Deviance: 5710 Residual Deviance: 5706 AIC: 10510
Nous retrouvons que le coefficient constant (
Intercept
) est le logarithme népérien de la moyenne du nombre de visites chez les filles. La modalité fille est la première modalité de la variableSexe
par ordre alphabétique et constitue la modalité de référence. Le coefficient constant est ici le logarithme (qui est la fonction de lien) de la moyenne du nombre de visites chez les filles. L’effetAge
est ici la différence des logarithmes ce que nous retrouvons dans le second coefficient.
Exercice 7 (Table de contingence et loi de Poisson)
Importons les données
<- read.table("../donnees/poissonData3.csv", sep=",", header=TRUE, stringsAsFactors=TRUE) Malaria
et le tableau de contingence est
table(Malaria$Sexe, Malaria$Prevention)
Autre Moustiquaire Rien Serpentin/Spray F 2 557 223 28 M 6 543 233 35
Lien entre Sexe et Prévention
chisq.test(Malaria$Sexe,Malaria$Prevention)
Pearson's Chi-squared test data: Malaria$Sexe and Malaria$Prevention X-squared = 3.1452, df = 3, p-value = 0.3698
La probabilité critique est de 0.3698 donc nous conservons
il y a indépendance entre Sexe et Prévention.Constitution du data-frame
<- as.vector(table(Malaria$Sexe, Malaria$Prevention)) Y <- table(Malaria$Sexe, Malaria$Prevention) eff <- factor(rep(c("F", "M"), 4)) Sexe <- factor(rep(levels(Malaria$Prevention), each=2)) Prevention <- data.frame(Y, Sexe, Prevention) don
Modèle de Poisson avec interaction
<- glm( Y ~ -1 + Sexe:Prevention, data=don, family=poisson) mod1
Il n’y a pas de contraintes ici. On a
niveaux d’interactions et 8 coefficients estimés. Il s’agit d’une situation analogue à une analyse de variance à 2 facteurs (à 2 et 4 niveaux) avec interaction et sans répétitions. Dans chaque niveau d’interaction on observe un comptage (l’effectif) qui est modélisé par un modèle de Poisson. Les comptages suivent une loi de Poisson de paramètre dont le log est fonction du niveau de l’interaction En ANOVA c’est un modèle normal et le lien est l’identité.Le modèle est saturé, il y a une
observations et 8 points distincts dans le design: 8 niveaux d’interactions. Par ailleurs on a bien paramètres.Comme le modèle est saturé nous avons que les items ci-dessous représentent la même chose:
- les ajustements du modèle
mod1
- les observations en chaque point du design (chaque niveau d’interaction)
- la moyenne en chaque point du design car il n’y a qu’un point par niveau d’interaction
all(abs(fitted(mod1) - don$Y)<1e-10)
[1] TRUE
<- aggregate(don$Y, list(don$Sexe,don$Prevention), mean)[,"x"] moyparcellule all(abs(fitted(mod1) - moyparcellule)<1e-10)
[1] TRUE
En passant au log, les ajustements (ou les comptages, ou la moyenne par niveau) valent les coefficients
:all(abs(log(don$Y) - coef(mod1))<1e-10)
[1] TRUE
- les ajustements du modèle
Modèle de Poisson sans interaction
<- glm( Y ~ 1 + Sexe + Prevention, data=don, family=poisson) mod2
Le comptage
(l’effectif) est modélisé par un modèle de Poisson : les comptages suivent une loi de Poisson de paramètre dont le log est modélisé par- Il y a des contraintes identifiantes qui sont celles choisies par défaut:
mod2
Call: glm(formula = Y ~ 1 + Sexe + Prevention, family = poisson, data = don) Coefficients: (Intercept) SexeM 1.381983 0.008605 PreventionMoustiquaire PreventionRien 4.923624 4.043051 PreventionSerpentin/Spray 2.063693 Degrees of Freedom: 7 Total (i.e. Null); 3 Residual Null Deviance: 1998 Residual Deviance: 3.24 AIC: 60.92
- Le modèle n’est pas saturé, il y a toujours 8 points distincts dans le design et
paramètres. - Les estimations du modèle tendent à modéliser les effectifs par un effet Sexe et Prevention sans interaction.
- Il y a des contraintes identifiantes qui sont celles choisies par défaut:
Comparaison via AIC
AIC(mod1)
[1] 63.67658
AIC(mod2)
[1] 60.91634
Le modèle avec le plus petit AIC est retenu: le modèle sans interaction. Ce choix est en accord avec la décision prise en question 2.
Exercice 8 (Table de contingence et probabilité)
- La probabilité d’être une femme
- La probabilité d’utiliser au moyen Autre est
Toutes les autres lignes ou colonnes sont traitées de manière similaire. - Contraintes Il s’agit de probabilité donc leur somme vaut 1:
On a aussi d’autres probabilités : - Indépendance
- On part de l’écart proposé et on multiplie par
: On a comme contrainte On peut aussi exprimer les contraintes sur les avec les contraintes sur les probabilités conditionnelles.
Exercice 9 (Loi Multinomiale) Soit
Exercice 10
Nous souhaitons modéliser des effectifs répartis dans des cases
ce qui représente le champs d’action de la loi multinomiale.- Un premier modèle possible est de modéliser toute la table d’un coup. On désigne par
l’effectif (aléatoire) du croisement et par la probabilité (inconnue) d’appartenir à ce croisement (voir le tableau de l’énoncé). Ainsi correspondra par exemple au croisement (,). Nous avons donc l’effectif total de la table et nous utilisons toute la table d’un coup et nous modélisons les effectifs par une loi multinomiale . Pour une case nous avons pour les probabilités: Si nous soupçonnons qu’il n’y ait pas de lien entre Groupe et Intention nous pouvons simplifier le modèle via l’indépendance et avoir pour une case Cette approche est celle du test du et nous ne la développerons pas dans cet exercice. - Une seconde approche (utilisée ici) est de modéliser chaque ligne du tableau.
- Si nous soupçonnons qu’il n’y ait pas de lien entre Groupe et Intention nous pouvons dire que chaque ligne est modélisée par une loi multinomiale
. D’une ligne à l’autre la loi est presque la même (l’effectif change): la répartition dans les cases suit les mêmes probabilité puisque l’on soupçonne qu’il n’y a pas de lien entre Groupe et Intention. - Si nous soupçonnons qu’il y ait un lien entre Groupe et Intention nous pouvons dire que chaque ligne est modélisée par une loi multinomiale
. D’une ligne à l’autre la loi est différente: l’effectif change et la répartition dans les cases ( ) change aussi ; c’est l’objet de la question 2.
- Si nous soupçonnons qu’il n’y ait pas de lien entre Groupe et Intention nous pouvons dire que chaque ligne est modélisée par une loi multinomiale
Pour la ligne
on a comme observation les effectifs (d’une multinomiale) . Leur somme vaut . On doit répartir dans 3 groupes mais les probabilités de répartitions sont les mêmes d’une ligne à l’autre elles sont notées . On a donc la probabilité d’observer : Pour toutes les données nous avons alors- Un premier modèle possible est de modéliser toute la table d’un coup. On désigne par
Le modèle avec lien entre Groupe et Intention permet d’écrire la probabilité de l’échantillon comme:
Calculons les log-vraisemblances pour les deux modèles.
Modèle sans effet Groupe:
sous les contraintes et les probabilités sont positives. La positivité peut être imposée en écrivant et la somme à 1 impose alors En utilisant cette paramétrisation nous avonsModèle avec effet Groupe:
sous les contraintes et les probabilités sont positives. La positivité peut être imposée en écrivant et la somme à 1 impose alors En utilisant cette paramétrisation nous avons
Le modèle de poisson complet est
Ce modèle est sur-paramétré et nécessite des contraintes pour être estimable. On peut choisir Il donne les mêmes prévisions que le modèle plus simple suivant: Ce modèle est sur-paramétré et nécessite des contraintes pour être estimable. On peut choisir $$%Ils donnent les mêmes prévisions que le modèle sans contraintes suivant:
Pour ce dernier modèle, nous avons l’écriture suivante (qui correspond bien à l’écriture de l’équation ci-dessus) et où l’on voit apparaître sous forme matricielle le modèle saturé (la matrice de design est et de plein rang): Pour le second modèle nous avons Pour le premier modèle nous avonsCalculons la vraisemblance du modèle avec contrainte pour les observations
: dont le logarithme est Comme , on en déduit Posons et on a donc Exprimons en fonction de : et nous introduisons cette dernière équation dans la log-vraisemblance: La vraisemblance est séparée en 2 parties: le premier terme dépend de alors que les 2 derniers dépendent de . On reconnaît dans les 2 derniers termes la vraisemblance de la modélisation multinomiale avec effet Groupe (équation 1). La maximisation donnerait les mêmes si il n’y avait pas les contraintes… Regardons cela:- Du côté de la régression Poisson on a pour chaque cellule
la modélisation avec comme contrainte par exemple Pour passer sur l’échelle des probabilités on utilise toujours l’exponentielle et on divise par la somme sur chaque ligne (les probabilités doivent sommer à 1 pour chaque ligne) - Du côté de la régression Multinomiale on a pour chaque cellule
directement et pour passer sur l’échelle des probabilités on utilise toujours l’exponentielle et on divise par la somme sur chaque ligne (les probabilités doivent sommer à 1 pour chaque ligne)
Le même calcul que ci-dessus peut être conduit avec le modèle sans contrainte avec les
et on obtient (non demandé) Pour passer sur l’échelle des probabilités on utilise toujours l’exponentielle et on divise par la somme sur chaque ligne (les probabilités doivent sommer à 1 pour chaque ligne)- Du côté de la régression Poisson on a pour chaque cellule