Analyse Discriminante et Scoring

Les slides de la cinquième partie sont en ligne sur mon blog.

Parmi les cours en ligne, je renverrais aux nombreux papiers d’Hervé Abdi, à Dallas,en particulier sur l’analyse discriminante (ici), sur les principales distances utilisées en ADD (ici), ou encore l’ACM (ici). Sinon, côté données, les codes R sont les suivants,
etudiants<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Etudiants-ville.csv",header=TRUE,sep=";")
titanic<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/titanic.csv",header=TRUE,sep=",")

Régression logistique, analyse discriminante… et XLStat

Pour répondre à une question qui m’a été posée, il est possible de récupérer une version gratuite de 30 jours d’XLStat via http://www.01net.com/.

Sinon je ne peux qu’encourager les étudiants à se mettre à R… contrairement à XLStat, il faut coder un minimum, mais l’investissement en vaut la peine. Pour ceux qui auraient peur, je renvoie vers ce document rédigé par Denis Poinsot, “R pour les Statophobes“.

Sinon, sur l’analyse discriminante, encore une fois, des choses sont possibles via XLStat…


Pour la régression logistique, on pourra consulter

Les outils de régression logistique ne sont pas rangés dans l’analyse des données,

On a alors par défaut une régression logistique sur données binaire (deux classes),

mais qui peut s’étendre à plusieurs classes,

Pour la base des données, les bases saporta.xls et bordeaux.xls sont en ligne sur ma page (la base tirée des pages 414-415 de Saporta  1990 ne contient que 3/4 des observations, car c’est un peu long de taper à la main…).

Dernier billet sur l’assurance vie (a priori)

Afin de rappeler ce que nous avons vu en TD jeudi dernier, je mets un petit billet pour rappeler les trois techniques de calcul de PM. Pour une temporaire décès, sur n années, on a

  • la méthode prospective, i.e. sur la période [k,n], ce qui s’écrit
ou encore
  • la méthode rétrospective, i.e. sur la période [0,k] – on se place en 0 puis on “actualise”, soit
  • la méthode itérative, i.e. on étudie la variation de PM, entre k-1 et k, en se plaçant en k-1, puis en “actualisant”. On a
Pour un autre exemple (assurance combinant une rente viagère en cas de vie et un capital décès), je renvoie au dernier TD.

Calcul (pratique) de la provision mathématique

Nous verrons mercredi comment calculer une provision mathématique (i.e. la PM) pour un contrat d’assurance temporaire décès. Les calculs suivants sont fait sous Excel, avec un assuré de 20 ans, un durée contractuelle de 25 ans, une prime payée annuellement et un taux d’actualisation de 3,5%.

On pourra alors utiliser cette feuille de calcul pour regarder l’évolution de la PM en fonction de l’âge de l’assuré, ou du taux d’actualisation.

Sinon il est aussi possible d’utiliser R pour faire des formules de calcul plus générales, et plus simples. Par exemple, pour calculer un VAP sous R, on peut utiliser un code de la forme suivante

> capital=c(100,100,125,125,150,150); n=length(capital) 
> taux=0.035; x=45 
> (capital.act=capital*(1/(1+taux))^(1:n)) 
[1] 96.61836 93.35107 112.74284 108.93028 126.29598 122.02510 
> Lx=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/TV8890.csv",header=TRUE,sep=";") 
> (PROBA=Lx[((Lx[,1]>x)*(Lx[,1]<=(x+n)))==1,2]/Lx[(Lx[,1]==x)==1,2]) 
[1] 0.9980581 0.9960128 0.9938849 0.9915814 0.9890714 0.9863444 
> (FluxVAP=capital.act*PROBA) 
[1] 96.43073 92.97886 112.05341 108.01324 124.91573 120.35877 
> (VAP=sum(FluxVAP)) 
[1] 654.7507

CAH (et kmeans) avec XLstat

Sur la CAH, nous avons vu que l’on a deux degrés de liberté, fondamentaux pour l’analyse

  • le choix de la distance (min, max, euclidienne, minkowski…)
  • le choix de la méthode de regroupement, ou d’agrégation (ward, single, complete…)

Ces deux degrés de libertés sont les deux paramètres qu’il convient de sélectionner lors de l’analyse,


Sinon pour les kmeans, il y a un peu moins de choix,

En cours, j’ai insisté sur l’idée de l’algorithme, plus que sur les critères de classification. Tous sont basés sur W, la matrice d’inertie intra-classe commune (pooled SSPC matrix)

  • Minimiser la trace de W pour un nombre de classes donné, revient à minimiser la variance intra-classe totale, c’est à dire minimiser l’hétérogénéité des groupes.
  • L’utilisation du déterminant de W permet de construire un critère nettement moins sensible aux effets d’échelle.
  • Le critère du lambda de Wilks correspond à la division du déterminant(W) par le déterminant(T) où T est la matrice d’inertie totale: aussi, la division par le déterminant de T permet d’avoir un critère toujours compris entre 0 et 1. Mais sinon les résultats donnés par la minimisation de ce critère sont identiques à ceux donnés par le déterminant de W.
  • enfin le dernier critère est plus long (mais plus robuste) car au lieu d’utiliser le barycentre d’une classe (i.e. la moyenne) on utilise un point médian.

Intervalle de confiance pour une proportion

Je voulais poster un petit billet puisque c’est la deuxième fois que l’on me pose une question similaire. Pour déterminer un intervalle de confiance pour une proportion, on connaît tous la formule

La question qui m’avait été posée est simple: que se passe-t-il si n est petit, et si – empiriquement – on a trouvé une proportion de 100% ? Dit autrement: “on fait 5 lancers de “pile” ou “face” et que on obtient 5 fois “pile”: que peut-on dire sur p, la probabilité de tomber sur “pile” ?”

On utilisant la formule précédente, on est un peu bloqué…

  • La première réponse pourrait être fréquentiste, et consiste à proposer une lecture duale de l’intervalle de confiance, et des abaques.

Le graphique de droite montre, en trait violet, l’intervalle de confiance approché, c’est à dire avec l’intervalle de confiance indiqué ci-dessus. La courbe bleue, encadrant la zone verte correspond à l’intervalle de confiance calculé à partir des quantiles d’une loi binomiale de paramètre la fréquence empirique observée. Ici, on aurait envie de dire que p a 95% de chance d’être supérieure à 47.8%.

En fait, cette “lecture duale” des abaques revient à construire – me semble-t-il – l’intervalle de confiance de Clopper-Pearson. L’intervalle de confiance a ici la forme suivante

Notons que c’est cette technique qui est utilisée sous R, via la fonction binom.test du package de base. Ici, on obtient

> binom.test(x, n, p = 0.5,conf.level = 0.95)
Exact binomial test
data: x and n
number of successes = 5, number of trials = 5, p-value = 0.0625
alternative hypothesis: true probability of success is not equal to 0.5
95 percent confidence interval:
0.4781762 1.0000000
sample estimates:
probability of success
1

…. ce qui correspond exactement à l’intervalle de confiance calculé précédemment. On retrouve d’ailleurs cette fonction dans binconf i.e.

> binconf(x = 5, n = 5, alpha = .05, method = "exact")
PointEst Lower Upper
1 0.4781762 1

qui donne (c’est rassurant) toujours la même chose. On peut aussi programme l’intervalle de confiance proposé par Heldge Blacker, qui donne ici un intervalle de confiance de la forme [50%; 100%]. Pour aller plus loin, je pourrais renvoyer au papier de Lawrence Brown, Tony Cai et Anirban DasGupta, dans Statistical Science sur ce sujet.

  • Une seconde réponse pourrait être une approche bayésienne, qui d’ailleurs correspond exactement à l’expérience de Bayes (1763) ou Laplace (1786).

On suppose que p est une variable aléatoire. On se donne une information a priori, et on peut se demander ce que devient la loi a posteriori de p, sachant que 5 “piles” ont été observés. On suppose que les tirages sont indépendants, et donc la probabilité d’avoir k fois “piles” sur n tirages suit une loi binomiale, conditionnellement à p, i.e.

Le plus simple est de considérer comme loi a priori la loi conjuguée de la loi binomiale, à savoir une loi beta. Dans ce cas, si p suit a priori une loi B(a,b), alors la loi a posteriori de p, sachant que x “pile” ont été observés est une loi B(a+x,b+n-x).

expérience décrite

La courbe en rouge est la densité de la loi a priori (uniforme ou beta de paramètres 2 et 2), et la courbe bleue, la loi a posteriori, avec un intervalle de confiance à 95%. Sur l’exemple de droite, par exemple, on a 95% de chance que p soit compris entre 47,3% et 96,8%.

Le “cercle des corrélations” en ACP

Tout au long de l’analyse en composantes principales, nous avons parlé du “cercle des corrélations“. Cette notion est fondamentale en ACP, et je voulais insister un peu sur ce point pour le démystifier,

A chaque point-variable, on associe un point dont la coordonnée sur un axe factoriel est une mesure de la corrélation entre cette variable et le facteur. Dans l’espace de dimension p la distance des points-variables à l’origine est égale à 1. Donc par projection sur un plan factoriel les points-variables s’inscrivent dans un cercle de rayon 1 – le cercle des corrélations – et sont d’autant plus proche du bord du cercle que le pointvariable est bien représenté par le plan factoriel, c’est-à-dire que la variable est bien corrélée avec les deux facteurs constituant ce plan.

L’angle entre 2 variables, mesuré par son cosinus, est égal au coefficient de corrélation linéaire entre les 2 variables: cos(angle) = r(X1,X2)

  • si les points sont très proches (angle proche de 0) : cos(angle) = r(X1,X2) = 1 donc X1 et X2 sont très fortement corrélés positivement
  • si a est égal à 90° , cos(angle) = r(X1,X2) = 0 alors pas de corrélation linéaire entre X1 et X2
  • si les points sont opposés, a vaut 180°, cos(angle) = r(X1,X2) = -1 : X1 et X2 sont très fortement corrélés négativement

Attention, on ne peut interpréter que les variables situées au bord du cercle. En effet, seuls ces points là sont “bien” projetés, comme le rappelle le dession ci-dessous,

Analyse des données, contrôle continu

Pour le contrôle continu d’analyse des données (qui ne concerne que les élèves du Master SLEB, qui concerne apparemment tout le monde *), je vous demande de travailler, au choix

  • sur l’analyse par département des votes lors de l’élection présidentielle de 2007. Vous disposez de deux feuilles xls, avec le résultat du 1er tour, et le résultat du 2nd tour. Je mets aussi à votre disposition plein de variables supplémentaires, via des données du ministère de l’intérieur (ici), en particulier les tableaux 19 et 20.
  • sur l’analyse des conditions de vie des ménages. La base est au format sas ou bien au format xls (après avoir enfin trouvé une licence SAS pour faire la conversion). Le descriptif de la base figure ci-dessous (ou ici)

En vous mettant par groupe de 2 ou 3, je vous demande un petit rapport de 15 pages (au plus), commentant ce que vous avez pu noter.

* Voilà d’ailleurs les informations dont je dispose,


AFC (ou ACM) avec XLstat

L’analyse factorielle (simple ou multiple) se fait très simplement avec XLStat. On notera juste la fonction suivante, qui permet de constituer le tableau de contingence.Il s’agit d’une étape de traitement des données. Pour les bases, on traitera en TD base1 (CSP et vacances, cf ci-dessous) et base2 (base culture). Je mets également un lien vers les bases base3 (logement étudiants), base4 (les naufragés du Titanic), ou enfin base5 (lien entre la CSP et le niveau d’étude).

Lors du TD, nous reviendrons en particulier sur l’analyse factorielle (simple) à partir de la base insee de 1967, sur le lien entre CSP et lieux de vacances,

Comsumption based CAPM


Pour le quatrième cours à l’X, sur l’équilibre et le CCAPM (consumption based), les slides sont en ligne, ainsi que les énoncés des exercices. Je ferais PC l’après midi, salle 75, bâtiment Paul Levy. Sinon, il n’y aura ni cours ni PC la semaine prochaine (le 3 février). Pour aller un peu plus loin sur le CCAPM, je renvoie vers les slides de Gabrielle Demange. Sinon pour compléter la question 3, je citerais le papier suivant

Kahane, Y. et Nye, D.J., «A Portfolio Approach to the Property-Liability Insurance Industry»,. Journal of Risk and Insurance 42 (1975), p. 579-598

On y retrouve que les risques d’assurance (et donc les catastrophes) sont très peu corrélées avec le “marché”, et donc permettent de diversifier un portefeuille d’actions.

Analyse des Correspondances Mutiples

Les slides de la troisième partie sont en ligne sur mon blog.

Parmi les cours en ligne, je renverrais aux nombreuses notes de cours de François-Gilles Carpentier, à Brest, ou celles de Rudy Palm à Gembloux. Sur les bases présentées en cours, il y a la base des survivants du Titanic, mais aussi une étude sur le tri des déchets, inspirée de l’INSEE (Insee Premier 684, ici). Sinon, pour accéder aux bases de données, les codes R sont les suivants,

etudiants<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Etudiants-ville.csv",header=TRUE,sep=";")
titanic<-read.table("https://perso.univ-rennes1.fr/arthur.charpentier/titanic.csv",header=TRUE,sep=",")

Enfin, les bases de données qui seront utilisées en TD sont les suivantes,

library(Hmisc);  culture=spss.get("https://perso.univ-rennes1.fr/arthur.charpentier/Culture.sav")

ACP avec XLstat, un peu de terminologie

Pour compléter (et clarifier) le premier TD, je voulais revenir sur le type d’ACP proposé sous XLstat,

Pour l’analyse de la covariance, on travaille sur les données brutes. L’analyse de Pearson propose de travailler sur les données centrées-réduites. L’analyse de Spearman est basée sur les rangs. Enfin, l’analyse polychorique propose de travailler sur les rangs normalisés. Les quatre transformations sont proposées ci-dessous,

Les rangs normalisés correspondent à l’étude d’un facteur Gaussien sous-jacent: on retrouve le quantile normal (centré-réduit) pour des seuils de 20%, 40%, 60% et 80%, c’est à dire le rang divisés par la taille de l’échantillon+1. La “robustesse” de ces deux dernières méthodes a été vu en particulier en introduisant un point aberrant dans l’échantillon.

Markowitz et CAPM

Pour le troisième cours à l’X, sur Markowitz, l’approche moyenne-variance et le CAPM, les slides sont en ligne, ainsi que les énoncés des exercices. Je ferais PC l’après midi, salle 75, bâtiment Paul Levy.

Comme toutes les semaines maintenant, un petit complément sur un imprécision lors de la PC… j’avais pensé (espéré) que l’on pourrait avoir un résultat général sur le comportement du portefeuille tangent, lorsque la corrélation évolue. J’ai donc repris* l’exemple de l’exercice, avec 3 actifs (dont 1 sans risques), en comparant trois cas possibles. Le cas limite est celui du milieu, lorsque les trois actifs sont alignés dans le plan moyenne variance. A gauche est représenté le cas “convexe” et à droite le cas “concave“. Les points violets correspondent à l’évolution de la position du portefeuille tangent en fonction de la corrélation entre les deux actifs risqués, entre -1 et 1 (ou plutôt 0.999999). Encore une fois, le cas où la corrélation vaut 1 ne peut être traité que si les points sont alignés, i.e. l’hypothèse d’absence d’opportunité d’arbitrage est vérifiée.

Dans le cas convexe“, le portefeuille tangent se rapproche d’un actif sans risque virtuel, tel que cet actif et les deux actifs sans risque seraient alignés. Dans le cas concave“, on converge vers le point de plus haut rendement (alors qu’on passait par le point de plus bas rendement dans le cas “convexe“), mais on le repasse pour partir à l’infini, avant de revenir par dessous, pour finalement atteindre – là aussi – l’actif sans risque virtuel, tel que cet actif et les deux actifs sans risque seraient alignés

Bref, je ne sais pas s’il existe un résultat général sur le comportement du portefeuille tangent, mais si un géomètre veut se lancer sur ce problème, je suis intéressé par les conclusions !

* repris numériquement seulement, sur un exemple numérique simple… avant d’avancer un résultat, je voulais voir si un résultat simple (et général) pouvait être obtenu sur des exemples numériques.

Analyse Factorielle des Correspondances

Les slides de la seconde partie sont en ligne sur mon blog.

Parmi les cours en ligne, on trouvera des notes de cours au CNAM,  ou de Jean Michel Loubes. Sinon, pour accéder aux bases de données, les codes R sont les suivants,

base1=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Diplomes-emplois-1.csv",header=TRUE,sep=";")
base2=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/Diplomes-emplois-2.csv",header=TRUE,sep=";")
base=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/election2002.txt",header=TRUE)
base=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/csp-vac.csv",header=TRUE,sep=";")

Enfin, les bases de données qui seront utilisées en TD sont les suivantes,

base=read.table("https://perso.univ-rennes1.fr/arthur.charpentier/election.csv",header=TRUE,sep=";")

An Open Lab-Notebook Experiment