Régression en


15

J'essaie de voir s'il faut opter pour la régression de crête , LASSO , la régression en composantes principales (PCR) ou les moindres carrés partiels (PLS) dans une situation où il y a un grand nombre de variables / caractéristiques ( ) et un plus petit nombre d'échantillons ( n < p ), et mon objectif est la prédiction.pn<p

Voici ma compréhension:

  1. La régression de crête réduit les coefficients de régression, mais utilise tous les coefficients sans les mettre à .0

  2. LASSO réduit également les coefficients, mais les met également à , ce qui signifie qu'il peut également sélectionner des variables.0

  3. La régression du composant principal tronque les composants de sorte que devienne inférieur à n ; il supprimera les composants p - n .pnpn

  4. Le moindre carré partiel construit également un ensemble de combinaisons linéaires des entrées pour la régression, mais contrairement à la PCR, il utilise (en plus de X ) pour la réduction de la dimensionnalité. La principale différence pratique entre la régression PCR et PLS est que la PCR a souvent besoin de plus de composants que PLS pour obtenir la même erreur de prédiction ( voir ici ).yX

Considérez les données factices suivantes (les données réelles avec lesquelles j'essaie de travailler sont similaires):

#random population of 200 subjects with 1000 variables 

M <- matrix(rep(0,200*100),200,1000)
for (i in 1:200) {
set.seed(i)
  M[i,] <- ifelse(runif(1000)<0.5,-1,1)
}
rownames(M) <- 1:200

#random yvars 
set.seed(1234)
u <- rnorm(1000)
g <- as.vector(crossprod(t(M),u))
h2 <- 0.5 
set.seed(234)
y <- g + rnorm(200,mean=0,sd=sqrt((1-h2)/h2*var(g)))

myd <- data.frame(y=y, M)

Mise en œuvre de quatre méthodes:

 require(glmnet)

 # LASSO 
 fit1=glmnet(M,y, family="gaussian", alpha=1)

 # Ridge   
 fit1=glmnet(M,y, family="gaussian", alpha=0)

 # PLS
 require(pls)
 fit3 <- plsr(y ~ ., ncomp = 198, data = myd, validation = "LOO")
 # taking 198 components and using leave-one-out cross validation 
 summary(fit3)
 plot(RMSEP(fit3), legendpos = "topright")

 # PCR 
 fit4 <- pcr(y ~ ., ncomp = 198, data = myd, validation = "LOO")

La meilleure description des données est:

  1. , la plupart du temps p > 10 n ;p>np>10n

  2. Les variables ( et Y ) sont corrélées entre elles à des degrés différents.XY

Ma question est quelle stratégie peut être la meilleure pour cette situation? Pourquoi?


6
Je n'ai pas de réponse spontanée, mais le chapitre 18 des Éléments de l'apprentissage statistique est consacré à ce sujet et couvre, je pense, toutes les techniques que vous mentionnez.
shadowtalker


@ssdecontrol Merci pour le livre que vous avez publié. Tellement utile
Christina

Réponses:


30

Je pense qu'il n'y a pas de réponse unique à votre question - cela dépend de la situation, des données et de ce que vous essayez de faire. Une partie de la modification peut ou doit être modifiée pour atteindre l'objectif. Cependant, la discussion générale suivante peut vous aider.

Avant de passer aux méthodes plus avancées, discutons d'abord du modèle de base: régression des moindres carrés (LS) . Il y a deux raisons pour lesquelles une estimation des moindres carrés des paramètres dans le modèle complet n'est pas satisfaisante:

  1. Qualité de la prévision: les estimations des moindres carrés ont souvent un biais faible mais une variance élevée. La qualité de prédiction peut parfois être améliorée en rétrécissant les coefficients de régression ou en fixant certains coe equal cients à zéro. De cette façon, le biais augmente, mais la variance de la prédiction diminue considérablement, ce qui conduit à une amélioration globale de la prédiction. Ce compromis entre le biais et la variance peut être facilement observé en décomposant l' erreur quadratique moyenne (MSE). Un MSE plus petit conduit à une meilleure prédiction de nouvelles valeurs.

  2. Interprétabilité : si de nombreuses variables prédictives sont disponibles, il est logique d'identifier celles qui ont la plus grande influence et de mettre celles à zéro qui ne sont pas pertinentes pour la prédiction. Ainsi, nous éliminons les variables qui n'expliqueront que certains détails, mais nous conservons celles qui permettent l'explication principale de la variable de réponse.

kk{0,1,...,p}304040n>pp

βzk,k=1,2,...,qxj

Les méthodes diffèrent dans la façon dont les combinaisons linéaires sont construites. La régression des composants principaux (PCR) recherche les transformations des données originales en un nouvel ensemble de variables non corrélées appelées composants principaux .

yXyXβγγqpXyy

λ0λ

ββ

Xpq

YiLa différence entre le L1 et L2 est juste que L2 est la somme du carré des poids, tandis que L1 est juste la somme des poids. La norme L1 a tendance à produire des coefficients clairsemés et dispose d'une sélection de fonctions intégrée . La norme L1 n'a pas de solution analytique, contrairement à la norme L2. Cela permet de calculer efficacement les solutions de la norme L2. La norme L2 propose des solutions uniques, contrairement à la norme L1.

s0s

pN

L'analyse des composants principaux est une méthode efficace pour trouver des combinaisons linéaires d'entités qui présentent une grande variation dans un ensemble de données. Mais ce que nous recherchons ici, ce sont des combinaisons linéaires présentant à la fois une variance élevée et une corrélation significative avec le résultat. Par conséquent, nous voulons encourager l'analyse des composantes principales pour trouver des combinaisons linéaires de caractéristiques qui ont une forte corrélation avec les composantes principales supervisées par les résultats (voir page 678, Algorithme 18.1, dans le livre Elements of Statistical Learning ).

Les moindres carrés partiels pondèrent les caractéristiques bruyantes, mais ne les jettent pas; par conséquent, un grand nombre de caractéristiques bruyantes peuvent contaminer les prévisions. Le PLS à seuil peut être considéré comme une version bruyante des principaux composants supervisés, et nous ne pouvons donc pas nous attendre à ce qu'il fonctionne aussi bien dans la pratique. Les composants principaux supervisés peuvent générer des erreurs de test inférieures à celles du seuil PLS . Cependant, il ne produit pas toujours un modèle clairsemé n'impliquant qu'un petit nombre de fonctionnalités.

p


1
Bias2+Variance

2
Que voulez-vous dire quand vous dites que "la norme L2 a des solutions uniques alors que la norme L1 n'en a pas."? L'objectif du lasso est convexe ...
Andrew M
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.