{"word_count": 388, "character_count": 3335}
Pour la fin du cours de statistique, on joue enfin avec des données. Après les taux de réussite au brevet des collèges, on a travaillé un peu sur la survenance des ouragans aux Etats-Unis. La base utilisée est la suivante&#62; base=read.table("http://freakonometrics.free.fr/ouragan.csv",sep=";",header=TRUE,dec=",")&#62; base=base[1:207,1:7]Le nombre annuel d'ouragan est la série suivante&#62;  TB &#60;- table(base$Year)&#62;  years &#60;- as.numeric(names(TB))&#62;  counts &#60;- as.numeric(TB)&#62;  years0=(1900:2005)[which(!(1900:2005)%in%years)]&#62;  db &#60;- data.frame(years=c(years,years0),         counts=c(counts,rep(0,length(years0))))&#62;  X=db$counts&#62;  plot(db,type="h")On peut comparer les fréquences observées avec ce que donnerait une loi de Poisson (paramètre obtenu par maximum de vraisemblance)&#62;  lambda=mean(X)&#62;  n=length(X)&#62;  cbind(X,dpois(0:6,lambda)*n)  [,1]      [,2]0   16 15.0384301   34 29.3675002   27 28.6748703   13 18.6657174    5  9.1127445    6  3.5591286    5  1.158396On peut alors faire un test d'ajustement,&#62;  library(vcd)&#62;  fit=goodfit(X,"poisson")&#62;  plot(fit)&#62;  summary(fit)  Goodness-of-fit test for poisson distribution                       X^2 df   P(&#62; X^2)Likelihood Ratio 14.17686  5 0.01452415On voit que le test d'ajustement d'une loi Poisson n'est pas très concluant ici. Notons que ni la loi binomiale&#62;  fit=goodfit(X,"binomial")&#62;  plot(fit)&#62;  summary(fit)  Goodness-of-fit test for binomial distribution                       X^2 df     P(&#62; X^2)Likelihood Ratio 46.21196  5 8.222959e-09ni la loi binomiale négative ne semble marcher.&#62;  fit=goodfit(X,"nbinomial")&#62;  plot(fit)&#62;  summary(fit)  Goodness-of-fit test for nbinomial distribution                       X^2 df   P(&#62; X^2)Likelihood Ratio 10.91507  4 0.02753523On peut faire un test de stabilité temporelle du paramètre d'une loi de Poisson, à l'aide du test de Przyborowski &#38; Wilenski (1940).  Un ancien package permettait de mettre en place ce test. Mais on peut heureusement utiliser une autre fonction, avec une version différente du test (on pourra aussi consulter Krishnamoorthy &#38; Thomson (2004) pour aller plus loin). L'idée du premier test est assez simple: notons que si sur la première période (de durée ), on a un processus de Poisson de paramètre  et sur la seconde période (de durée ), alorsetUn test de  s'écrit  Notons que la loiconditionnelle de  sachant  suit une loi binomiale, donc le paramètre de probabilité est fonction de ce ratio. Plus précisément, conditionnellement à,  suit un loi binomiale  avecA partir de là, il est facile de mettre en place une stratégie de test. Une autre stratégie est d'utiliser&#62;  seuil=1960&#62;  X1=db[db$years&#60;seuil,"counts"]&#62;  X2=db[db$years&#62;=seuil,"counts"]&#62;  N1=length(db$years&#60;seuil)&#62;  N2=length(db$years&#62;=seuil)&#62;  poisson.test(c(sum(X1),sum(X2)),c(N1,N2)) Comparison of Poisson rates data:  c(sum(X1), sum(X2)) time base: c(N1, N2)count1 = 85, expected count1 = 103.5, p-value = 0.01216alternative hypothesis: true rate ratio is not equal to 195 percent confidence interval: 0.5218662 0.9265666sample estimates:rate ratio  0.6967213&#160;Bref, on peut accepter que le nombre annuel d'ouragan n'est pas un processus de Poisson homogène dans le temps...