Bonjour,
Dans le cadre de mon stage, je réalise une étude sur la densité de nymphes en relation avec la fréquentation de faune sur des transects. Je dispose d’un petit jeu de données comportant 11 colonnes (10 avec des fréquentations de diverses espèces, et une avec le nombre de nymphes) et 18 lignes, correspondant aux observations sur les 18 transects. J’aimerai expliquer l’abondance de nymphes par les variables de fréquentations. J’ai donc une variable dépendante, le nombre de nymphes, et plusieurs variables explicatives. Ce sont des données de comptage (loi de Poisson). J’aimerai réaliser une PLS mais je rencontre quelques difficultés et je ne sais pas vraiment comment m’y prendre. J’ai essayé de suivre « Introduction to the pls Package » avec le manual PLS de Bjorn-Helge Mevik.
J’ai utilisé la library « pls ». Voici mon modèle : Mod_manual=plsr(Nombre.nymphes ~ Chevreuil + Blaireau + Martre + Lievre + Renard + Sanglier + Chat + Mulot + Oiseau + Chien + Genette, data = data_trans, scale=TRUE, validation="LOO") 1- Tout d’abord, je ne sais pas s’il est nécessaire d’utiliser une méthode de validation ou non (none, CV ou LOO). Je pense que la validation LOO est plus adaptée au vu de mon petit jeu de données mais je ne suis pas sûre ?
2- Dans l’exemple du package, ils ont divisé le data set en train et test data sets. Je ne sais pas comment faire pour savoir comment découper mon jeu de données. Est-ce subjectif ? Je parviens tout de même à faire une PLS sans découper le jeu de données mais je pense que cela est nécessaire pour aller plus loin dans l’analyse et pouvoir le comparer avec des prédictions. Je crois que cela permet de prédire la réponse avec de nouvelles observations. Peut-être que mon jeu de données est trop petit pour le faire, mais voici leur exemple :
In this section, we will do a PLSR on the gasoline data to illustrate the use of pls. The spectra are shown in Figure 1. We first divide the data set into train and test data sets:
gasTrain <- gasoline[1:50,] gasTest <- gasoline[51:60,]
Le plot RMSEP (Figure 2 : Cross validated RMSEP curves) permet de choisir le nombre de composantes, et donne une donnée de RMSEP en regardant l’axe des ordonnées avec le nombre de composantes choisies en abscisse. Cette valeur est comparée avec la valeur de RMSEP du test set : Because we know the true response values for these samples, we can calculate the test set RMSEP:
RMSEP(gas1,newdata =gasTest) For two components, we get 0.244, which is quite close to the cross-validated estimate above (0.297).
Ne sachant pas comment découper mon data set, je ne peux pas suivre les exemples qui sont données dans le manual et donc je ne parviens pas à obtenir cette valeur.
3- J’aimerai également illustrer ma PLS dans mon rapport, pour le moment j’ai réussi à avoir : plot(RMSEP(mod_manual), legendpos = "topright") plot(mod_manual, plottype = "scores", comps = 1:3) plot(mod_manual, "loadings", comps = 1:2, legendpos = "topleft", xlab = "nm") et un corrplot Y aurait-il d’autres figures plus pertinentes ?
4- Pour finir, j’aimerai dans un deuxième temps extraire les coordonnées des variables et les insérer dans mon jeu de donnée pour ensuite pouvoir faire un GLM, est-ce que ce sont les scores que je dois extraire ?
En vous remerciant, Bonne soirée, Tilicia