• Aucun résultat trouvé

2.5.1 Comment choisir λ ?

Nous avons vu qu’un bon choix de param`etre de p´enalisation est important pour avoir un estimateur ridge de qualit´e. Mais comment choisir ce param`etre ? Dans l’exemple du graphe 2.1 le param`etre optimal λopt ´etait visible avec la d´ecomposition biais-variance. En pratique nous avons rarement acc`es au param`etre σ2 et au vecteur d’effets

u et ce n’est donc pas utilisable.

Notre objectif est d’avoir les meilleures pr´edictions possibles pour l’estimateur ridge i.e de trouver λopt qui minimise l’erreur de pr´ediction d´efinie en 1.13 pour un nouveau point (y0, z0)

λopt = arg min

λ

ErrA(λ) = arg min

λ Ey0,z0



y0− zT

0uˆR(λ)2 | A



Une approche tentante serait de choisir λ `a partir des donn´ees de l’ensemble d’ap-prentissage A i.e choisir le lambda qui minimise l’erreur de pr´ediction sur A

errA(λ) = 1 nA X i∈A  yi− zT i uˆR(λ)2 avec nA = Card(A). (2.13) En pratique cela ne fonctionne pas. En effet errAa tendance `a sous-estimer ErrA. De plus errA favorise toujours le mod`ele le plus complexe possible et donc choisit λopt = 0. Ce ph´enom`ene est bien illustr´e dans la figure 2.2. Dans cet exemple nous avons simul´e un jeu de donn´ees de taille n = 600 et p = 30 selon un mod`ele lin´eaire. Nous avons gard´e 100 individus pour estimer le vecteur d’effet en utilisant la r´egression ridge et utilis´e les 500 autres comme ensemble de validation. Nous avons calcul´e errA (courbe rouge) et estim´e ErrA (courbe bleue) avec le MSE sur l’ensemble de validation. Il apparaˆıt clairement que errA est un mauvais estimateur de ErrA.

0 5 10 15 20 25 30 0.4 0.5 0.6 0.7 0.8 0.9 1.0 d.d.l.e( λ ) Errtest errtrain

Figure 2.2 – Un exemple du comportement de errA et ErrT.

Au vu de l’importance d’avoir des donn´ees externes pour le choix de λ, une bonne pratique serait de s´eparer notre jeu de donn´ees en 3 parties : un ensemble d’appren-tissage A pour construire l’estimateur, un ensemble de validation V pour choisir la

complexit´e optimale (`a travers le choix de λ) et un ensemble de test T pour estimer les capacit´es pr´edictives.

Le probl`eme de ce d´ecoupage est qu’il est gourmand en donn´ees. Il est n´ecessaire d’avoir une taille d’ensemble d’apprentissage suffisante pour estimer correctement le vecteur d’effet, un faible effectif dans V peut entraˆıner un mauvais choix de complexit´e optimale et enfin l’estimation de la capacit´e pr´edictive ne sera pas fiable si on a trop peu d’individus dans T . Ce d´ecoupage n’est donc pas toujours applicable en pratique. Pour palier `a ce probl`eme il existe des m´ethodes pour remplacer l’´etape de vali-dation. Une premi`ere approche est d’utiliser une formule analytique telle que l’AIC (Aikaike Information Criteria) [Akaike and BN Petrov ; F Csaki, 1973] ou la statistique

Cp [Mallows, 1973]. Ces formules permettent de choisir λ `a partir de A et permettent donc de se passer de l’ensemble de validation. Une autre approche est d’utiliser un r´e-´echantillonnage des donn´ees tel que la validation crois´ee ou le bootstrap. Dans la suite de ce manuscrit nous nous concentrerons sur la validation crois´ee.

2.5.2 La validation crois´ee

La validation crois´ee K fold

Figure 2.3 – Principe de la validation crois´ee.

La validation crois´ee vise `a fractionner l’ensemble d’apprentissage en sous-ensembles ind´ependants, puis `a construire le mod`ele sur tous les sous-ensembles sauf un et `a l’´evaluer sur le sous-ensemble restant, et ceci en changeant plusieurs fois les rˆoles comme d´ecrit dans le graphe 2.3. Notons {A1, ..., AK} une partition en K sous-ensembles de A telle que A = KS

l=1

Al, KT

l=1

Al = ∅ et notons ´egalement A−i = A \ {Al : i ∈ Al} la partition priv´ee du sous-ensemble contenant l’individu i. Nous d´efinissons alors l’erreur de la validation crois´ee K-fold pour la r´egression ridge comme

errV C(λ) = 1 nA nA X i=1  yi− zT i uˆAR−i(λ)2, (2.14) avec zi ∈ Rp un vecteur colonne repr´esentant la i-`eme ligne de Z et ˆuAR−i l’estimateur ridge construit avec A−i. Nous choisirons ensuite

ˆ

λV Copt = arg min

λ

errV C(λ).

Chaque individu est utilis´e K − 1 fois dans la construction d’estimateur et une fois dans l’´evaluation du mod`ele. Tr`es souvent nous prendrons K entre 5 et 15. La validation crois´ee est une m´ethode robuste donnant des r´esultats satisfaisants mais qui peut se r´ev´eler parfois coˆuteuse en temps de calcul.

Notons enfin que la validation crois´ee estime l’erreur attendue de pr´ediction 1.14 plu-tˆot que l’erreur de pr´ediction 1.13 : la validation crois´ee ”construit” plusieurs ensembles de test et d’apprentissage et mimique donc une esp´erance sur l’ensemble d’apprentis-sage (voir le chapitre 7 de [Trevor Hastie et al., 2009]).

Un cas particulier : la Leave-One-Out

Un cas particulier de la validation crois´ee est le cas K = n dans lequel nous ef-fectuons une pr´ediction sur un individu `a partir de tous les autres. Ce cas particulier est appel´e validation crois´ee Laiss´ee pour compte (que nous allons angliciser en Leave-One-Out et abr´eger en LOO). L’erreur de LOO avec standardisation unique pour tout les individus est d´efinie comme

errLOO(λ) = 1 nA nA X i=1  yi− zT i uˆ−iR(λ)2 (2.15) avec ˆu−iR = Z−i



(Z−i)TZ−i+ λIp

−1

(Z−i)Ty−il’estimateur de la r´egression ridge construit en excluant la ligne i du vecteur de r´eponse et de la matrice des donn´ees. En utilisant la formule de Sherman-Morrison-Woodbury, Meijer and Goeman [2013] montre que

ˆ u−iR = ˆuR(Z T Z + λIp)−1zi(yi− zT i uˆR) 1 − [hλ]ii (2.16)

avec [hλ]ii le i-`eme coefficient diagonal de Hλ. Des ´el´ements de la preuve de cette formule sont disponibles en annexe A.4. En injectant 2.16 dans 2.15, nous obtenons

errLOO(λ) = 1 nA nA X i=1 yi− zT i uˆR(λ) 1 − [hλ]ii !2 (2.17) = 1 nA yT(InA− Hλ)(diag(InA− Hλ))−2(InA− Hλ)y. (2.18)

La formule 2.18 est plus rapide `a calculer qu’une validation crois´ee `a K = nA plis (que l’on appellera validation crois´ee `a K = nA fold) car elle ne n´ecessite que le calcul de Hλ. Notons toutefois qu’il existe une diff´erence subtile au niveau de la normalisation entre l’erreur propos´ee par Meijer 2.15 et une validation crois´ee avec K = nA folds. Dans la version de Meijer Z−i correspond `a la matrice Z priv´ee de la ligne i et n’est jamais renormalis´ee. A l’inverse dans une validation crois´ee avec K = nA folds, Z−i sera renormalis´ee a chaque fois. Cette diff´erence peut paraˆıtre anecdotique mais elle peut avoir une grande importance en grande dimension, comme nous allons le voir.

La LOO est l’approche la plus gourmande en calcul pour l’estimation de l’erreur attendue de pr´ediction parmi la famille des K-fold. Il est donc particuli`erement perti-nent d’utiliser la LOO quand nous ne disposons que de peu de donn´ees. Nous pourrons ´

egalement souhaiter utiliser la LOO dans le cadre de la grande dimension (i.e. quand

n << p) o`u nous souhaiterons utiliser la ”meilleure” approximation de l’erreur atten-due de pr´ediction pour ”compenser” l’apprentissage difficile. Malheureusement dans ce cadre les temps de calcul de la LOO risquent d’ˆetre tr`es longs (par exemple en g´en´ e-tique nous aurons facilement n > 10 000). Nous allons donc pr´esenter une approche r´eduisant les temps de calculs pour permettre d’approcher la LOO dans ce contexte de grande dimension.

Une approximation de la Leave-One-Out : la Generalized Cross-Validation

L’erreur de Generalized Cross-Validation (GCV) est une approximation de l’erreur LOO 2.15 propos´ee dans [Golub et al., 1978]. L’id´ee est de projeter le mod`ele dans un espace complexe pour obtenir une matrice Hλ `a coefficients diagonaux constants. En combinaison avec la d´ecomposition en valeurs singuli`eres et l’expression 2.17, nous arrivons `a une expression tr`es simple :

errGCV(λ) = 1 nA nA P k=1  λ dk+λ