Forum de Statistiques
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
Les posteurs les plus actifs de la semaine
Aucun utilisateur

Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

Problème d'ACM (R)

5 participants

Aller en bas

Problème d'ACM (R) Empty Problème d'ACM (R)

Message par louisreglain Lun 4 Mai 2015 - 9:28

Bonjour,

Actuellement en stage, je dois proposer différentes solutions pour identifier des clients afin de leur proposer une promotion adéquate. J'ai donc pensé faire une ACM, J'ai essayé d'utiliser le script que l'on utilise en cours avec le package ade4 mais j'obtiens le message d'erreur suivant :

Error in matrix(0, n, length(levels(cl))) : too many elements specified
Après quelques recherches il semblerait que c'est parce que j'ai un fichier trop volumineux, en effet j'ai 3 millions d'observations...

J'ai donc essayé de prendre une petite partie de mes données en faisant X=X[1:1000,]

J'obtiens désormais :
Error in dudi.acm(X) : One category with null weight
Je ne sais plus quoi essayer pour obtenir mon ACM, quelqu'un aurait une idée ?

Merci


PS : Si ça peut aider mes variables sont : Code postal, ville, produit, code produit, sous type de produit, code produit, article, code article.

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par Nik Lun 4 Mai 2015 - 11:27


Bonjour,

Tu peux essayer comme suit
Code:
X <- droplevels(X[1:1000,])
ça éliminera le problème des modalités vides.

HTH

nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Lun 4 Mai 2015 - 12:03

Bonjour,
c'est génial, je n'ai plus de message d'erreurs, j'arrive à avoir mon tableau de contributions cependant ce n'est pas pour autant très clair... Mes COS2 pour mes axes varient entre soit 0 soit 1. Pensez vous que j'utilise trop de variables ? Devrais-je faire plusieurs ACM ? je suis un peu perdu

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par zezima Lun 4 Mai 2015 - 12:29

Bonjour,

A quoi correspondent le "code produit" et le "produit" ?
Ce à quoi il faut faire attention dans les analyses multiples, ce sont les doublons de variables. Par exemple deux variables qui sont totalement dépendantes (Age et date de naissance / IMC et taille).

Avoir des variables en doublon va faire basculer l'interprétation de ton ACM et donner beaucoup de pois du côté des variables doublons.
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Lun 4 Mai 2015 - 12:33

Oui, en effet elles correspondent à la meme chose, je vais essayer en enlevant les doublons.

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Lun 4 Mai 2015 - 12:37

Par contre, je ne sais pas choisir le nombre d'axes dont j'ai besoin, j'ai un graphique en forme de coude, j'ai appris en cours qu'il fallait choisir la valeur pour laquelle ça se "stabilise" cependant ça fait environ 30 axes, c'est beaucoup non ?

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par Nik Lun 4 Mai 2015 - 13:14

Re-

Une règle possible est l'observation visuelle d'un "saut" (baisse significative entre 2 valeurs propres successives) dans l'histogramme des valeurs propres. On retient alors les axes jusqu'au saut.

Dans le cas où il y a absence de saut, c'est qu'il n'y a pas de structure forte dans les données. il est donc assez inutile d'aller interpréter l'analyse sur un plan factoriel plutôt qu'un autre.

Nik

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Lun 4 Mai 2015 - 14:26

Ok, merci, par contre est ce normal que mon premier axe ne résume que 1% de mes données, dans les exercices que j'ai fait en cours, le premier axe résumait environ 50% des données, est ce du au fait qu'il y ai plus de données ou ai-je fais une erreur quelque part ?

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par Nik Lun 4 Mai 2015 - 14:54

C'est sûr que 1% c'est assez ridicule...Mais le pourcentage dépend aussi du nombre de variables explicatives et puis de la dispersion du nuage suivant les axes.

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Lun 4 Mai 2015 - 15:01

J'ai pris 4 variables sur les 12 de base car certaines étaient égales (Produit et code produit), comment faire pour que mes axes résument mieux mes données ?

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par Nik Lun 4 Mai 2015 - 15:07

Tu as combien de modalité par variable ?

Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par zezima Lun 4 Mai 2015 - 18:30

Le nombre de modalité doit être énorme voire infini pour expliquer 1% sur le premier axe.

Il y a des modalités piège à ne pas prendre, par exemple l'ID. Si chaque code est référencé par un code différent, alors ton ACM ne sortira rien. Il ne faut garder que les variables explicatives et interprétables.
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Mar 5 Mai 2015 - 7:19

Voici mes modalités :

Code:

'data.frame':  3321582 obs. of  13 variables:
$ Code.client                : Factor w/ 493472 levels "005D8F33497DBDED9E7244FCF4A481CB2149F3C12B259A5B",..: 1 1 1 1 2 2 2 2 2 2 ...
$ Date.naissance.client      : Factor w/ 1152 levels "01/01/1515 00:00:00",..: 945 945 945 945 541 541 541 541 541 541 ...
$ Code.Postal.client        : Factor w/ 2675 levels "01000","01090",..: 1662 1662 1662 1662 1704 1704 1704 1704 1704 1704 ...
$ Ville.client              : Factor w/ 4619 levels ".","3","7 EME ARRONDISSEMENT",..: 1263 1263 1263 1263 616 616 616 616 616 616 ...
$ Produit                    : Factor w/ 152 levels "ABT SUBV LOIRE",..: 5 5 5 5 126 126 126 126 126 126 ...
$ Code.Produit              : Factor w/ 152 levels "A1001","A1012",..: 5 5 5 5 1 1 1 1 1 1 ...
$ Sous.type.de.produit      : Factor w/ 21 levels "Abt Age d'Or",..: 3 3 3 3 12 12 12 12 12 12 ...
$ Code.Sous.type.de.produit  : Factor w/ 21 levels "AGOR","AOPA",..: 3 3 3 3 14 14 14 14 14 14 ...
$ Article                    : Factor w/ 2472 levels "ABT SUBV LOIRE",..: 117 110 112 113 333 334 335 336 337 380 ...
$ Code.Article              : Factor w/ 2529 levels "A1001-2014/01",..: 92 93 91 90 8 4 12 2 1 5 ...
$ Date.début.validité.article: Factor w/ 68 levels "01/01/2014 00:00:00",..: 4 5 3 1 9 5 17 3 1 6 ...
$ Date.fin.validité.article  : Factor w/ 76 levels "01/06/2014 00:00:00",..: 64 54 47 62 70 54 75 47 62 66 ...

ya-t-il une façon de supprimer les lignes donc les modalités ne se répettent que quelques fois ?

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par zezima Mar 5 Mai 2015 - 9:27

Ce ne sont pas les lignes uniques qu'il faut supprimer mais plutôt la variable.
"Code client" n'apporte aucune information à une analyse, c'est un ID, il n'y a pas de corrélation à faire à ce niveau là.

Concernant les autres variables, je trouve que tu as énormément de modalités.
Imagines que croises le code postal du client (2675 modalités) et le code article (2529 modalités), sur un graphique à deux dimensions, c'est compliqué de comprendre ce qu'il en retourne.

Fais attention, tu as des variables mal codées qui te rajoutent des modalités dans tes variables ("." dans la ville du client).

Personnellement je n'ai jamais utilisé autant de modalités pour une analyse multiple mais elle explique déjà pourquoi ton modèle n'explique qu'un pourcent.
Enlève déjà le code client de l'analyse et regarde ce que tu obtiens.
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Mar 5 Mai 2015 - 9:42

Oui, j'enlève toujours le code client quand je fais mes ACM, je viens de me concentrer sur 2 types de produit en ne gardant que les variables Code postal, Article et Date de naissance, j'ai séparer les code postaux en 3 catégories et je vais faire des classes d'ages, je vous tiens au courant.

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par Nik Mar 5 Mai 2015 - 9:59

ouch ! + de 500 000 variables...On comprends mieux tes résultats.

Je ne suis déjà pas sûr que l'ACM soit adaptée à la question. Pour le moment, tu fais une typologie des achats et tu tentes de voir quels sont les facteurs qui permettent de regrouper au mieux ces achats. Est-ce bien ça ce qu 'il te faut ? je n'en suis pas sûr...



Nik

Nombre de messages : 1606
Date d'inscription : 23/05/2008

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Mar 5 Mai 2015 - 12:53

Bon, du coup je crois que j'ai quelque chose de correct

Problème d'ACM (R) Vrai10

Qu'en pensez vous ?

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par zezima Mar 5 Mai 2015 - 14:44

C'est beaucoup mieux mais les Axes sont quand même à 9% et 4%... Il faudrait voir les autres axes et voir surtout combien de pourcents ils expliquent et voir si tu trouves les mêmes résultats sur les autres axes.
zezima
zezima

Nombre de messages : 939
Date d'inscription : 26/02/2013

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par droopy Mar 12 Mai 2015 - 8:12

Bonjour,

du fait du très grand nombre de variables en ACM de part la transformation de la variable en indicatrice certains auteurs pensent que le pourcentage d'inertie expliqué par les axes est sous-évalués. Des corrections ont été proposées pour remédier à ce problème. Par contre je ne remets pas la main dessus mais je suis sur qu'en cherchant un peu sur google on finit par retrouver des choses intéressantes.

droopy
droopy
droopy

Nombre de messages : 1156
Date d'inscription : 04/09/2009

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par jeremyJ Mar 12 Mai 2015 - 9:05

Bonjour,

Je pense qu'avant de se lancer dans ce type d'analyse tu devrais te renseigner sur son but, et son utilisation...
Et évidemment faire un gros pré-traitement de tes données, qui est indispensable, notamment une analyse uni varié pour recoder tes variables et avoir quelque chose d'exploitable par la suite.


jeremyJ

Nombre de messages : 78
Date d'inscription : 09/09/2014

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par louisreglain Mar 12 Mai 2015 - 9:19

Bonjour, j'ai pas mal bosser sur ma table depuis, j'ai recodé les variables pour avoir moins de possibilités et j'ai fusionné plusieurs tables pour avoir plus de variables. Je vous tiens au courant.

louisreglain

Nombre de messages : 10
Date d'inscription : 04/05/2015

Revenir en haut Aller en bas

Problème d'ACM (R) Empty Re: Problème d'ACM (R)

Message par Contenu sponsorisé


Contenu sponsorisé


Revenir en haut Aller en bas

Revenir en haut

- Sujets similaires

 
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum