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.
Voici ma compréhension:
La régression de crête réduit les coefficients de régression, mais utilise tous les coefficients sans les mettre à .
LASSO réduit également les coefficients, mais les met également à , ce qui signifie qu'il peut également sélectionner des variables.
La régression du composant principal tronque les composants de sorte que devienne inférieur à n ; il supprimera les composants p - n .
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 ).
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:
, la plupart du temps p > 10 n ;
Les variables ( et Y ) sont corrélées entre elles à des degrés différents.
Ma question est quelle stratégie peut être la meilleure pour cette situation? Pourquoi?
la source
Réponses:
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:
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.
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.
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 .
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.
la source