Etude des propriétés empiriques du lasso par simulations



Documents pareils
Chapitre 3. Les distributions à deux variables

Chapitre 7. Statistique des échantillons gaussiens. 7.1 Projection de vecteurs gaussiens

STATISTIQUES. UE Modélisation pour la biologie

Évaluation de la régression bornée

CONCOURS D ENTREE A L ECOLE DE 2007 CONCOURS EXTERNE. Cinquième épreuve d admissibilité STATISTIQUE. (durée : cinq heures)

Examen de Logiciels Statistiques

Programmes des classes préparatoires aux Grandes Ecoles

TABLE DES MATIÈRES. Bruxelles, De Boeck, 2011, 736 p.

$SSOLFDWLRQGXNULJHDJHSRXUOD FDOLEUDWLRQPRWHXU

Modèle de troncature gauche : Comparaison par simulation sur données indépendantes et dépendantes

LA NOTATION STATISTIQUE DES EMPRUNTEURS OU «SCORING»

Analyse de la variance Comparaison de plusieurs moyennes

4.2 Unités d enseignement du M1

CNAM léments de cours Bonus-malus et Crédibilité

Le montant des garanties constituées aux fins du STPGV est-il excessif?

Introduction aux Statistiques et à l utilisation du logiciel R

TESTS PORTMANTEAU D ADÉQUATION DE MODÈLES ARMA FAIBLES : UNE APPROCHE BASÉE SUR L AUTO-NORMALISATION

Contents. 1 Introduction Objectifs des systèmes bonus-malus Système bonus-malus à classes Système bonus-malus : Principes

Data mining II. Modélisation Statistique & Apprentissage

LE RÔLE DE LA STATISTIQUE DANS UN PROCESSUS DE PRISE DE DÉCISION

Présentation du PL/SQL

TABLE DES MATIERES. C Exercices complémentaires 42

Probabilités III Introduction à l évaluation d options

Température corporelle d un castor (une petite introduction aux séries temporelles)

Enjeux mathématiques et Statistiques du Big Data

Précision d un résultat et calculs d incertitudes

1 Complément sur la projection du nuage des individus

Direction des Études et Synthèses Économiques Département des Comptes Nationaux Division des Comptes Trimestriels

Comment évaluer une banque?

Résolution de systèmes linéaires par des méthodes directes

FORMULAIRE DE STATISTIQUES

Mémoire d actuariat - promotion complexité et limites du modèle actuariel, le rôle majeur des comportements humains.

Introduction à l approche bootstrap

La problématique des tests. Cours V. 7 mars Comment quantifier la performance d un test? Hypothèses simples et composites

UNIVERSITÉ DU QUÉBEC À MONTRÉAL TESTS EN ÉCHANTILLONS FINIS DU MEDAF SANS LA NORMALITÉ ET SANS LA CONVERGENCE

Statistiques Décisionnelles L3 Sciences Economiques & Gestion Faculté d économie, gestion & AES Université Montesquieu - Bordeaux

A.E.C. GESTION DES APPLICATIONS TECHNOLOGIE DE L'INFORMATION LEA.BW

Introduction à la méthodologie de la recherche

I. Introduction. 1. Objectifs. 2. Les options. a. Présentation du problème.

Formations EViews FORMATIONS GENERALES INTRODUCTIVES INTRO : INTRODUCTION A LA PRATIQUE DE L ECONOMETRIE AVEC EVIEWS

Exercices - Fonctions de plusieurs variables : corrigé. Pour commencer

Le modèle de Black et Scholes

Principe de symétrisation pour la construction d un test adaptatif

Chapitre 3 : Le budget des ventes. Marie Gies - Contrôle de gestion et gestion prévisionnelle - Chapitre 3

PRIME D UNE OPTION D ACHAT OU DE VENTE

La Licence Mathématiques et Economie-MASS Université de Sciences Sociales de Toulouse 1

PROJET DE GESTION PORTEFEUILLE. Evaluation d une Stratégie de Trading

Introduction au Data-Mining

Une comparaison de méthodes de discrimination des masses de véhicules automobiles

CONSEILS POUR LA REDACTION DU RAPPORT DE RECHERCHE. Information importante : Ces conseils ne sont pas exhaustifs!

Intérêt du découpage en sous-bandes pour l analyse spectrale

Mesure agnostique de la qualité des images.

Gestion obligataire passive

La boucle for La boucle while L utilisation du if else. while (condition) { instruction(s) }

Projet de Traitement du Signal Segmentation d images SAR

Le modèle de régression linéaire

Le Modèle Linéaire par l exemple :

Les atouts et faiblesses des caméras TEP dédiées, TEP corps entier, TEP-CT, TEMP pour la quantification

Formation continue. Ensae-Ensai Formation Continue (Cepe)

NON-LINEARITE ET RESEAUX NEURONAUX

UFR de Sciences Economiques Année TESTS PARAMÉTRIQUES

Exercices Corrigés Premières notions sur les espaces vectoriels

TABLE DES MATIÈRES. PRINCIPES D EXPÉRIMENTATION Planification des expériences et analyse de leurs résultats. Pierre Dagnelie

1 Introduction et installation

CAISSE REGIONALE DU CREDIT AGRICOLE MUTUEL D AQUITAINE

Stratégie d assurance retraite

Introduction à l étude des Corps Finis

Exposing a test of homogeneity of chronological series of annual rainfall in a climatic area. with using, if possible, the regional vector Hiez.

Cours 9 : Plans à plusieurs facteurs

Introduction au Data-Mining

AICp. Vincent Vandewalle. To cite this version: HAL Id: inria

Item 169 : Évaluation thérapeutique et niveau de preuve

Tests non-paramétriques de non-effet et d adéquation pour des covariables fonctionnelles

Chapitre 2 Le problème de l unicité des solutions

Chapitre 3 : Principe des tests statistiques d hypothèse. José LABARERE

L ANALYSE EN COMPOSANTES PRINCIPALES (A.C.P.) Pierre-Louis GONZALEZ

Simulation de variables aléatoires

Convention de «management fees»: qu en est-il aujourd hui?

Séries Statistiques Simples

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Soutenance de stage Laboratoire des Signaux et Systèmes

Principe d un test statistique

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Analyse stochastique de la CRM à ordre partiel dans le cadre des essais cliniques de phase I

Renforcement des trois compétences : compréhension orale, expression orale et expression écrite à partir de documents et vidéos.

Capital économique en assurance vie : utilisation des «replicating portfolios»

Optimisation Discrète

BMO Société d assurance-vie. Glossaire d aide juin 2009

Analyse des Systèmes Asservis

Introduction à la statistique non paramétrique

Approche modèle pour l estimation en présence de non-réponse non-ignorable en sondage

Quantification Scalaire et Prédictive

Le concept cellulaire

Cours 02 : Problème général de la programmation linéaire

Utilisation du module «Geostatistical Analyst» d ARCVIEW dans le cadre de la qualité de l air

Estimation et tests statistiques, TD 5. Solutions

MODELE A CORRECTION D ERREUR ET APPLICATIONS

Expérience 3 Formats de signalisation binaire

CAPTEURS - CHAINES DE MESURES

I. Polynômes de Tchebychev

Transcription:

Etude des propriétés empiriques du lasso par simulations L objectif de ce TP est d étudier les propriétés empiriques du LASSO et de ses variantes à partir de données simulées. Un deuxième objectif est d apprendre une méthodologie de simulations numériques, qui sont souvent utilisées dans les travaux de recherche, soit pour étudier les propriétés d une méthode, soit pour comparer les performances de plusieurs méthodes. Les questions notées sont à faire à la maison. Méthodologie de simulation La simulation de données est un passage souvent obligé dans un travail de recherche, qu il soit théorique ou appliqué. Au cours de ce TP, nous allons tenter de définir une méthodologie permettant de mettre en place, et ensuite d analyser (et de rédiger) des résultats de simulation. Dans le TP nous considérerons les simulations comme un moyen d étudier les propriétés de méthodes statistiques sur des données parfaitement contrôlées. A cet égard, il est nécessaire de définir les propriétés des méthodes statistiques, et ce qu on entend par données contrôlées. Le premier terme dépend évidemment de la méthode étudiée. Dans notre cas, nous étudions une méthode de sélection de variables, et les propriétés d intérêt sont : la capacité à retrouver les variables pertinentes quand elles existent, la capacité à prédire une nouvelle observation, la précision d estimation. Le deuxième terme données contrôlées se réfère aux hypothèses qui sont faites lors de la définition du modèle statistique (distribution, dimensions par exemple). Un intérêt important des simulations numériques est de se placer dans le bon cas (ie celui prévu par la théorie), pour étudier les propriétés de la méthode dans ce cadre: c est une sorte de contrôle positif (on s assure que les performances sont bonnes dans le cadre prévu par la théorie). Ensuite, la simulation permet de considérer des cas qui s éloignent de la théorie, et d étudier la sensibilité de la méthode à des écarts aux hypothèses. \ Le cadre méthodologique qui permet de construire les simulations et de les analyser est celui du modèle linéaire et de la plannification expérimentale. Dans ce cadre, les priopriétés du modèle à étudier sont considérées comme des variables réponse dont il s agit d expliquer les variations par des facteurs contrôlés. Un exemple ici serait d étudier les variations des performances du lasso en fonction du nombre d observations n et du nombre de variables p. Cependant, on comprend bien que considérer n et p ou n/p n est pas suffisant, car les performances du lasso en terme de sélection par exemple, dépendront du ratio signal/bruit présent dans les données. Par conséquent, un élément essentiel des études par simulation est la mise en place d un plan d expérience permettant d identifier la variable réponse que l on souhaite étudier d identifier les facteurs de variations potentiels expliquant les variations de cette réponse le contrôle des croisements de facteurs l analyse statistique des résultats de simulation La rédaction et la présentation concise des résultats Simulation des observations On considère le cas simple de la sélection de variables avec le lasso dans le cas des modèles linéaires gaussiens: Y i = x T i β + ε i, ε i N (0, σ 2 ), avec Y un vecteur de R n, et β un vecteur de R p dont p 0 éléments sont non-nuls. Dans la suite, on note J 0 = {j {1,..., p, βj 0. On utilisera le code ci-dessous pour simuler des observations. On considèrera que les covariables sont indépendantes, gaussiennes centrées réduites dans un premier temps. On considèrera également que toutes les positions non nulles de β sont égales. 1

p = 10 p0 = 5 n = 5*p sigma = 1 b0 = 5 beta0 = c(rep(b0,p0),rep(0,p-p0)) X = sapply(1:p, FUN=function(x){rnorm(n,0,1)) vareps = rnorm(n,0,sigma) Y = X%*%beta0 + vareps Estimation des paramètres avec glmnet A l aide du package glmnet estimez les paramètres du modèle que vous avez simulé. On choisira le paramètre λ par validation croisée à l aide de la fonction cv.glmnet. Choisissez la valeur de λ qui minimise l erreur de validation croisée, et obtenez la valeur β λ. Créer une fonction getlasso(x,y) permettant d estimer les paramètres de la régression pénalisée par lasso. library(glmnet) getlasso <- function(x,y){ p = dim(x)[2] lambda.cv = cv.glmnet(x,y, family = "gaussian",intercept=f)$lambda.1se bh = glmnet(x,y,family = "gaussian",intercept=f, lambda=lambda.cv)$beta if ( sum(abs(bh))==0 ) {bh = rep(0,p) return(bh) : Calculez l estimateur des moindre-carrés et l oracle sur les mêmes données (l estimateur que l on obtiendrait si on connaissait les positions des coefficients non nuls). L estimateur des moindre carrés ordinaires, n étant pas unique en grande dimension (X T X non inversible), on utilisera un estimateur avec une faible pénalité ridge pour régulariser l estimateur MCO (en utilisant l option alpha dans glmnet et lambda=(1e-2)/n). Calculez un estimateur du bias et de la variance des estimateurs obtenus ### estimateur Oracle betah = c(as.vector(glmnet(x[,1:p0],y,family = "gaussian",intercept=f, lambda=0)$beta), rep(0,p-p0)) ### estimateur MCO if (p>=n){ betah = glmnet(x,y,family = "gaussian",intercept=f, lambda=(1e-2)/n, alpha=0)$beta else { betah = glmnet(x,y,family = "gaussian",intercept=f, lambda=0)$beta Critères de performance Définissez les critères suivants à partir de J 0 et Ĵ0: accuracy en terme de support, spécificité, sensibilité. Donnez leur interprétation. Ces critères permettront d étudier les performances des méthodes de sélection de variable. Utilisez les fonctions suivantes pour leur implémentation. 2

getacc<-function(vtrue, vest){ p = length(vtrue) tp = sum(vtrue!=0 & vest!=0) tn = sum(vtrue==0 & vest ==0) ACC = (tp+tn)/p return(acc) getsens <- function(vtrue,vest){ tp = sum(vtrue!=0 & vest!=0) fn = sum(vtrue!=0 & vest==0) tp/(fn+tp) getspe <- function(vtrue,vest){ tn = sum(vtrue==0 & vest ==0) fp = sum(vtrue==0 & vest!=0) tn/(tn+fp) Calculez les indicateurs de performance sur nbsimul simulations pour obtenir des indicateurs moyens (ainsi que leurs variations). Faites varier les valeurs de β (choisir 5 valeurs). Formatez vos sorties sous la forme d une data.frame comportant en colonne les paramètres des simulations, ainsi que les variables étudiées, une ligne correspondant à une simulation (donc nbsimul lignes). n = 100 sigma = 1 nbsimul = 2 res = NULL p0 = 10 b0 = 1 beta0 = c(rep(b0,p0),rep(0,p-p0)) for (i in 1:nbsimul){ X = sapply(1:p, FUN=function(x){rnorm(n,0,1)) Y = X%*%beta0 + rnorm(n,0,sigma) betah = getlasso(x,y) res = rbind(res, c(n = n, p = p, sigma= sigma, b0 = b0, bias = sum(beta0-betah)/p, mse = sum( (beta0-betah)^2 )/p, acc = getacc(beta0,betah), sens = getsens(beta0,betah), spe = getspe(beta0,betah), sh = sum(betah!=0), method = "lasso") ) Plannification des simulations A partir d ici les éléments sont en place pour étudier les performances du lasso par simulation. Concernant les facteurs modifiant les performances du lasso, on peut identifier n (pour étudier le cadre asymptotique), p 3

(pour étudier le cadre de la grande dimension), β (pour étudier l influence de la force du signal), σ (pour étudier l influence de la force du bruit). On voit tout de suite qu envisager un plan d expérience qui croise toutes les modalités de tous ces facteurs n est pas envisageable (et surtout peu informatif). On va donc cibler les facteurs qui nous intéressent le plus: n/p: c est en fait le ratio qui nous intéresse pour répondre à la question : quelles sont les performances du lasso en petite ou en grande dimension. On peut donc raisonnablement fixer une valeur pour n par exemple n = 100 et faire varier p de telle sorte qu on se place en petite ou grande dimension: p {50, 500, 1000. On peut aussi fixer la valeur de p 0 en imposant p 0 = 10. SNR 2 c est le ratio signal sur bruit, défini par la puissance du signal divisée par la puissance du bruit. Il est défini par: SNR 2 = E ( X E(Yi x i ) 2) E X (V(Y i x i )) Calculez le ratio signal sur bruit dans le cas du modèle linéaire gaussien avec régresseurs indépendants centrés réduits. Parmi les composantes de β, p 0 sont non nulles et p p 0 sont nulles. Pour simplifier encore les simulations, on choisira la même valeur pour toutes les composantes non-nulles notée β 0. De quel(s) paramètres dépendent ce ratio? proposez des valeurs pour le SNR et interprétez les. Implémentez les simulations pour ces valeurs de paramètres. Représentez les boxplots des indicateurs de performance en fonction de n/p et de la valeur de β 0. On utilisera le package ggplot2 à l aide du code ci-dessous. Quels sont les effets de la grande dimension sur les performances des estimateurs (en estimation, en sélection)? res = as.data.frame(res) res$bias = as.numeric(as.character(res$bias)) res$mse = as.numeric(as.character(res$mse)) res$acc = as.numeric(as.character(res$acc)) res$spe = as.numeric(as.character(res$spe)) res$sens = as.numeric(as.character(res$sens)) res$sh = as.numeric(as.character(res$sh)) res$p = factor(res$p,levels=levels(res$p)[c(2,3,1)]) res$b0 = factor(res$b0,levels=levels(res$b0)[c(1,2,4,3)]) #library(ggplot2) #ggplot(data=res, aes(x=p,y=acc,color=b0)) + geom_boxplot() + facet_grid(method~.) *. Calculez l erreur de prédiction du lasso, du lasso adaptatif (cf. section suivante) et de l oracle avec une procédure de 10-fold validation croisée, et étudiez ses variations en fonction du plan de simulations précédent. On pourra utiliser la commande split(sample(n),seq(1,n,by=k)) pour échantillonner des sous ensembles des données en K groupes. getkfoldprederror <- function(x,y,k){ n = length(y) out = sapply(split(sample(n),seq(1,n,by=k)), FUN=function(ii){ betah = getlasso(x[-ii,],y[-ii]) mse = sum( (Y[ii]- X[ii,]%*%betah)^2 ) 4

beta.ada = getadalasso(x[-ii,],y[-ii],betah) mse.ada = sum( (Y[ii]-X[ii,]%*%beta.ada)^2 ) beta.ora = c(as.vector(glmnet(x[-ii,1:p0],y[-ii],family = "gaussian",intercept=f, lambda=0)$beta), rep(0,p-p0)) mse.ora = sum( (Y[ii]-X[ii,]%*%beta.ora)^2 ) return(c(mse,mse.ada,mse.ora)) ) return(apply(out,1,sum)/k) Lasso adaptatif Une version modifiée du lasso a été proposée pour palier (notamment) au problème de biais, c est le lasso adaptatif. L idée du lasso adaptatif est de procéder en deux temps. Dans un premier temps, on estime des paramètres β init à l aide du lasso. Ce premier estimateur va être utilisé comme poids pour une deuxième étape de lasso, en fixant w j = β j,init tel que: β λ = Argmin β 1 p n Y β j Xβ 2 2 + λ. w j L idée du lasso adaptatif est que si β j,init = 0 alors β j,ada = 0 de telle sorte que la première étape de lasso sert de pré-sélection. De plus, si β j,init est grand, le lasso adaptatif utilisera une pénalisation plus petite, donc un shrinkage plus petit pour le coefficient j, ce qui est sensé diminuer le bias pour ce coefficient. j=1. Implémentez le lasso adaptatif à l aide de l option penalty.factor dans glmnet qui permet d introduire des λs différents pour chaque élement de β. Créer une fonction getadalasso(x,y,beta.init) qui calcule l estimateur lasso adaptatif à partir d un premier vecteur β init. Comparez les performances du lasso adaptatif à celles du lasso (en estimation, en sélection, et en prédiction ). getadalasso <- function(x,y,beta.init){ p = dim(x)[2] n = dim(x)[1] nonnullpos = which(beta.init!=0) betah.ada = rep(0,p) if (length(nonnullpos)>2){ w = abs(beta.init[nonnullpos]) lambda.cv = cv.glmnet(matrix(x[,nonnullpos],nrow=n),y, family = "gaussian", intercept=f,penalty.factor=1/w)$lambda.min betah.ada[nonnullpos] = as.vector(glmnet(x[,nonnullpos],y, family = "gaussian", intercept=f,lambda=lambda.cv, penalty.factor=1/w)$beta) else { betah.ada = beta.init return(betah.ada) 5

Pour aller plus loin Dans une dernière partie, nous nous interrogerons sur les conditions sur n, p et p 0 pour que le lasso détecte bien les entrées nulles et non-nulles de β. Dans un article publié en 2009 (IEEE Transactions on Information Theory, 55:2183 2202, May 2009), M. Wainwright propose des conditions nécessaires et suffisantes pour que le lasso soit consistant en sélection pour le support signé. On notera S ± (β) le vector de signes de β défini tel que: +1 si β i > 0 S ± (β i ) = 1 si β i < 0 0 si β i = 0 Dans son article M. Wainwright démontre l existence de deux constantes dépendant de Σ = V(X), 0 < θ l (Σ) θ u (Σ) < telles que pour une valeur 2σ2 log(p 0 ) log(p p 0 ) λ n = n du paramètre de régularisation du lasso, si n/(2p 0 (log(p p 0 ))) > θ u (Σ) alors il est toujours possible de trouver une valeur du paramètre de régularisation λ telle que le lasso a une solution unique β telle que P{S ± (β ) = S ± ( β) tend vers 1. si n/(2p 0 (log(p p 0 ))) < θ l (Σ), alors quelle que soit la valeur du paramètre de régularisation λ > 0, aucune des solutions du lasso ne spécifie correctement le support signé de β, P{S ± (β ) = S ± ( β) tend vers 0. Dans son article, M. Wainwright propose d appeler la quantité n/(2p 0 (log(p p 0 ))) taille d échantillon normalisée. C est un indicateur qui combine les informations nécessaires à la consistance du lasso. Dans la suite, nous nous placerons dans le cas Σ = I, avec θ l (I) = θ u (I) = 1. Pour les paramètres suivants, étudiez l évolution de l accuracy en terme de support en fonction de la taille d échantillon normalisée, pour le lasso avec la valeur théorique de λ proposée ci-dessus. p {128, 256, 512, n {100,..., 1000, p 0 = 0.4 p, β 0 = 0.5, σ = 0.5. Comparer ces performances avec celles du lasso utilisant un λ calibré par validation croisée, et celles du lasso adaptatif (également avec λ calibré par validation croisée). Discutez les différences de comportement de l accuracy. 6