Bonjour à tous,
Je suis nouveau sur R et cherche actuellement à mettre en place une régression PLS sous R. Pour le moment j'utilise plsr() de la librairie(pls).
Pour valider mon approche, j'ai choisi de travailler sur un jeu de données externe à R (exemple XLSTAT téléchargé sur le lien : https://help.xlstat.com/customer/fr/...stat?b_id=9283).
Mon objectif est de faire la prédiction de la variable expliquée Y "J1" en fonction de toutes les variables explicatives XX présentent dans ce jeu de données. J'ai centré puis réduit les variables XX, j'arrive à retrouver les valeurs de R2X et R2Y mais je n'arrive pas a reproduire le Q2cum (Table 1). J'ai essayé de recalculer manuellement le Q2 et je retrouve exactement les mêmes résultats que R, mais ceci ne concorde pas avec les résultats proposés par XLSTAT (Q2 R toujours > Q2cum proposé par XLSTAT). Je sais également que la formule du Q2cum diffère et prend en compte les produit des rapport (PRESS/SS) pour chacune des variables, mais je ne tombe pas sur les mêmes résultats. J'ai également testé la fonction plsreg1() de la librarie(plsdepot) qui me donne a peu de chose prêt la même chose que plsr().
Je bloque sur le calcul du Q2 et Q2 cum, pouvez-vous me donner un petit coup de pouce ?
Merci par avance,
Baptiste
Le code que j'utilise pour faire ma PLS et déterminer les critères de qualité de ma PLS est le suivant :
Fichier csv en entrée (dataset) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 # input m <- read.delim(File, sep=",",header=TRUE) rownames(m) <- m$Jus_orange m$Jus_orange <- NULL # PLS train ncomp = 4 train_pls <- plsr(m_pls$J1~.,data=m_pls,ncomp=ncomp,scale=TRUE) R2(train_pls) # Valeur de R2Y summary(train_pls) # Valeur de R2X # PLS CV CV_pls <- plsr(m_pls$J1~.,data=m_pls,ncomp=4,scale=TRUE,validation="LOO") # Cross-Validation Leave-One-Out MSEP(CV_pls) RMSEP(CV_pls) R2(CV_pls,estimate="all") # R2 cross-validated (Q2)[/I][/I] Table 1 : résultats proposés sur XLSTAT Comp1 Comp2 Comp3 Comp4 Q² cum 0,334 0,765 0,936 0,994 R²Y cum 0,615 0,949 0,997 1,000 R²X cum 0,574 0,763 0,851 0,939
Jus_orange,Glucose,Fructose,Saccharose,Pouvoir_sucrant,pH_brut,pH_apres_centrifuga,Titre,Acide_citrique,Vitamine_C,intensite_odeur,typicite_odeur,caractere_pulpeux,intensite_gout,caractere_acide,caractere_amer,caractere_sucre,J1
pampryl_amb,25.32,27.36,36.45,89.95,3.59,3.55,13.98,0.84,43.44,2.82,2.53,1.66,3.46,3.15,2.97,2.6,2
tropicana_amb,17.33,20,44.15,82.55,3.89,3.84,11.14,0.67,32.7,2.76,2.82,1.91,3.23,2.55,2.08,3.32,2
fruvita_fr,23.65,25.65,52.12,102.22,3.85,3.81,11.51,0.69,37,2.83,2.88,4,3.45,2.42,1.76,3.38,3
joker_amb,32.42,34.54,22.92,90.71,3.6,3.58,15.75,0.95,36.6,2.76,2.59,1.66,3.37,3.05,2.56,2.8,2
tropicana_fr,22.7,25.32,45.8,94.87,3.82,3.78,11.8,0.71,39.5,3.2,3.02,3.69,3.12,2.33,1.97,3.34,4
pampryl_fr,27.16,29.48,38.94,96.51,3.68,3.66,12.21,0.74,27,3.07,2.73,3.34,3.54,3.31,2.63,2.9,3
Partager