Sélection du modèle PCA avec AIC (ou BIC)


12

Je souhaite utiliser le critère d'information Akaike (AIC) pour choisir le nombre approprié de facteurs à extraire dans une ACP. Le seul problème est que je ne sais pas comment déterminer le nombre de paramètres.

Considérons une matrice X , où N représente le nombre de variables et T le nombre d'observations, tel que X N ( 0 , Σ ) . Étant donné que la matrice de covariance est symétrique, une estimation du maximum de vraisemblance de Σ pourrait fixer le nombre de paramètres dans l'AIC égal à N ( N + 1 )T×NXNTXN(0,Σ)Σ .N(N+1)2

Alternativement, dans une ACP, vous pouvez extraire les premiers vecteurs propres et valeurs propres de Σ , les appeler β f et Λ f puis calculer Σ = β f Λ f β f + I σ 2 rσ 2 r est le résiduel moyen variance. D'après mes calculs, si vous avez f facteurs, alors vous f paramètres f dans Λ f , N f paramètres dans β f , et 1fΣβfΛf

Σ=βfΛfβf+Iσr2
σr2ffΛfNfβf1paramètre dans .σr2

Cette approche est-elle correcte? Il semble que cela conduirait à plus de paramètres que l'approche de vraisemblance maximale que le nombre de facteurs augmente à .N


1
surestime les paramètres: il y a redondance du fait que les vecteurs propres sont mutuellement orthogonaux. Nf
whuber

10
Le premier vecteur propre a paramètres libres. La condition d'orthogonalité restreint le deuxième vecteur propre à l'hyperespace orthogonal au premier, ne nécessitant que N - 1 paramètres. Chaque vecteur propre successif a besoin d'un paramètre de moins que le précédent. À la limite de N vecteurs propres, vous jetez σ 2 r (car il est maintenant nul), donnant N + ( N - 1 ) + + 1 = N ( N + 1 ) / 2 paramètres au total,NN1Nσr2N+(N1)++1N(N+1)/2en accord avec votre premier décompte de paramètres.
whuber

1
@ A.Donda La situation est vague: supposons que vous avez également indiqué la multiplicité de chaque valeur propre et que ces multiplicités sont la somme à N . En permettant à l'ACP de trouver une transformation orthogonale, nous aurions N ( N - 1 ) / 2 paramètres pour la déterminer. Mais les stabilisateurs de chaque espace propre sont des groupes orthogonaux aux dimensions n i . Chacun élimine ainsi n i ( n in1,n2,,ns,N.N(N1)/2ni. paramètres, laissant N ( N - 1 ) / 2 - s i = 1 n i ( n i - 1 ) / 2 paramètres pour lesrotations. Lesvaleurs propres s fournissent les paramètres restants. ni(ni1)/2
N(N1)/2i=1sni(ni1)/2
s
whuber

1
N(N1)/21

1
@whuber, merci! Ma question est motivée par une situation où j'estime une matrice de covariance sous une contrainte sur les valeurs propres.
A. Donda

Réponses:


5

logp(D|k)kD

Clairement, cela prend un point de vue bayésien de votre problème qui n'est pas basé sur les critères de théorie de l'information (KL-divergence) utilisés par AIC.

En ce qui concerne la question originale de "détermination du nombre de paramètres", je pense aussi que le commentaire de @ whuber porte la bonne intuition.


Je jouais avec AIC contre AICc sur des matrices aléatoires de tailles différentes. L'AICc semble mieux fonctionner. Ces références semblent bonnes, mais je n'ai pas encore eu la chance de les digérer.
John

6

La sélection d'un nombre «approprié» de composants dans PCA peut être effectuée avec élégance avec Horn's Parallel Analysis (PA). Les articles montrent que ce critère surpasse systématiquement les règles empiriques telles que le critère du coude ou la règle de Kaiser. Le package R "paran" a une implémentation de PA qui ne nécessite que quelques clics de souris.

Bien sûr, le nombre de composants que vous conservez dépend des objectifs de la réduction des données. Si vous souhaitez uniquement conserver une variance "significative", l'AP donnera une réduction optimale. Cependant, si vous souhaitez minimiser la perte d'informations des données d'origine, vous devez conserver suffisamment de composants pour couvrir la variance expliquée à 95%. Cela gardera évidemment beaucoup plus de composants que PA, bien que pour les jeux de données de grande dimension, la réduction de dimensionnalité sera toujours considérable.

Une dernière remarque sur PCA en tant que problème de "sélection de modèle". Je ne suis pas entièrement d'accord avec la réponse de Peter. Il y a eu un certain nombre d'articles qui ont reformulé l'ACP en tant que problème de type régression, comme l'APC éparse, l'APC probabiliste éparse ou ScotLASS. Dans ces solutions PCA "basées sur un modèle", les chargements sont des paramètres qui peuvent être mis à 0 avec des termes de pénalité appropriés. Vraisemblablement, dans ce contexte, il serait également possible de calculer des statistiques de type AIC ou BIC pour le modèle considéré.

Cette approche pourrait théoriquement inclure un modèle où, par exemple, deux PC sont sans restriction (tous les chargements ne sont pas nuls), par rapport à un modèle où PC1 est sans restriction et PC2 a tous les chargements définis sur 0. Cela équivaudrait à inférer si PC2 est redondant dans l'ensemble.

Références (PA) :

  • Dinno, A. (2012). paran: test de Horn sur les principaux composants / facteurs. Version du package R 1.5.1. http://CRAN.R-project.org/package=paran
  • Horn JL 1965. Une justification et un test pour le nombre de facteurs dans l'analyse factorielle. Psychometrika . 30: 179–185
  • Hubbard, R. et Allen SJ (1987). Une comparaison empirique des méthodes alternatives pour l'extraction des composants principaux. Journal of Business Research, 15 , 173-190.
  • Zwick, WR & Velicer, WF 1986. Comparaison de cinq règles pour déterminer le nombre de composants à conserver. Bulletin psychologique. 99 : 432–442

Bienvenue sur le site, @BenM. D'après votre réponse, je pense que ce sera agréable de vous avoir avec vous (même si je ne connais pas suffisamment l'ACP au-delà des bases pour évaluer vos demandes). Une question, vous notez que ces positions ont été bien établies, pourriez-vous énumérer quelques publications représentatives où le lecteur intéressé pourrait trouver plus de détails?
gung - Réintégrer Monica

-1

L'AIC est conçu pour la sélection de modèles. Ce n'est pas vraiment un problème de sélection de modèle et vous feriez peut-être mieux d'adopter une approche différente. Une alternative pourrait être de spécifier un certain pourcentage total de variance expliqué (comme par exemple 75%) et de s'arrêter lorsque le pourcentage atteint 75% s'il le fait jamais.


1
Je sélectionne entre différents modèles en fonction du nombre de facteurs (le modèle avec 1 facteur par rapport au modèle avec 2, etc.). Le problème du pourcentage de variance est principalement qu'il ignore le coût d'estimation de vecteurs propres supplémentaires, en particulier lorsque le nombre d'observations est inférieur au nombre de variables. L'AIC cadre bien avec une approche probabiliste de l'ACP.
John

3
Michael, pourriez-vous expliquer précisément pourquoi ce n'est pas un problème de sélection de modèle? Il semble que John l'ait clairement formulé.
whuber

@whuber Quel est le modèle statistique? Il me semble que décider du nombre de composantes principales utilisées pour représenter le x% de la variance dans une variable Y ne revient pas à sélectionner un modèle. Je ne considérerais pas non plus les principaux composants comme des paramètres de modèle.
Michael R. Chernick

2
XiN(0,Σ)Σσi2ρ|ρ|=1θλ1λ2λ2=0. Les deux perspectives testent la corrélation parfaite (colinéarité); ils utilisent simplement différentes paramétrisations. Si vous autorisez le premier comme modèle, vous devez autoriser le second.
whuber

-3

L'AIC n'est pas appropriée ici. Vous ne sélectionnez pas parmi les modèles avec un nombre variable de paramètres - un composant principal n'est pas un paramètre.

Il existe un certain nombre de méthodes pour décider du nombre de facteurs ou de composants à partir d'une analyse factorielle ou d'une analyse en composantes principales - test d'éboulis, valeur propre> 1, etc. Mais le vrai test est substantiel: quel nombre de facteurs est logique ? Examinez les facteurs, considérez les poids, déterminez celui qui convient le mieux à vos données.

Comme d'autres choses dans les statistiques, ce n'est pas quelque chose qui peut être facilement automatisé.


4
ΣΣ

1
@whuber Un paramètre d'une matrice de covariance peut-être mais pas un paramètre de modèle. Je suis du côté de Peter à ce sujet.
Michael R. Chernick

3
Peter, quelle distinction faites-vous exactement entre un "paramètre de modèle" et un "paramètre"? Je ne suis au courant d'aucune de ces choses et j'aimerais donc en savoir plus à ce sujet. Si votre but est de trouver une description parcimonieuse des covariances multivariées, ne constituent-elles pas des paramètres "modèles"?
whuber

3
nmn

1
Merci pour l'info. Les séries chronologiques sont un domaine de statistiques que je connais peu.
Peter Flom - Réintègre Monica
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.