All posts by Arthur Charpentier

Arthur Charpentier, professor in Montréal, in Actuarial Science. Former professor-assistant at ENSAE Paristech, associate professor at Ecole Polytechnique and assistant professor in Economics at Université de Rennes 1.  Graduated from ENSAE, Master in Mathematical Economics (Paris Dauphine), PhD in Mathematics (KU Leuven), and Fellow of the French Institute of Actuaries.

“on” a bien de la chance

Depuis quelques semaines, je passe un peu (trop) de temps dans les hôpitaux.

(l’image vient du blog de Lewis Trondheim, ici1). Histoire de tuer le temps, j’essaye de discuter avec “les gens” de tout et de rien2. Bref, l’autre jour j’étais avec une personne un peu âgée qui parlait des progrès de la médecine (en comparant la médecine telle qu’elle semblait l’avoir connue, et celle qu’elle vivait aujourd’hui), quand elle m’a dit cette phrase banale, “tous les ans, on gagne un trimestre d’espérance de vie” donc normalement “vous avez de la chance, vous devriez vivre plus de 100 ans“. Sur le moment, je me suis interrogé sur le sens de sa phrase3, et sur sa pertinence. Par politesse (ou peut être parce que j’évite de passer pour un nerd en public, sauf si j’y suis invité), je n’ai rien dit sur le moment. Cette phrase est un réel cliché, et je me suis demandé qui était ce “on” (qui a bien de la chance) ?

Mon prof de prépa se méfiait comme de la peste du “ça” du fameux “ça converge” (suffisamment vague pour espérer que l’examinateur trouverait – à notre place – ce qui converge). Mais ce “on” est une vraie plaie.

ON, pron. pers. indéf.

Pronom personnel de troisième personne, exprimant l’idée d’animé humain et fonctionnant toujours comme sujet. I. [Dans un cont. de généralité, souvent combiné avec un prés. gnomique révélé lui-même par une conj. de temps, désigne un suj. animé indéf.]

A. [Dans l’énoncé de vérités d’expérience, considérées comme universelles, c’est-à-dire vraies pour n’importe qui] On a souvent besoin d’un plus petit que soi. On peut éclaircir l’histoire, on ne la renouvelle pas (Bainville, Hist. Fr., t.1, 1924, p.6). On n’épuise pas le malheur, mon amour, on l’oublie. Vous ne voulez pas l’oublier (Bernanos, Dialog. ombres, 1928, p.47). Quand on vit seul, on ne sait même plus ce que c’est que raconter: le vraisemblable disparaît en même temps que les amis (Sartre, Nausée, 1938, p.21).

Étymol. et Hist. Pron. de la pers. suj. indéterminée A. 1. Employé sans art. 842 (Serments de Strasbourg ds Henry Chrestomathie, p.2, 5: Si salvarai eo cist meon fradre Karlo et in aiudha et in cadhuna cosa, si cum om per dreit son fradra salvar dift; cf. E. Koschwitz, Commentar zu den ältesten franz. Denkmälern, p.41; Moignet, Gramm. de l’a. fr., p.146 note ,,peut encore s’interpréter comme un subst.“); ca 1050 (St Alexis, éd. Chr. Storey, 235: Par nule guise ne l’em puet hom blasmer), [cf. 1647, Vaug., p.10: Si le verbe finit par une voyelle devant on, comme prie-on, alla-on, il faut prononcer et escrire un t entre deux: prie-t-on, alla-t-on pour oster la cacophonie]; ca 1100 (Roland, éd. J. Bédier, 2949: En un carner cumandez qu’hom les port);

Pour reprendre la définition du dictionnaire de l’académie française, On désigne un sujet indéterminé.

1. Les hommes en général, l’être humain. On naît, on vit, on meurt. On n’avait jamais constaté pareil phénomène. En raison de cette valeur, On s’emploie pour énoncer des vérités générales, dans des sentences, pensées, proverbes, etc. On a souvent besoin d’un plus petit que soi. À vaincre sans péril, on triomphe sans gloire, vers du Cid, de Pierre Corneille, souvent cité comme maxime.
2. Un ensemble d’individus, dont le locuteur ou la personne dont on parle peut ou non faire partie. On me le demande souvent. Comment en est-on arrivé là ? Plus on est de fous, plus on rit.
3. Un individu non différencié, anonyme ou inconnu. On frappe à la porte. On lui a volé son portefeuille (dans cet emploi, la construction avec On permet d’éviter la tournure passive).
4. Loc. On ne peut plus, extrêmement. Il est on ne peut plus doué pour la peinture. On ne peut mieux, excellemment. L’affaire a été réglée on ne peut mieux. Comme on dit, selon l’expression courante. On-dit, voir ce mot. Le qu’en dira-t-on, l’opinion des autres. Se soucier, se moquer du qu’en dira-t-on.

Bref, “on” n’est pas franchement plus avancé… Je vais essayer de revenir un peu sur cette notion d’espérance de vie, en expliquant pourquoi il convient de la prendre en compte dans une perspective dynamique (une version plus historique et détaillée peut se trouver dans un article que j’avais fait pour Risque, ici). Accessoirement, tout ça sera abordé dans le cours de Statistique de l’Actuariat en Master 2, à la rentrée. Et surtout, on va essayer de comprendre qui peut être ce “on”.

  • Modélisation de la durée de vie et diagramme de Lexis

La durée de vie résiduelle d’un individu (ou son espérance de vie résiduelle, car la durée de vie est aléatoire, sinon l’assurance décès n’aurait pas de sens) dépend de deux paramètres importants: son âge, et l’année où on se place.

D’où l’idée des tables de mortalité prospective, qui prennent en compte la fait que le taux de décès par exemple, évolue dans le temps,

(je renvoie ici ou pour un peu plus d’information).

  • Espérance de vie à la naissance

Voici le code R, à l’aide de library(demography), avec un ajustement de type Lee-Carter (basé sur un historique d’un siècle, et une projection par une série intégrée à l’ordre 1 pour le paramètre dépendant du temps),

> library(demography)
> france.LC1 <- lca(fr.mort,adjust="e0",series="female",years=c(1900,2040))
> france.fcast <- forecast(france.LC1)
> L2 <- lifetable(france.fcast)
> ex2=L2$ex
> L1=lifetable(fr.mort,series="female")
> ex1=L1$ex
> ex=c(ex1[1,],ex2[1,])
> plot(1899:2053,ex,col="blue")
> y=ex[72:102]
> x=1970:2000
> abline(lm(y~x),col="red") 

Si on regarde la pente de la droite sur les années 1970-2000, elle vaut 1/4

> lm(y~x)$coefficients:
(Intercept)            x 
  -403.3664       0.2433

1/4 d’année correspondant à un trimestre,effectivement, l’espérance de vie à la naissance augmente d’un trimestre par an.

Autrement dit, tous les ans, les bébés qui naissent (c’est le “on”) peuvent espérer vivre un trimestre de plus qu’un bébé qui serait né un an plus tôt.

  • Evolution de sa propre espérance de vie

Mais le pronom “on” laissant souvent croire que le locuteur est inclus dans le groupe4, et je voulais plutôt regarder comment “je” gagne en espérance de vie. En fait, pour que l’exercice soit marrant, on va supposer que “je” suis cette brave dame, et que j’aurais 70 ans (mille excuses si elle n’en a que 60 et qu’elle lit régulièrement mon blog, mais on va faire comme si, pour les besoins de la démonstration et de la science).

Reprenons notre base de données, et regardons l’évolution de l’espérance de vie résiduelle de cette brave personne (de manière rétrospective)

> M=ex1[,(ncol(ex1)-65):ncol(ex1)]
> plot(diag(M),col="blue")
> y=diag(M)[15:length(diag(M))]
> x=15:length(diag(M))
> abline(lm(y~x),col="red")
> abline(73,-1,col="purple")

Sans amélioration de l’espérance de vie (pas seulement dans le temps, mais aussi avec l’âge, car les deux augmentent simultanément), on devrait perdre un an tous les ans. Mais si on regarde attentivement, la décroissance est effectivement beaucoup moins forte qu’annoncé,
dessin

> lm(y~x)$coefficients
(Intercept)           x
  71.077486   -0.753065

Autrement dit, à chaque anniversaire, je perds 0,753064 année d’espérance de vie résiduelle. Cette différence de 0,25 avec l’unité peut également être interprété comme un gain d’un trimestre par an.
Aussi, tous les ans, “je” gagne un trimestre d’espérance de vie, mais par rapport à un modèle simpliste où la probabilité de décès serait une masse de Dirac sur l’âge limite (disons 110 ans): il n’y a plus d’incertitude sur la date de décès. Donc en un sens, “je” fais partie de ce “on”, mais la référence de la comparaison est un peu stupide.

En fait, la vraie comparaison aurait peut être du être les espérances de vie résiduelles qu’avait eu cette brave personne à la naissance (et qu’on pourrait interpréter comme des gains dûs aux progrès de la médecine),

> z=ex1[,(ncol(ex1)-65)]
> points(1:length(z),z,pch=19,cex=.8,col="dark green")


Le principal soucis est que cette personne est née avant guerre, et donc son espérance de vie résiduelle a explosé passé 10 ans (i.e. elle a survécu à la guerre).

> y=z[11:70]
> x=10:69
> lm(y~x)$coefficients
(Intercept)           x
 65.0226754  -0.8084443

Autrement dit, la pente des points verts est de -0,8. Bref, sans prendre en compte les progrès de la médecine, “on” gagnerait 1/5 d’espérance de vie résiduelle à chaque anniversaire (approche longitudinale de la mortalité). Les progrès de la médecine font passer la gain de 0,20 année à 0,25 (ce qui peut être interprété comme un gain de 0,05 point, ou comme un gain de 25%, soit encore 1/4, que l’on retrouve décidément partout).

Moralité, comme toujours, “on” a raison, à condition toutefois de bien expliquer comme comprendre cet adage….

1 j’avais promis à mes enfants (qui sont des fervents lecteurs de mon blog, surtout si je mets des images de cowboys, de chevalier, de princesse; de licornes, etc…) que je raconterais comment je suis tombé dans les pommes à l’hôpital, après l’opération de mon fils… Je me contenterais de cette image de Lewis afin d’expliquer la vérité: c’était une manœuvre de diversion !
2 je vais faire ici un billet sur l’utilisation délicate du pronom “on“, mais je pourrais faire une analyse similaire sur “les gens“. J’avais déjà dit (ici par exemple) tout le mal que je pensais de ce concept, et en particulier sur le fait que j’avais du mal à croire que “les gens” pouvait avoir une opinion (que l’on pourrait appeler “l’opinion publique“). Les deux sont d’ailleurs très proches si on commence à faire un peu d’analyse des discours politiques des dernières années, avec l’explosion d’expressions du genre “on sait bien que….” ou le “tout le monde sait bien que…“. Mais je sors du cadre de mon billet…
3 je ne rentrerais pas ici dans le débat de savoir si ce rallongement de la durée de vie est – ou n’est pas – une chance. Les personnes intéressées n’ont qu’à passer à l’heure de l’apéro à la maison, on a ce genre de discussion avec mon fils assez fréquemment (qui souhaite savoir si on est obligé de mourir, et comprendre pourquoi, parce que lui, il a pas envie…).
4 histoire de continuer dans les discussions familiales, ma femme avait l’habitude de me faire remarque qu’au contraire, j’avais souvent tendance à m’exclure de ce “on“, comme dans le “on devrait changer sa couche, non ?“.

Optimisation et dualité

La notion de dualité est un peu utilisée à tort et à travers en optimisation, par exemple en gestion de portefeuille. Histoire de remettre les idées au clair, je voulais faire un court billet sur le sujet,

  • cas de la programmation linéaire

Dans le cas de l’optimisation linéaire, on s’intéresse au problème d’optimisation suivant

où ici

.

On parlera alors de “problème primal“. La version duale (appelé “problème dual“) s’écrit alors tout simplement

et ici

.

Pour diverses raisons, il peut parfois être plus simple de résoudre le problème dual que le problème primal. Et l’intérêt de cette réécriture est que les deux problèmes sont étroitement liés. En particulier, sous quelques hypothèses d’existence de solution, on a alors un résultat de la forme suivante (que l’on appelle parfois théorème de Minkowski-Farkas). Une solution au problème primal est optimale si et seulement si il existe une solution au problème dual vérifiant

.

Ce théorème est parfois abordé dans les cours sur la convexité… autrement dit, ce résultat doit être très liés à des propriétés de fonctions convexes, et c’est ce qu’on va voir ensuite… Je renvoie au livre de Yadolah Dodge d’Optimisation Appliquée (chapitre 7) pour ceux qui veulent des exemples.

  • la dualité dans un cas plus général (mais convexe)

Cette dualité, qui permet de résoudre un problème d’optimisation parfois plus simple ne marche toutefois que sous certaines hypothèses. Considérons pour cela le problème relativement général suivant,

où toutes les fonctions sont supposées convexes, et on suppose de plus que est un ensemble convexe, compact. On parle alors de programme convexe (cf wiki). Ce problème est équivalent au problème suivant,

autrement dit, la résolution de ce problème se fait en passant par le Lagrangien,

Le principe de dualité consiste alors à permuter les min et les sup, et la version duale (le “problème dual“) s’écrit alors tout simplement

où on s’intéresse à maximiser la fonction dite objectif.

On peut montrer que cette fonction est alors une fonction concave. On alors le résultat suivant

  • en programmation linéaire ou pour un programme convexe,
  • pour un programme non-convexe,

Autrement dit, si l’on supprime l’hypothèse de convexité, alors les deux problèmes ne sont plus équivalents. Pour expliquer de manière heuristique l’avantage de l’optimisation sur des fonctions convexes, on peut considérer le dessin ci-dessous (emprunté sur http://convexoptimization.com/…),

où on voit clairement que minimiser f sous la contrainte de maximiser g est équivalent à permuter l’ordre de l’optimisation.

  • la dualité dans un cas plus général non convexe

En fait, on peut montrer (ce sont des résultats montrés par Jean-Pierre Aubin et Ivar Ekeland en 1976, dans Applied nonlinear analysis) quelques résultats afin de contrôler l’écart entre les deux optimums,

Sous quelques conditions techniques, on peut alors majorer l’écart entre les solutions des deux problèmes,

en introduisant la distance entre la fonction à maximiser et son enveloppe convexe. Pour aller (beaucoup) plus loin, il existe un petit livre de Tyrrell Rockafellar sur ce sujet, conjugate duality and optimization. Je peux aussi renvoyer vers le site http://meboo.convexoptimization.com/ (et le livre associé, ici). Côté applications, elles sont nombreuses, en économie mais aussi en finance. En particulier, je renvoie à un papier que l’on avait fait avec Abder Oulidi sur l’optimisation de portefeuilles sous contraintes de VaR (ici). La VaR n’étant pas convexe, l’optimisation est un problème plus compliqué (d’où l’intérêt évoqué par certains de minimiser des mesures de risques convexes).

Repousser l’âge de la retraite ?

Le débat est relancé sans cesse… J’avais déjà parlé d’un ancien rapport du COR (ici), et je ne rajouterai pas une couche aujourd’hui. En fait, je voulais étudier une partie de la population qui a vocation à se prononcer intelligemment sur le sujet, à savoir nos députés. J’ai découvert récemment la base Sycomoe (ici) qui recense tous les députés depuis 1789. Je ne remontrais pas aussi tard, mais juste après guerre, pour voir un peu l’évolution de l’âge de nos députés en exercice (pour ceux qui veulent des études statistiques sur le très long terme, je renvoie à un papier de Vincent Loonis sur le sujet, ici).

On peut regarder (graphiques ci-dessous) l’évolution de la densité de l’âge de nos députés, avec les courbes de niveaux des fonctions de répartitions,

Pour y voir un peu plus clair, on peut faire des coupes, avec 4 années entre 1948 et 2008,On obtient d’ailleurs les boxplot suivants

On observe bien un vieillissement de nos députés, mais si on compare à septembre 1974, par exemple, les députés sont en moyenne plus âgés, mais il y a moins de personnes très âgées, et nettement moins de jeunes également. Et si on se focalise sur les personnes qui devraient prendre leur retraite, on note que la proportion des plus de 65 ans ne cesse d’augmenter…

Bref, pour une fois que nos représentants mettent (eux-même) en application des mesures qu’ils prônent, je me disais que le fait méritait d’être souligné !

Delta method avec R, ou transformation des paramètres

Un petit billet aujourd’hui sur une question qui m’a été posée (et qui m’a permis de découvrir des nouvelles fonctions sous R). On suppose que l’on a un modèle économétrique de la forme

que l’on peut encore écrire

Supposons que ce soit la formulation en terme de ces derniers coefficients qui nous intéresse, et que l’on cherche un intervalle de confiance.
La Delta Method nous dit que si on dispose d’un estimateur asymptotiquement gaussien (mais c’est le cas pour la plupart des estimateurs que l’on construit en pratique), tout transformation bijective de cet estimateur reste asymptotiquement Gaussien. Bref, on va pouvoir utiliser ces résultats pour en déduire un intervalle de confiance (asymptotique) pour le nouveau paramètre. En effet, l’estimateur par moindre carrés vérifie la normalité asymptotique (sous quelques hypothèses)

ce qui donne avec les notations précédentes

Autrement dit, on peut facilement en déduire un intervalle de confiance (asymptotique). Pour cela, on a trois méthodes (au moins) avec R. Pour la suite, je vais considerer la régression sur la base de données cars (comme toujours), et on s’intéresse à l’estimation de

 

(ne me demandez pas pourquoi, il me fallait un exemple numérique, j’ai pris un truc nonlinéaire pour qu’au moins ça puisse avoir un vague intérêt).

  • En faisant un peu de calcul formel

Pour les calculs symboliques, il y a la fonction D dans le package de base,

> f <- expression(sin(cos(x + y^2)))
> ( Dfx <- D(f, "x") )
-(cos(cos(x + y^2)) * sin(x + y^2))

ce qui pourra alors être utilisé pour faire les calculs de la variance asymptotique.

> x=c(0,1,2); y=1
> eval(D.sc)
[1] -0.7216061 -0.8316919 -0.0774320

On peut également utiliser cette fonction pour faire plein de jolis dessins,

> x <-seq(-5, 5, length=100)
> fx=x^2
> Df <-D(expression(x^2), "x")
> Dfx<-eval(Df)
> plot(x, fx, type = "l", las = 1,ylim=c(-2,2))
> for (i in 1:length(x)) {
+ abline(a = fx[i] - Dfx[i] * x[i], b = Dfx[i],
+ col = rainbow(100)[i])
+ }

Mais bon, c’était juste pour rigoler un peu… On peut utiliser cette fonction pour calculer l’écart type de l’estimateur de la grandeur qui nous intéresse.

> reg1 = lm(dist~speed, data = cars)
> estmean = coef(reg1)
> estvar = summary(reg1)$cov.unscaled * summary(reg1)$sigma^2
> f = function(x,y){
+ -y/(x+y)
+ }
> X=f(estmean[1],estmean[2])
> g=expression(-y/(x+y))
> x<-as.numeric(estmean[1]); y<-as.numeric(estmean[2])
> V=eval(c(eval(D(g, "x")),eval(D(g, "y"))))
> sqrt(t(V) %*% estvar %*% V)
          [,1]
[1,] 0.1063255

Voilà pour la première méthode. Petite remarque: pour faire le calcul symbolique de la dérivée, j’utilise expression et non pas function.

  • En utilisant la fonction deltamethod de la librarie msm

Ici on commence comme avant, sauf que la phase de calcul est immédiat…

> reg2 <- lm(dist~speed, data = cars)
> estmean = coef(reg2)
> estvar = summary(reg2)$cov.unscaled * summary(reg2)$sigma^2
> deltamethod (~ -x2 / (x1 + x2), estmean, estvar) 
[1] 0.1063255

et d’ailleurs, ça peut s’appliquer pour un paramètre en dimension 2

> deltamethod (list(~ -x2 / (x1 + x2), ~ x1+x2), estmean, estvar) 
[1] 0.1063255 6.3664368

En revanche, on obtient des estimateur des écart-types, et pas de la matrice de variance-covariance des estimateurs. Autrement dit on ne peut pas en déduire l’ellipse de confiance, seulement des intervalles de confiance marginaux (en utilisant la normalité asymptotique).

  • En utilisant la fonction delta.method de librarie alr3

Pour finir, une dernière fonction. La seule chose qui change c’est la synthaxe. Mais la sortie est plus élégante,

> reg3 = lm(dist~speed, data = cars)
> delta.method(reg3, "-b1/(b1+b0)")
Functions of parameters:  expression(-b1/(b1+b0))
Estimate = 0.2881585 with se = 0.1063255

En fait, l’écart-type indiqué ici est précisément celui qui est utilisé pour écrire l’intervalle de confiance. Dans cet exemple, l’intervalle de confiance approché (car on suppose que la normalité – en théorie seulement asymptotique – est vérifiée) et estimé (car les paramètres sont inconnus et estimés) est de la forme suivant, pour un seuil de confiance à 95%

> DM=delta.method(reg3, "-b1/(b1+b0)")
Functions of parameters:  expression(-b1/(b1+b0))
Estimate = 0.2881585 with se = 0.1063255 
> DM$estimate+qt(.975,df=nrow(cars)-1)*DM$se
[1] 0.5018277
> DM$estimate+qt(.025,df=nrow(cars)-1)*DM$se
[1] 0.07448936

C’est à dire qu’on a un intervalle de confiance de la forme [0.074;0.502].

Séries temporelles versus séries individuelles

J’ai reçu un mail l’autre jour que me demandait “pourquoi ne peut-on pas utiliser directement les méthodes d’économétrie sur des séries chronologiques ?”. Au lieu de fournir une réponse théorique ou formelle, je préférerais reprendre l’exemple que j’utilisais en cours. Pour cela, je vais utiliser une série que j’utilise dans mon cours d’économétrie.

Supposons que l’on s’interroge sur une éventuellement corrélation entre le tour de poitrine et le tour de taille chez les personnes de sexe féminin. Pour faire une étude économétrique, on a à notre disposition les mensurations des demoiselles qui posent nues, tous les mois, dans Playboy, depuis 1953. Autrement dit, on fait l’erreur de prendre ces données temporelles (tous les mois depuis 1953) pour une série d’observations individuelles. Regardons dans notre échantillon (presque 660 demoiselles) le tour de poitrine  et le tour de taille.

Sur l’ensemble de la période considérée, les deux mesures semblent statistiquement indépendantes (ou alors avec une corrélation très faible). Ce qui est douteux  si on y réfléchit deux minutes. Et effectivement, si on fait l’étude par sous-période, on a effectivement une dépendance positive entre les deux grandeurs.

Et c’est quoi l’interprétation ? En fait, l’erreur dans l’analyse du premier graph vient du fait que la morphologie desdites demoiselles a beaucoup changé dans le temps. Autrement dit, la dépendance est sûrement beaucoup plus forte que ce que laisse sous-entendre le graphique ci-dessus. Regardons par exemple l’évolution du ratio entre le tour de taille et le tour de poitrine,

On note que les deux variables évoluent en sens inverse. Plus précisément, le tour de poitrine a très fortement diminué,

alors que le tour de taille a plutôt augmenté

En fait, plus généralement, beaucoup d’autres paramètres ont changé dans le temps, par exemple l’âge (ce qui peut poser la question de savoir s’il y a réellement un changement dans la corpulence dans le temps, ou c’est simplement du au fait que les demoiselles sont plus agées),

Moralité ? Il ne faut pas jeter ses vieux Playboy, on peut toujours faire des études économétriques avec….  ou alors il faut faire attention quand on étudie des variables à voir s’il n’y a pas une variable cachée derrière (ici le temps).

Sinon, une autre représentation graphique est possible, en interpolant (par une parabole) les mensurations de poitrine, tailles et hanches (et en tenant compte de la taille de la playmate). On a alors l’animation suivante

(avec en haut la taille, au milieu la taille, et en bas les hanches, afin d’avoir une représentation de la morphologie moyenne des playmates cette année là).

Hypothèse d’indépendance en assurance

Il y a deux semaines, j’ai reçu un mail dans ma boite à l’ensae (que je consulte rarement) qui posait une vraie question. “Pour le modèle de risque collectif : S=X1+X2+…+XN. On suppose que les Xi et N sont indépendants (montant de sinistres et nombre de sinistres). Question : Dans la pratique (par exemple : assurance automobile), comment peut-on expliquer cette indépendance.

Sur la forme de la question, on mélange un peu théorie et pratique: c’est la théorie qui impose cette hypothèse, et effectivement, il convient de la confronter à la pratique afin d’utiliser les résultats qui découlent du modèle collectif (en particulier en terme de solvabilité, j’en parlerai à la fin). Mais cela pose toutefois une question très intéressante.

Pour rappels, cette hypothèse a été faite par Filip Lundberg quand il a proposé les premiers résultats  en 1903 (voire plus tôt), à l’époque où l’étude des processus était assez peu développée… Charles Spearman n’a introduit sa mesure de corrélation qu’en 1904, par exemple (même si on peut trouver des choses chez Francis Galton en 1888, puis chez Karl Pearson en 18921). Autrement dit, le premier modèle reposait sur les hypothèses les plus simples possibles (pour l’époque). Depuis, l’étude des processus ponctuels s’est beaucoup développée, et énormément de résultats ont été obtenus. Autrement dit, il existe des résultats théoriques permettant de s’affranchir de cette indépendance.

Petite remarque en passant, dans les livres avec Michel Denuit, on avait insisté longuement sur cette hypothèse d’indépendance… et c’est précisément sur ce point que Claude Bébéar avait ouvert la préface (ici) et qu’Hans Bühlmann avait clôturé la postface (). C’est d’ailleurs Hans Bühlmann qui notait en 1963 que “the independence hypothesis is so common to be made that many authors forget to mention it“.
Pour être un peu complet, il y a trois indépendances distinctes dans les hypothèses du modèle collectif:

  • d’indépendance entre les arrivées des sinistres, on parle plus proprement d’hypothèse d’un processus de Poisson homogène (les durées entre survenances suivent des lois exponentielles indépendantes),
  • d’indépendance entre les coûts (individuels) des sinistres,
  • d’indépendance entre les coûts de sinistres, et les arrivées.

C’est surtout la première hypothèse qui a été relâchée. On retrouvera des exemples dans les papiers suivants

  • Malinovskii, V.K. (1998). Non-Poissonian claims’ arrivals and calculation of the probability of ruin. Insurance: Mathematics and Economics, 22, 2, 123-138.
  • Gyllenberg, M. & Silvestrov, D.S. (2000). Cramer-Lundberg approximation for nonlinearly perturbed risk processes. Insurance: Mathematics and Economics, 26, 1, 75-90.

Sur les aspects pratiques, on peut retrouver ce phénomène en particulier sur les catastrophes naturelles qui sont très cycliques. L’exemple le plus connu et le plus étudié est les ouragans,

  • Parisi, F. & Lund, R. (2000). Seasonality and return periods of landfalling Atlantic basin hurricanes. Australian and New Zealand Journal of Statistics, 42, 3, 271-282.

Mais on a la même chose en assurance auto, à cause de la pluie et du brouillard (en France en tous cas2).
Pour la seconde, on peut trouver des choses dans les derniers papiers de Stéphane Loisel (ici).
Mais c’est le dernier point qui était évoqué, et seulement celui là… Avec la même dichotomie que tout à l’heure, on trouve des résultats théoriques, en particulier dans les papiers d’Hansjorg Albrecher

  • Albrecher, H. & Boxma, O.J. (2004). A ruin model with dependence between claim sizes and claim intervals. Insurance: Mathematics and Economics, 35, 2, 245-254.

Sur les aspects pratiques, l’exemple le plus classique et le plus étudié est celui des tremblements de terre. Pour faire très simple, un tremblement de terre est causé par une accumulation d’énergie: plus on attend, plus le tremblement de terre risque d’être important. Bref, d’un point de vue pratique, cette hypothèse peut être délicate à supposer. On avait utilisé un modèle ACD avec un processus marqué dans le cas des crues de rivières par exemple, dans un papier avec David Sibaï (ici). On modélisait un processus joint prenant en compte les durées des crues, les durées entre crue, et les importances des crues. Là aussi, intensités et durées ne sont pas indépendant.

Mais au delà de l’explication, il faut aussi – peut être – essayer de tester cette indépendance. Si quelqu’un a des données ou des résultats sur ce sujet, je suis preneur.

Pour conclure, je dirais que cette hypothèse d’indépendance est fondamentale. Si on la supprime, on peut perdre beaucoup de résultats classiques, sur la solvabilité par exemple. Pour reprendre une idée commune partagée par beaucoup de monde, dans l’Encyclopaedia of Financial Engineering and Risk Management, (ici) on apprend que “reinsurance is able to offer additional underwriting capacity for cedants, but also to reduce the probability of a direct insurer’s ruin“. En fait, ce résultat devient faux si l’on supprime cette hypothèse d’indépendance: on peut augmenter la probabilité de ruine en se réassurance ! La réassurance diminue alors la solvabilité de la compagnie d’assurance (ou tout du moins peut le faire). C’est dans un papier que j’ai soumis récemment, je garde donc tout ça pour un billet dans les mois à venir… à suivre donc.

1 Sur la corrélation de Pearson – que j’ai beaucoup critiqué sur ce blog – je renvoie à un très beau papier que je viens (seulement) de découvrir, de Joseph Rodgers et Alan Nicewander, intitulé Thirteen Ways to Look at the Correlation Coefficient (ici)
2 Si quelqu’un a des données pour illustrer ce point, je suis preneur !

Banques, entreprises et gestion des risques

Les slides de la conférence du mardi 2 juin, organisée par la Banque de France et l’Université Rennes 1, sont en ligne ici. Il s’agit d’une introduction (très grand public) à la gestion des risques dans une optique ERM. L’exposé sera suivi d’une intervention de Benoît Carteron, credit manager chez Lactalis.

La conférence aura lieu Amphi 4 à la faculté des Sciences Economiques à partir de 17 heures 30.

Le prochain qui me parle du R2…

Depuis que j’ai repris la recherche, j’ai pris l’habitude de débrancher mon téléphone. Mais lundi matin, comme j’avais un coup de fil à passer, j’ai du le rebrancher. J’ai alors reçu un appel d’un élève qui m’a agacé (et auquel j’ai eu la lâcheté de raccrocher en expliquant que je faisais autre chose – ce qui était néanmoins partiellement vrai) mais qui est assez symptomatique, “bonjour, j’ai fait une régression et j’ai un R2 de 0,312 et je voulais savoir si c’était bien ?” (ou “si c’était beaucoup ?”, ou “si c’était assez ?”, ou un truc du genre car j’avoue que j’avais effectivement la tête ailleurs).
Pourtant je croyais que mon cours avait précisément réussi à éviter de parler du R2. Je vais donc reprendre ici quelques points. J’espérais trouver un site internet de l’association des statisticiens qui en ont marre du R2 (ou d’opposants à la sectes des adorateurs du R2, car si j’ignore qui en est le gourou, je trouve que cette secte regroupe beaucoup d’adorateurs) malheureusement je n’ai rien trouvé de concluant sur internet. Donc je vais m’y mettre… même je risque de faire un très long billet,

  • définition et interprétation du R2


Un “bon” modèle permettra d’obtenir des estimations “proches” des valeurs observées. Sur la représentation dans l’espace des variables (comme le montre la figure ci-dessus) la qualité peut être évaluée par l’angle θ. Cet angle est compris entre -90˚et 90˚. Un angle proche de -90˚ou de 90˚indique un modèle de mauvaise qualité. Alors qu’un angle proche de 0˚ correspond à un bon modèle. Le cosinus carré de θ est donc une mesure possible de la qualité du modèle et cette mesure varie entre 0 et 1.
En utilisant le théorème de Pythagore nous permet d’écrireou encoreoù SCT (respectivement SCE et SCR) désigne la somme des carrés totale (respectivement expliquée par le modèle et résiduelle). Le coefficient de détermination R2 est défini parc’est-à-dire que le R2 est souvent interprété comme le “pourcentage de la variabilité de la variable endogène expliquée par le modèle”.
Si on reprend une page du livre de Pierre-André Cornillon et Éric Matzner-Løber, on a les définitions suivantes

  • que mesure le R2 ? quelques exemples…

Comme je le dis auparavant, le R2 nous dit si la courbe de régression (pour prendre un modèle plus général que le cas linéaire) est proche des observations, mais ne nous dit nullement si le modèle est “bon“.
Pour faire simple, avec des observations individuelles, le R2 sera souvent assez “faible“, alors qu’avec des séries temporelles (en particulier des séries intégrées), le R2 sera souvent “plus élevé“. Dans ce dernier cas, l’explication heuristique est qu’expliquer une série croissante par une autre série croissante marche souvent “bien“.Sur l’exemple ci-dessus, on obtient – en ajustant un modèle linéaire – respectivement
Multiple R-squared: 0.3372,
Multiple R-squared: 0.6414,
Sur l’exemple ci-dessus, on obtient – en ajustant un modèle polynôme de degré 4 – respectivement
Multiple R-squared: 0.4968,
Multiple R-squared: 0.987,

Sur l’exemple 3, l’ajustement est “bon” au sens où il serait difficile de faire mieux, c’est simplement qu’il est très bruité. Avec un R2 de 0,5, l’exemple 3 me paraît proposer un “meilleur” ajustement que l’exemple 2, alors que le R2 est de 0,65. Dans le premier cas, l’ajustement semble bon, mais très bruité, alors que pour le second, le modèle est plutôt mauvais, mais le bruit est relativement faible.

  • le R2 n’est qu’un coefficient de corrélation, ou presque (et donc possède tous les défauts d’un coefficient de corrélation)

Si on reprend le premier point, il est possible d’écrire le R2 (dans un modèle avec une unique variable explicative) comme le carré du coefficient de corrélation (au sens de Pearson) entre la variable endogène et la variable explicative (plus généralement, ça serait entre les observations et la prédiction). Regardons par exemple sur la base de données cars,
> data(cars)
> cor(cars)
speed dist
speed 1.0000000 0.8068949
dist 0.8068949 1.0000000

Si on regarde la valeur du R2 on peut écrire
> summary(lm(dist~speed,data=cars))$r.squared
[1] 0.6510794
> sqrt(summary(lm(dist~speed,data=cars))$r.squared)
[1] 0.8068949

J’avais dit dans un précédant billet (ici) tout le mal que je pense du coefficient de corrélation, qui n’est pas une mesure de dépendance (ou une mesure de concordance au sens où l’avait défini Marco Scarsini, ici). Pour cette raison, je trouve qu’un R2 qui vaut 0,312 nous apprend aussi peu de chose qu’un coefficient de corrélation de 0,217 ou 0,013.

  • mais le R2 n’est pas exactement le carré d’une quantité (et donc peut être négatif, par exemple)

Formellement, le R2 est le carré du cosinus d’un angle, si on reprend l’interprétation géométrique de la régression linéaire. Mais si on regarde la version empirique, on peut être (désagréablement) surpris… En particulier avec Excel. Ce point est discuté sur de nombreux forum (ici ou ), je ne vais donc pas en rajouter.

  • le R2 augmente en rajoutant des variables explicatives (ce qui le rend difficilement utilisable pour comparer des modèles)

Ce point est souvent connu par tout le monde, c’est pour cela qu’on présente toujours le R2 ajusté après avoir présenté le R2.

  • le R2 ne peut pas être utiliser pour comparer des modèles pour lesquels la variable endogène change

Mais ceci n’est pas qu’un problème avec le R2, car il est très difficile de trouver un critère de choix suffisamment robuste. J’avais déjà abordé ce point lors de mon cours d’assurance non-vie à l’ensae il y a quelques années. J’avais vu des élèves essayer de comparer deux modèles (pour tarifer), à savoir

  • une régression gamma, i.e.
  • une “régression lognormale”, c’est à dire que

le soucis est qu’il est difficile de comparer des deux modèles. En particulier, tous les élèves qui se posaient cette question à l’aide d’un critère de type AIC concluaient toujours à la supériorité de la loi lognormale, ou pour être un peu pointilleux, sur un modèle gaussien après une transformation logarithmique.
Dans le cas des modèles Gaussiens, c’est aussi la conclusion à laquelle arrive Valérie Mignon dans son livre d’économétrie, à savoir que si l’on cherche à comparer

  • un modèle additif, i.e.
  • un modèle multiplicatif, i.e.

on retient “toujours” le modèle multiplicatif si on retient le modèle qui a le meilleur R2. Je n’ai pas de raison a priori d’aller dans ce sens, mais je retiens que juger de la supériorité d’un modèle à l’aide uniquement de ce critère me paraît vraiment douteux.
L’exemple ci-dessous représente les deux régressions, avec un modèle linéaire versus un modèle exponentiel (i.e. avec comme variable endogène le logarithme).
Dans ce cas précis,
> REG.LINEAIRE=lm(Y~X)
> REG.MULTIPLICATIF=lm(log(Y)~X)
> summary(REG.LINEAIRE)$r.squared
[1] 0.8688
> summary(REG.MULTIPLICATIF)$r.squared
[1] 0.8654
Afin de répondre à cet exemple précis, je renvoie au test de Box-Cox (que j’avais abordé ici) qui vise précisément à comparer ces deux modèles. Ici, on conclue à la supériorité d’un modèle multiplicatif, mais ça n’a rien à voir avec la valeur du R2.

  • le R2 peut être changé artificellement (en réécrivant le modèle)

Je reprendrais un exemple tiré d’une épreuve du concours interne d’administrateur de l’insee (qui doit avoir une vingtaine d’années). Considérons un modèle assez classique en économie, où on essaye de lier taux d’intérêt et taux d’inflation. Je renvois à mes slides du cours d’économétrie où l’exemple est présenté, et mis en œuvre, ici (slides 39 à 42).

  • le R2 peut être changé artificellement (en supprimant les points aberrants)


Ce point est présenté dans certains livres, où il est expliqué qu’en enlevant des points (souvent les premières années quand on travaille sur des séries macroéconomiques) on peut améliorer le R2. Effectivement, si on enlève les quatre points les plus éloignés de la prédiction, on change le modèle, et le R2 est alors amélioré,
> summary(REG.TOTAL)$r.squared
[1] 0.6510794
> summary(REG.SUBSET)$r.squared
[1] 0.7539631

Je croyais là aussi que mon cours essayait d’expliquer l’importance (et le traitement) de ces points aberrants.
Pour conclure, je reprendrais ce que j’essaye d’expliquer dans mon cours d’économétrie (ici ou là), à savoir qu’au lieu de se contenter de regarder un R2, il vaut mieux passer un peu de temps à regarder quelques graphiques de diagnostique. Et pour comparer des modèles, je préfère toujours les critères AIC ou BIC au R2 (ou même au R2 ajusté). Quant à la normalité des résidus… je pense que je reviendrais là dessus aussi dans un billet les jours à venir….

Who wants to be a millionnaire ?

Le vrai moyen de gagner beaucoup est de ne vouloir jamais trop gagner et de savoir perdre à  propos.” (Fénélon – Les aventures de Télémaque)

Bon, pour ma part, j’avais tenté une autre solution vendredi dernier: tenter de gagner les 126 millions d’euros de l’Euromillion. Et comme je suis toujours en train de poster des billets sur mon blog, on peut en déduire que je ne suis pas l’heureux vainqueur (car oui, il parait qu’il y en a un… un très bon ami ami à moi… enfin… s’il le souhaite!).

Quelle ne fut pas me surprise de voir des collègues (on peut dire copains) matheux indignés par mon comportement, et me reprocher mon irrationalité*

Sur l’irrationalité des joueurs, je renvoie à de nombreux papiers de la littérature économique, en particulier le papier de Maurice Allais (ici), précisément intitulé Le comportement de l’homme rationnel devant le risque. Je dois avouer que, selon moi, la critique de Maurice Allais est très proche de ce que notent Daniel Kahneman et Amos Tversky (ici) sur la distinction fondamentale (et non symétrique) entre gains et pertes.

Bref, toute cette discussion est un prétexte pour parler d’un très joli papier que m’a fait découvrir Charles Figuières lors de mon exposé à Montpellier voilà deux semaines, de Graciela Chichilnisky sur Topology of Fear. Un preprint peut se télécharger ici, sa page internet (ici) regorge d’informations passionnantes, mais je ne sais toujours pas où ce brillant papier sera publié…. à suivre donc.

* pour aller un peu plus loin, je pourrais avouer ici que ma stratégie a été de jouer “1-2-3-4-5” puis “6-7”  (j’ai découvert que ce type de loto était un peu différent de celui que j’utilise dans mes exemples de probas, avec des étoiles). Tout d’abord, cette stratégie est aussi probable que n’importe quelle autre. Mais pour information, lors du 3ème tirage du Loto en France (en 1976), les numéros “1-2-3” sont sortis. Historiquement (voir ici), sur plus de 4850 tirages, on a eu deux numéros consécutifs (au moins) dans 2/3 des tirages (63%), et trois consécutifs dans 8% des tirages. On a vu 39 fois (0,8% des tirages), quatre numéros consécutifs. Mais jamais 5 numéros consécutifs, en presque 35 ans. Je laisse les plus motivés faire les calculs théoriques. Ma stratégie devrait être payante (si je jouais plus d’une fois tous les 5 ans) car peu de monde joue des numéros consécutifs. Si on compte le nombre de gagnants du 1er rang, il y a – en moyenne – 2,90 gagnants les tirages comprenant deux numéros consécutifs et sinon 4,03 gagnants. Si on va plus loin, il y a 2,48 gagnants les tirages comprenant trois numéros consécutifs et 3,39 sinon. Par contre, si on regarde avec 4 nombres consécutifs, un tombe sur un point aberrant: d’ordinaire, on a 3 gagnants du 1er rang, mais en septembre 1984, avec comme tirage “26-27-28-29-35-36-37” (4 et 3 consécutifs), il y a eu 64 gagnants du 1er rang, ce qui est presque le record…
D’ailleurs si on regarde les records (promis après j’arrête), le record fut en juin 1993, avec 103 vainqueurs, où 31 fut le plus grand chiffre, et le 13 sortit. Ensuite, en 1979, on a eu 96 vainqueurs avec des numéros pairs consécutifs, à savoir le tirage “2-8-10-12-14-16-18” (soit 6 chiffres pairs successifs). Ensuite arrive le tirage que je mentionnais… En fait, tous les tirages qui ont eu des très gros nombres de vainqueurs du 1er rang présentaient une régularité impressionnante. On retrouvera ainsi le tirage “4-5-7-14-15-17-20” par exemple, avec 63 vainqueurs… Bref, ma stratégie n’est peut être pas géniale finalement….

Cube COSO

En préparant mes slides pour la conférence ERM – enterprise risk management – pour la Banque de France (ici), je n’ai pu m’empêcher de chercher des références sur la formalisation du COSO (le fameux référentiel de contrôle interne du Committee Of Sponsoring Organizations of the Treadway Commission utilisé dans le cadre de la mise en place des dispositions relevant de la loi Sarbanes-Oxley aux Etats-Unis). On y trouve en particulier une description assez fournie des risques, avec

  •  l’identification des événements potientiels (tendances, événements passés)
  •  l’évaluation des risques (risque inhérent, risque résiduel) ,
  •  les réponses aux risques (catégorisation des types de réponses).

(que l’on retrouvait déjà évoqué dans un vieux billet, ici). De manière visuelle, on retrouve d’ailleurs souvent le fameux cube,

parfois plus connu dans sa version couleur,

Mais en cherchant un peu, j’ai retrouvé cette représentation dans un vieux papier de Matthias Haller dans les Geneva Papers on Risk and Insurance de 1976, dans un papier intitulé “les objectifs du risk management“,

Différencier (indéfiniment) les séries temporelles ?

Dans un mail, un étudiant qui finissait son projet de séries temporelles m’a posé une question simple et intéressante  (que je me permets de reprendre ici): “quand on cherche à stationnariser une série, on a souvent  besoin de différencier deux fois, et ça marche tout le temps“.
Effectivement, on peut toujours différencier une série, on finira bien par tomber sur une série stationnaire. Je retraduirais cette question sous la forme suivante “pourquoi cherche-t-on toujours à stationnariser les séries ?” ou encore “est-ce gênant de différencier une série ?“.
Pour la première question, la réponse est simple: les seules séries que l’on sache modéliser sont les séries stationnaires. Les autocorrélations se calculent sur des séries stationnaires, par exemple, et la non-stationnarité n’est pas une notion simple à définir (tout comme la non-indépendance entre variables aléatoires)…..etc.
Pour la seconde question, la réponse est simple: si on différencie une série pour mieux la modéliser, si on souhaite par la suite faire de la prévision, il conviendra d’intégrer la série modélisée. Or intégrer une série fait exploser l’intervalle de confiance. Autant faire ça sur un exemple simple, avec la série suivante, que l’on commence par supposer stationnaire, et que l’on prédit sur une trentaine de valeurs, avec un intervalle de confiance.
XXX

Mais si l’on suppose la série intégrée à l’ordre 1, on différencie puis on modélise par un processus stationnaire (c’est l’idée qui sous-tend les processus ARIMA, à savoir un processus ARMA intégré: en différenciant la série, on devrait tomber sur un processus ARMA. On peut rattacher ça à la notion de racine unité). La prédiction (avec l’intervalle de confiance) est alors présenté sur la série initiale. Le fait d’intégrer les erreurs fait que la variance de la prédiction augmente avec l’horizon.

Et si l’on continue, et que l’on différencie de fois la série avant de la modéliser, et que l’on intègre deux fois les erreurs, l’intervalle de confiance devient immense !
XXX

Bref, il convient de ne pas différencier si ce n’est pas vraiment indispensable ! L’outil pour vérifier que l’on n’a pas trop différencier est la fonction d’autocovariance inverse (c’est à dire la fonction d’autocovariance d’une série dont la densité spectrale serait l’inverse de la densité spectrale initiale*). Cette fonction fait partie des fonctions de base sous SAS, mais pas sous R… J’ai cherché un peu, mais sans succès. L’argument dans les forums est que cette fonction est redondante avec la fonction d’autocorrélation partielle. Et en effet, si la finalité est simplement de détecter les ordres AR ou MA d’une série stationnaire, alors effectivement, les deux fonctions s’utilisent de manière équivalente. Mais la fonction d’autocovariance inverse apporte plus d’information, en particulier afin de détecter si l’on n’a pas surdifférencié la série.
La sortie suivante présente la fonction d’autocorrélation (à gauche) et la fonction d’autocorrélation inverse (à droite) sur une série.
XXXX

On note que la série semble intégrée (en pratique, des autocorrélations très fortes et persistantes très longtemps se traduit par une suspission d’intégration). Si l’on différencie la série, on obtient les autocorrélogrammes suivants,
XXX

Et si l’on différencie une nouvelle fois, on obtient les graphiques suivants,
XXXX

Bref, l’autocorrélogramme de droite semble caractéristique d’une série intégrée: on dira alors que l’on a surdifférencié le modèle (“en intégrant la série, elle est toujours stationnaires”…). Je parle un peu de tout ça dans mon polycopié de Dauphine, tome 1.

* J’avais parlé dans un ancien billet (ici) de l’importance de la densité spectrale en série temporelles. L’idée est que si f est une densité spectrale, 1/f peut également l’être. Le lien entre la fonction d’autocorrélation et la densité spectrale est donné par des théorèmes de Kolmogorov ou Wiener. Pour plus de détails, il y a des compléments dans le chapitre 1.2 du polycopié que j’avais fait à Dauphine (ici). On peut d’ailleurs noter que la fonction d’autocorrélation partielle d’un processus ARMA(p,q) est la fonction d’autocorrélation d’un processus ARMA(q,p) obtenu en permutant les deux polynômes d’opérateurs retard.

Séminaire Probabilité et Statistique, UBO, Brest

Talk at the statistical seminar at the Université de Bretagne Occidentale, in Brest, Wednesday May 6th Tuesday May 5th, 14h (in  10 days), on “multivariate extremes. Slides can be found here.

The talk will give a detailed introduction on multivariate extremes and related concepts. Then the case of Archimedean copula will be fully described (following the paper with Johan Segers).

[04/05/2009]: some applications in risk management will be shown at the end of talk, as well as some news things on spatial correlation.

and in order to illustrate tail convergence of Archimedean copulas, I have uploaded two animations, with tail independence below,

with tail dependence (or asymptotic dependence),

Expliquer l’assurance vie et la retraite

En fouillant un peu dans mes cartons, j’ai enfin remis la main sur un article qui avait trôné dans mon bureau à l’ENSAE pendant plusieurs mois. De mémoire, je croyais qu’il s’agissait d’un article du Monde, mais après quelques recherches, je me suis rendu compte qu’il s’agissait d’un article paru fin 2003 dans le Canard Enchaîné, hebdomadaire pour lequel j’ai une immense admiration pour les informations (et surtout les jeux de mots), mais pour une fois, je serai assez critique.

En particulier, le petit encadré en bas à gauche m’avait interpellé,

Cet article parle du calcul des retraites – sujet ô combien important – et s’étonne, ou s’insurge, que le calcul d’une retraite soit “insensé” (c’est à dire selon mon dictionnaire “qui a perdu le sens“). Or précisément cette formule a du sens (tout du moins si l’on remplace x – qui est l’inconnue révélatrice de l’incompréhension face aux formules mathématiques dans l’imaginaire collectif – par un signe de multiplication). Les rapports des L sont les probabilités d’être en vie – et donc de pouvoir toucher effectivement une retraire, et on retrouve les facteurs d’actualisation devant. Bref, on retrouve une formule qui s’interprète “simplement” comme valeur actuelle probable des flux futurs. Le document initial peut se trouver ici (merci à Benoit Bellone pour la référence), il s’agit de la section 8.3 (“Garantir le niveau des retraites: Les conséquences financières pour les futurs retraités”) du Rapport économique, social et financier, Tome I  Perspectives économiques 2003-2004 et évolution des finances publiques. Une partie explique en détail la “neutralité financière d’un régime de retraite“, et ce sont ces formules qui semblent avoir inspiré l’article du Canard,

Je pense que cet article (pourtant paru dans un journal dont le lectorat est majoritairement de la classe supérieure élevée) est assez symptomatique du manque de culture scientifique des journalistes. Sans vouloir faire offense à l’esprit anticlérical du Canard, cet article m’a rappelé une réflexion du philosophe Calvin (ami de Hobbes, le tigre)

"Générer" du hasard, partie 5

La dernière méthode que  je présenterais est est celle des générateurs congruentiels linéaires. On retrouve l’idée de linéarité que l’on avait pas exemple dans le premier générateur proposé (ici), la notion de congruence est liée à des problèmes d’arithmétique et d’écriture de nombres dans les bases. On retiendra une fonction de récurrence de la forme suivante

X_{n+1} = (a cdot X_n + c) mod m

Pour que l’algorithme marche bien, on essaye de partir d’une valeur initiale correspondant à un nombre premier.
Prenons un premier exemple simple (inspiré par wikipedia). Si on prend des valeurs un peu au hasard, par exemple on obtient

  • avec X0 = 10, la suite : 10, 10, 10, 10, 10, …
  • avec X0 = 11, la suite : 11, 35, 123, 19, 235, 3, 91, 243, 203, 227, 59, 211, 171, 195, 27, 179, 139, 163, 251, 147, 107, 131, …
  • avec X0 = 12, la suite : 12, 60, 236, 28, 204, 252, 172, 220, 140, 188, 108, 156, 76, 124, 44, 92, 12, 60, 236, 28, 204, 252, 172, …

Bref, on notera déjà qu’il est effectivement intéressant de partir d’un nombre premier, car on boucle alors beaucoup moins vite. Ah oui, et pour se ramener sur l’intervalle [0,1], on divise par m. On a alors intérêt à avoir m assez grand.
Prenons un second exemple simple (inspiré du générateur proposé par Robert Sedgewick). On prend , et on part de 0.

[1]         0        1 31415822 40519862 31536702 84962343
[7]  59428603 54128063 38284723  4802584 19281465 53057765
[13] 47900065 67928365 55662665 20022965 84329266 25717386
[19] 95163907 67972648 42464008 74270568 69856328 96165288
[25] 74221448 24728808  5671369 13328949 75902129 98182909

La série a l’allure suivante,
xxxxEt si on regarde l’histogramme et la fonction d’autocorrélation sur les 10 000 premières valeurs, on a gardé l’uniformité (ou tout du moins on ne doit pas en être trop loin), et on n’a plus d’autocorrélation.

Parmi les générateurs ultra-classiques, mais mauvais, on retiendra le RANDU, datant des années 60, implémenté alors sur les IBM, X_{n+1} equiv (65539 times X_n) mod 2^{31} Mais cet algorithme présente de très gros défauts numériques. Je n’aborderais pas ici les problèmes de ce générateur (je l’avais fait dans le chapitre sur les simulations dans le tome 2 du livre avec Michel Denuit).
Bref, voilà ce qu’on peut raconter rapidement sur les méthodes de construction de nombres aléatoires, ou comme on dit généralement pseudo-aléatoires. Pour quelques réflexions sur l’utilisation de méthodes déterministes pour générer du hasard, je renvoie au très beau petit livre d’Ivar Ekeland intitulé Chaos. Et histoire d’insister un peu lourdement, ces billets (comme la plupart de ceux présent sur ce blog) n’ont pas grande prétention, si ce n’est présenter des concepts parfois compliqués “avec les mains” (et des dessins). Pour aller plus loin, on trouvera de très bons résumés de ces techniques sur le net, ici ou . Je laisse les plus curieux continuer. Sinon le chapitre 7 du Monte Carlo de Fishman propose une analyse poussée de ces méthodes. Et je voulais aussi noter que ce que j’ai proposé dans ces billets, c’est simplement de tirer des nombres aléatoires uniformément répartis sur [0,1]. Pour générer autre chose que de l’uniformité, je renvoie à la bible de Luc Devroye, non-uniform random variate generation, épuisé chez Springer, mais en ligne ici.