Régression PLS - Comparaison de logiciels - TANAGRA, SIMCA ...
Programmes de régression logistique PLS avec ou sans ...
Transcript of Programmes de régression logistique PLS avec ou sans ...
Institut National de la Recherche AgronomiqueCentre de Recherches de Jouy-en-JosasUnité de Mathématiques et Informatique Appliquées (MIA)
Programmes de régression logistique PLSavec ou sans sélection de variables
nom du programme : MIAJ_PLS_PLUS_V2009_1Langage : MATLAB
Amandine BLIN & Jean-Pierre Gauchi
Rapport technique : 2010- 2Février 2010
Table des matieres
1 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 Principe des methodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
3.1 Principe de la methode 1 : la regression logistique PLS . . . . . . . . . . 23.2 Principe de la methode 2 : la regression logistique sur composantes PLS 23.3 Le choix du nombre de composantes . . . . . . . . . . . . . . . . . . . . 33.4 Principe de la methode 3 : regression logistique PLS pas a pas de type
backward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33.5 Principe de la methode 4 : regression logistique PLS pas a pas de type
forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.6 Principe de la methode 5 : regression logistique penalisee PLS pas a pas
de type forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43.7 Principe de la methode 6 : regression kernel logistique penalisee PLS pas
a pas de type forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 Utilisation de l’interface de lancement . . . . . . . . . . . . . . . . . . . . . . . 45 Illustration des methodes a l’aide d’exemples . . . . . . . . . . . . . . . . . . . 11
5.1 Description des jeux de donnees . . . . . . . . . . . . . . . . . . . . . . 115.2 Illustration du pre-traitement par regressions logistiques univariees : uti-
lisation du jeu de donnees 7 . . . . . . . . . . . . . . . . . . . . . . . . . 145.3 Illustration du pre-traitement par regressions logistiques penalisees uni-
variees : utilisation des jeux 7 et 11 . . . . . . . . . . . . . . . . . . . . 195.4 Illustration de la regression PLS avec selection de variables de type for-
ward : utilisation du jeu 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 275.5 Illustration de la regression logistique PLS et de la regression logistique
sur composantes PLS sans selection de variables . . . . . . . . . . . . . 275.6 Illustration de la regression logistique PLS avec selection de variables de
type forward : utilisation du jeu de donnees 8 . . . . . . . . . . . . . . . 1045.7 Illustration de la regression kernel logistique penalisee PLS avec selection
de variables de type forward : utilisation du jeu de donnees 10 . . . . . 1056 Recapitulatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 106
6.1 Recapitulatifs des methodes utilisees . . . . . . . . . . . . . . . . . . . . 1066.2 Tableau recapitulatif des options programmees selon les methodes et
exemples traites . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108
Bibliographie 110
A Programmation de l’interface 111
B Programme de regression logistique penalisee d’apres le package logistf deR 193
C Programme de regression logistique PLS sans donnees manquantes et sansselection de variables 196
D Programme de regression logistique sur composantes PLS avec ou sansdonnees manquantes sans selection de variables 199
E Programme de regression logistique PLS sans donnees manquantes avecselection de variables de type BQ 200
F Programme de regression logistique PLS avec selection de type forward 203
G Programme de regression logistique penalisee PLS avec selection de typeforward 207
H Programme de regression kernel logistique penalisee PLS avec selection detype forward 211
I Programmes permettant de choisir le nombre de composantes significatives216
J Programmes afin d’etablir la qualite de prevision du modele utilisant laregression logistique usuelle de la variable reponse sur les variables explica-tives 223
K Programme afin d’etablir la qualite de la prevision du modele en utilisantla regression logistique de la variable reponse sur les composantes PLS 226
1 Introduction
La regression PLS combine iterativement analyse en composantes principales et regressionssimples dans l’objectif de relier les variables explicatives et les variables reponses ([2]).Dans le cas ou la variable reponse est binaire ou ordinale, il fut necessaire d’adapter les principesde la regression PLS a la regression logistique (regression logistique PLS). Cette technique aegalement ete developpee sous forme de regression logistique sur composantes PLS. Les sixmethodes developpees dans ce programme sont les suivantes :
– methode 1 : regression logistique PLS– methode 2 : regression logistique sur composantes PLS– methode 3 : regression logistique PLS pas a pas de type backward– methode 4 : regression logistique PLS pas a pas de type forward– methode 5 : regression logistique penalisee PLS pas a pas de type forward– methode 6 : regression kernel logistique penalisee PLS pas a pas de type forward
Dans le cas de donnees metagenomiques, afin de reduire la taille des donnees, trois pre-traitements ont ete programmes :
– pre-traitement 1 : regressions simples univariees– pre-traitement 2 : regressions logistiques univariees– pre-traitement 3 : regressions logistiques penalisees univariees ([4], [6], [14])
Ce rapport technique concerne la programmation de ces methodes effectuee a l’aide du logicielMatlab sous Linux, version 7.9.0.529 (R2009b). Ce travail a ete effectue au sein de l’uniteMIA de l’INRA de Jouy-en-Josas. Les procedures sont disponibles sur la machine bananier en/home/amblin/PLS PLUS.Pour les aspects theoriques de ces methodes, on renvoie le lecteur aux references donnees dansle texte de ce rapport.
2 Notations
On adoptera les notations suivantes :
N : Nombre d’observationsM : Nombre de variables explicativesP : Nombre de variables reponsesX : Matrice des donnees (N ×M) pour les variables independantes explicativesY : Matrice des donnees (N × P ) pour les variables dependantes reponsesE0 : Matrice des variables (Xj)j=1...M centrees-reduitesF0 : Matrice des variables (Yk)k=1...P centrees-reduitesA : Nombre de composantes PLS choisi a priori ou par un testth : Composante PLS a l’etape hPLS1 : regression PLS avec une seule variable reponsePLS2 : regression PLS dans le cas ou le nombre de variables reponses est superieur a 1DM : donnees manquantesLC : test de Lazraq-Cleroux([8])J : intervalle de confiance jacknifeB : intervalle de confiance bootstrap
1
A : intervalle de confiance par approximationK : matrice de GramK0 : matrice de Gram centree reduiteDans le cas ou la variable reponse comporte plus de deux modalites, on adoptera commeregression logistique un modele a rapport des chances proportionnelles. Dans le cas ou lavariable reponse contient plus de deux modalites non ordinales, l’exemple ne sera pas traite.Pour le principe de la regression logistique penalisee, on se reportera aux references [4], [6] et[14]. Le package logistf developpe sous R (disponible sur le sitehttp ://cran.r-project.org/web/packages/) a ete adapte en un programme matlab.
3 Principe des methodes
3.1 Principe de la methode 1 : la regression logistique PLS
La regression logistique PLS peut etre presentee comme une extension de l’algorithme PLS.Dans cette version, lorsqu’il existe des donnees manquantes, la variable explicative correspon-dante est supprimee. Les variables a k modalites sont divisees en k-1 variables indicatrices enprenant 1 comme modalite de reference ([7]). Dans le cas ou la variable reponse est composeede deux modalites, on effectuera une regression logistique PLS nominale. Dans le cas ou lavariable reponse comporte plus de deux modalites, on effectuera une regression logistique PLSordinale.Afin d’effectuer cet algorithme, on s’appuiera sur l’article de P. Bastien, V.E Vinzi et M. Te-nenhaus ([1]).Les principales etapes de la regression logistique PLS sont les suivantes :
1. Centrage et reduction du tableau X
2. Recherche des composantes orthogonales th (composantes logistiques PLS) .Le principe est le meme que celui de la regression PLS excepte le calcul du coefficient deregression. Dans le cas de la regression PLS, on effectue une regression lineaire simple dela variable reponse sur les variables explicatives E0j(j=1...M) et les composantes th pourchaque variable. Dans le cas de la regression logistique PLS, on effectue une regressionlogistique a la place d’une regression lineaire generalisee.
3. Regressions de E0 et Y sur t1 . On exprime la regression de Y en fonction des variablesexplicatives. On obtient les matrices de residus E1 et F1.
4. On reprend les etapes 2 et 3 en remplacant E0 par E1 et Y par Y1 jusqu’a convergencedes composantes t1...th. Le nombre de composantes significatives A est determine soit apriori, soit par un test (du type validation croisee).
3.2 Principe de la methode 2 : la regression logistique sur composantes PLS
Deux cas sont a distinguer([1]) :
1. La reponse presente deux modalites :
– On realise alors directement la regression PLS1 sur les variables explicatives. S’il existedes variables explicatives qualitatives, on transforme celles-ci en variables indicatricespour obtenir un tableau disjonctif complet.
2
– On realise une regression logistique binaire (nominale) sur les composantes PLS obte-nues.
2. La reponse presente trois modalites ou plus :– On transforme la reponse a k modalites en un tableau disjonctif complet (k variables
reponses indicatrices)– On realise la regression PLS2– On realise une regression logistique ordinale de la reponse sur les composantes PLS
obtenues.
3.3 Le choix du nombre de composantes
Dans le cas de la regression logistique PLS, on utilise le test du Q2 au sens du Khi2. Onutilise le meme type d’approche que le test du Q2 utilise dans la regression PLS1 ([2], [8])encalculant ici le Khi2 de Pearson ([11]). La regle de la decision est la suivante : si Q2χh estsuperieur ou egal a 0.00975, alors la composante PLS sera consideree significative.Dans le cas de la regression logistique sur composantes PLS, on utilise le test du Q2 utilise enregression logistique PLS2 ([12] page 138).Afin de selectionner le nombre de composantes, la technique de regression logistique PLS pasa pas ascendante a egalement ete adoptee ([1]) :
1. On part du modele complet.
2. A chaque etape, on enleve la variable la moins significative selon le test de Wald. Lesvaleurs typiques du niveau de confiance sont 90, 95 et 99 %. On calcule la composantelogistique PLS correspondante.
3. A l’etape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 com-posantes.
3.4 Principe de la methode 3 : regression logistique PLS pas a pas de type
backward
Lorsque le nombre de variables explicatives est grand, voire considerable (cas des donneesmetagenomiques), on cherche a selectionner les variables intervenant le plus dans l’explicationdes variables reponses.La methode 3 est une methode de selection de variables developpee dans l’article de J-P Gauchiet P. Chagnon (Methode BQ, [5]).Dans le cas de la regression logistique PLS, les etapes de cette methode sont les suivantes :
1. Calcul d’un premier modele de regression logistique PLS avec toutes les variables ex-plicatives (les A composantes th retenues sont validees par le test du Q2 au sens duKhi2).
2. Calcul du Q2χh cumule du modele (note Q2χcum) et stockage de la valeur de ce Q2χcum.
3. Elimination de la variable (logistique) presentant le plus petit coefficient (en valeur ab-solue) dans l’equation de ce modele.
4. Retour en 1 avec une variable de moins.
5. On repete ces etapes jusqu’a obtenir une seule variable explicative, puis on trace la courbedes Q2χcum en fonction des variables eliminees.
3
3.5 Principe de la methode 4 : regression logistique PLS pas a pas de type
forward
Les etapes de la regression logistique PLS pas a pas de type forward sont les suivantes :
1. Centrage et reduction des variables explicatives
2. On part du modele complet. On effectue la regression logistique de Y sur E0. On enlevela(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule lapremiere composante logistique PLS. Les valeurs typiques du niveau de confiance sont90, 95 et 99 %
3. A chaque etape, on effectue la regression logistique de Y sur E0 et les composanteslogistiques PLS calculees a chaque etape.
4. A l’etape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 com-posantes.
3.6 Principe de la methode 5 : regression logistique penalisee PLS pas a
pas de type forward
Les etapes de la regression logistique penalisee PLS pas a pas de type forward sont iden-tiques a la methode 4 en remplacant la regression logistique par la regression logistiquepenalisee ([4], [6] et [14]).
3.7 Principe de la methode 6 : regression kernel logistique penalisee PLS
pas a pas de type forward
Afin d’accelerer l’algorithme de la methode 5, on a developpe la methode de regressionkernel logistique penalisee PLS pas a pas de type forward. Pour l’algorithme kernel logistiquePLS, on renverra le lecteur a la reference [10]. Les etapes sont les suivantes :
1. Centrage et reduction de la matrice de Gram. Ici on a adopte le noyau K(x, xi) =exp(−‖x− xi‖22 /σ2) . On prendra ici σ = 1.
2. On part du modele complet. On effectue la regression logistique penalisee de Y sur K0.On enleve la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calculela premiere composante logistique PLS. Les valeurs typiques du niveau de confiance sont90, 95 et 99 % .
3. A chaque etape, on effectue la regression logistique penalisee de Y sur K0 et les compo-santes logistiques PLS calculees a chaque etape.
4. A l’etape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 com-posantes.
4 Utilisation de l’interface de lancement
L’interface de lancement s’obtient a partir de la fenetre de commande de Matlab en tapant pourcette version MIAJ PLS PLUS V2009 1. Dans ce programme, les procedures de regressionsPLS usuelles qui ont fait l’objet d’un rapport technique ([2]), sont egalement presentes. L’in-terface est modifiee selon la methode adoptee (voir 4.3, 4.4, 4.5, 4.6). D’autres changements
4
Figure 4.1 – Interface de lancement de pre-traitement par regressions simples univariees
interviennent lorqu’on effectue des methodes avec selection de variables. Apres avoir clique surle bouton LANCER, une nouvelle interface apparaıt (4.7).
(1) A la question � Choisissez une methode �, l’utilisateur dispose d’un menu deroulantlui permettant ainsi de choisir entre differentes methodes :
– pre-traitement : regressions simplesLe tableau des variables selectionnees concatene a la variable reponse est directementenregistre dans le fichier regressions simples.txt. De meme, les numeros des variablesselectionnees seront enregistres dans le fichier regressions simples num.txt.
– pre-traitement : regressions logistiques univarieesLe tableau des variables selectionnees concatene a la variable reponse est directementenregistre dans le fichier logistiques univariees.txt. De meme, les numeros des variablesselectionnees seront enregistres dans le fichier logistiques univariees num.txt.
– pre-traitement : regressions logistiques penalisees univarieesLe tableau des variables selectionnees concatene a la variable reponse est directementenregistre dans le fichier logistiques penalisees.txt. De meme, les numeros des variablesselectionnees seront enregistres dans le fichier logistiques penalisees num.txt.
– PLS1 sans selection de variables– PLS1 avec selection de variables : methode BQ
Les numeros des variables selectionnees seront directement enregistres dans le fichier
5
Figure 4.2 – Interface de lancement de pre-traitement par regressions logistiques univariees
Figure 4.3 – Interface de lancement de regression logistique PLS
PLS1BQ num.txtet les Q2cum dans le fichier Q2cum.mat. La courbe des Q2
cum en fonc-tion des variables eliminees est egalement automatiquement enregistree dans le fichierPLS1courbe au format .eps.
– PLS1 avec selection de variables : methode forwardLe tableau des variables selectionnees concatene a la variable reponse est directement en-
6
Figure 4.4 – Interface de lancement de regression PLS1 sans selection de variables
Figure 4.5 – Interface de lancement de regression PLS2 sans selection de variables
registre dans le fichier PLS1forward.txt. De meme, les numeros des variables selectionneesseront enregistres dans le fichier PLS1forward num.txt.
– PLS2 sans selection de variables– PLS2 avec selection de variables
Les numeros des variables selectionnees seront directement enregistres dans le fichierPLS2BQ num.txt et les Q2
cum dans le fichier Q2cum2.mat. La courbe des Q2cum en fonc-
tion des variables eliminees est egalement automatiquement enregistree dans le fichierPLS2courbe au format .jpg.
7
Figure 4.6 – Interface de lancement de regression logistique PLS
Figure 4.7 – Interface de lancement de pre-traitement par regressions simples univariees
– regression logistique sur composantes PLS sans selection de variables– regression logistique PLS sans selection de variables– regression logistique PLS avec selection de variables : methode BQ
Les numeros des variables selectionnees seront directement enregistres dans le fichierlogistiquePLSBQ num.txt et les Q2
cum dans le fichier Q2cumlog.mat. La courbe desQ2
cum en fonction des variables eliminees est egalement automatiquement enregistreedans le fichier logPLScourbe au format .jpg.
– regression logistique PLS avec selection de variables : methode forwardLe tableau des variables selectionnees est directement enregistre dans le fichier logisti-
8
quePLSforward.txt. De meme, les numeros des variables selectionnees seront enregistresdans le fichier logistiquePLSforward num.txt.
– regression logistique penalisee PLS avec selection de variables : methode for-wardLe tableau des variables selectionnees est directement enregistre dans le fichier logistique-
penPLSforward.txt. De meme, les numeros des variables selectionnees seront enregistresdans le fichier logistiquepenPLSforward num.txt.
– regression kernel logistique penalisee PLS avec selection de variables : methodeforwardLe tableau des variables selectionnees est directement enregistre dans le fichier kernel-
logispenPLSforward.txt. De meme, les numeros des variables selectionnees seront enre-gistres dans le fichier kernellogispenPLSforward num.txt.
(2) On inscrit le nom du fichier de donnees que l’on veut importer. Le fichier doit etre auformat excel (extension .xls) ou texte standard (.txt). Dans le cas de fichiers .txt, on indiquele nombre de lignes et de colonnes. Le tableau des variables explicatives X doit etre place agauche du tableau des variables reponses Y. Lorsqu’il existe des donnees manquantes dans lefichier, celles-ci doivent etre codees par un espace dans un fichier au format excel et par NaNdans un fichier au format texte standard.(3) On peut faire defiler le nom des fichiers presents dans le repertoire dans lequel se trouvel’utilisateur.(4) Si l’utilisateur souhaite transposer le tableau de donnees, il coche la case correspondante.(5) Niveau de confiance en pourcentage des differents tests dans les cas de regressions simples,de regressions logistiques univariees, de regressions logistiques penalisees univariees, de regressionsPLS avec selection de type forward, de regressions logistiques PLS avec selection de type for-ward, de regressions logistiques penalisees PLS avec selection de type forward et de regressionskernel logistiques penalisees PLS avec selection de type forward.(6) Si l’utilisateur souhaite afficher les variables selectionnees, il coche la case.(7) Le bouton QUITTER permet de quitter l’application.(8) Le bouton LANCER permet de lancer le calcul.(9) Dans les cas de regressions logistiques univariees, de regressions logistiques penalisees uni-variees, de regressions logistiques PLS, de regressions logistiques sur composantes PLS, deregressions logistiques PLS avec selection BQ et forward, de regressions logistiques penaliseesPLS avec selection forward et de regressions kernel logistiques penalisees PLS avec selectionforward, l’utilisateur indique le nombre de modalites de la variable reponse. Dans le cas deregressions logistiques penalisees, de regressions logistiques penalisees PLS avec selection for-ward et de regressions kernel logistiques penalisees PLS avec selection forward, le nombre demodalites est fixe seulement a deux modalites. Par defaut, le nombre est fixe a 2 dans tousles cas de regressions logistiques (penalisees ou pas). Dans le cas ou l’utilisateur indique 1, unmessage d’erreur est envoye.(10) L’utilisateur indique s’il existe des variables explicatives qualitatives.(11) L’utilisateur indique le numero de colonne de chaque variable qualitative. Chaque colonnesera separee par un point-virgule. Dans le cas ou on indique une plage de colonnes, on utiliserales deux points.(12) L’utilisateur indique le nombre de variables reponses dans de cas de regressions PLS.(13) S’il existe des donnees manquantes dans le tableau de donnees, on coche la case corres-
9
pondante.(14) Si on souhaite effectuer un test du Q2 afin d’obtenir le nombre de composantes PLSsignificatives, on coche la case correspondante. L’option n’est disponible que dans les cas deregressions PLS(I et II) sans selection de variables et de regressions logistiques sur composantesPLS.(15) Si on souhaite effectuer un test de LC afin d’obtenir le nombre de composantes PLSsignificatives, on coche la case correspondante. L’option n’est disponible que dans les cas deregressions PLS I sans selection de variables.(16) Si on souhaite effectuer un test forward afin d’obtenir le nombre de composantes PLSsignificatives, on coche la case correspondante. L’option n’est disponible que dans les cas deregressions logistiques PLS.(17) L’utilisateur donne le risque dans le calcul du test (LC et forward). Les valeurs typiquessont 90, 95 et 99 %.(18) Si on souhaite effectuer un test du R2 afin d’obtenir le nombre de composantes PLSsignificatives, on coche la case correspondante. L’option n’est disposible que dans les cas deregressions PLS I(19) L’utilisateur donne le nombre limite de composantes PLS qu’il souhaite conserver. Pardefaut, ce nombre est fixe a 5 ou au nombre de variables explicatives si celui-ci est inferieur a5. Dans le cas ou on saisit un nombre limite superieur au nombre de variables explicatives, unmessage d’erreur est envoye.(20) Si l’utilisateur souhaite obtenir des intervalles de confiance, il coche la case correspon-dante.(21) On a le choix entre trois techniques pour obtenir des intervalles de confiance : l’approxi-mation (dans le cas de la regression PLS1 sans donnees manquantes exclusivement), le jacknifeou le bootstrap. Dans le cas de la regression logistique PLS, aucun intervalle de confiance n’estcalcule.(22) Dans le cas ou l’utilisateur souhaite obtenir un intervalle de confiance, il donne un niveaude confiance. Les valeurs typiques sont 90, 95 et 99 %. Si les valeurs ne sont comprises entre80 et 99 %, un message d’erreur est envoye.(23) Si l’utilisateur souhaite effectuer une prediction sur un jeu-test, il coche la case corres-pondante.(24) Pour le jeu-test eventuel, soit celui-ci existe deja dans un fichier : il suffit alors de donnerun nom avec une extension .txt ou .xls (en respectant X a gauche de Y, le nombre de variablesreponses P et explicatives M), soit l’interface propose d’en construire un. Pour construire cejeu-test, on donne le pourcentage de lignes a tirer aleatoirement parmi les N lignes des tableauxde depart. Notons egalement que le calcul sur le jeu-test n’est effectue que dans le cas ou iln’y a pas de donnees manquantes dans celui-ci.(25) Dans le cas ou on choisit d’effectuer un jeu-test avec tirage aleatoire, on choisit le tauxdes donnees du jeu que l’on veut conserver. Ce taux sera strictement superieur a 0 et inferieura 80 %. Dans le cas contraire, un message d’erreur sera envoye. Dans le cas ou on utilise unjeu test existant dans le fichier, la case � fichier-test �apparaıt. On saisit le nom du fichier-testsans oublier l’extension .txt ou .xls.(26) On peut faire defiler le nom des fichiers presents dans le repertoire dans lequel se trouvel’utilisateur.(27) Si l’utilisateur souhaite une sauvegarde, il coche la case correspondante.
10
(28) Il faut saisir le nom du fichier sans extension. Ce fichier sera automatiquement enregistredans le repertoire courant en format .mat.(29) Nombre de lignes du tableau de donnees (observations)(30) Nombre de colonnes du tableau de donnees (variables)(31) Dans le cas de la regression logistique PLS, si on souhaite effectuer un test du Q2 au sensdu χ2 afin d’obtenir le nombre de composantes PLS significatives, on coche la case correspon-dante. L’option n’est disposible que dans le cas de la regression logistique PLS.(32) Dans le cas de methodes avec selection de variables, au vu du graphique obtenu apres avoirclique sur le bouton LANCER, on choisit le nombre de variables que l’on souhaite conserver(4.3).
5 Illustration des methodes a l’aide d’exemples
5.1 Description des jeux de donnees
donnees cornell.xls
On trouve dans le livre de Michel Tenenhaus ([10] page 78) l’exemple suivant tire de Cornell(1990). On cherche a connaıtre l’influence des proportions de sept composants sur l’indiced’octane moteur de douze differents melanges d’essences. Les variables sont les suivantes :
– y : indice d’octane moteur– x1 : distillation directe (entre 0 et 0.21)– x2 : reformat (entre 0 et 0.62)– x3 : naphta de craquage thermique (entre 0 et 0.12)– x4 : naphta de craquage catalytique (entre 0 et 0.62)– x5 : polymere (entre 0 et 0.12)– x6 : alkylat (entre 0 et 0.74)– x7 : essence naturelle (entre 0 et 0.08)Les donnees ont ete regroupees dans le tableau 4.1.
Table 4.1 – Donnees Cornell
xj x1 x2 x3 x4 x5 x6 x7 yn°1 0 0,23 0 0 0 0,74 0,03 98,7n°2 0 0,1 0 0 0,12 0,74 0,04 97,8n°3 0 0 0 0,1 0,12 0,74 0, 04 96,6n°4 0 0,49 0 0 0,12 0,37 0,02 92n°5 0 0 0 0,62 0,12 0,18 0,08 86,6n°6 0 0,62 0 0 0 0,37 0,01 91,2n°7 0,17 0,27 0,1 0,38 0 0 0,08 81,9n°8 0,17 0,19 0,1 0,38 0,02 0,06 0,08 83,1n°9 0,17 0,21 0,1 0,38 0 0,06 0,08 82,4n°10 0,17 0,15 0,1 0,38 0,02 0,1 0,08 83,2n°11 0,21 0,36 0,12 0,25 0 0 0,06 81,4n°12 0 0 0 0,55 0 0,37 0,08 88,1
11
Notons que la somme de chaque ligne des xj est egale a 1.
CHD.txt
Ce jeu de donnees est une etude sur la presence (modalite 1) ou non (modalite 0) d’unemaladie cardiaque coronaire en fonction de l’age, la seule variable explicative. ([7] page 3). 100individus ont ete selectionnes dans cette etude.
dvirt.txt
Ce jeu de donnees est un jeu de donnees virtuelles constitue de variables explicativesorthogonales et ne prenant que deux modalites 1 ou -1. Quant a la variable reponse, elle estcomposee de deux modalites (0 ou 1) avec quelques mal classes. On dispose de 64 observations.
risque2.xls
Ce jeu de donnees est une etude ([7] pages 247 a 252) qui consiste a identifier les facteursde risque associes a la naissance d’un bebe de faible poids (moins de 2500 grammes). 189femmmes ont ete selectionnees dont 59 qui ont eu un bebe de faible poids et 130 qui ont euun bebe de poids normal. Les facteurs de risque (variables explicatives) sont les suivants :
– l’age– le poids lors des dernieres regles (LWT)– la race de l’individu (variable qualitative composee de trois modalites)– fumeur ou non fumeur– nombre de visites chez le medecin lors du premier trimestre de grossesse (FTV)
La variable reponse (bebe de faible poids ou non) est composee de deux modalites.
vins bordeaux.xls
Ce jeu de donnees est une etude consistant a mesurer l’influence de differents facteurs surla qualite du vin([11]). Les donnees ont ete mesurees sur 34 annees (de 1924 a 1957) et ont eteregroupees dans le tableau 4.2. Les variables explicatives sont les suivantes :
– Temperature : Somme des temperatures moyennes journalieres (en degres)– Soleil : Duree d’insolation (en heures)– Chaleur : Nombre de jours de grande chaleur– Pluie : Hauteur des pluies (en mm)
La variable reponse - la qualite du vin - est composee de trois modalites (1 : bonne, 2 : moyenne,3 : mediocre).
vins bordeauxDM.xls
Ce jeu de donnees reprend les donnees precedentes ([11])en enlevant la valeur de la variableTemperature pour l’annee 1924.
microobesFULLt0t6.xls
Il comporte 11114 lignes et 78 colonnes a transposer. Ce sont des sequences de genescomptees sur des malades obeses a t=0, puis, a t=6 semaines. On cherche les sequences qui
12
Table 4.2 – Donnees vins de Bordeaux
Temperature Soleil Chaleur Pluie Qualite du vin3064 1201 10 361 23000 1053 11 338 33155 1133 19 393 23085 970 4 467 33245 1258 36 294 13267 1386 35 225 13080 966 13 417 32974 1189 12 488 33038 1103 14 677 33318 1310 29 427 23317 1362 25 326 13182 1171 28 326 32998 1102 9 349 33221 1424 21 382 13019 1230 16 275 23022 1285 9 303 23094 1329 11 339 23009 1210 15 536 33227 1331 21 414 23308 1366 24 282 13212 1289 17 302 23361 1444 25 253 13061 1175 12 261 23478 1317 42 259 13126 1248 11 315 23458 1508 43 286 13252 1361 26 346 23052 1186 14 443 33270 1399 24 306 13198 1259 20 367 12904 1164 6 311 33247 1277 19 375 13083 1195 5 441 33043 1208 14 371 3
signent la transition t0-t6.
microobesFULLt0t6.txt
Ce fichier a ete obtenu apres pre-traitement par regressions logistiques univariees (seuil de10%) du fichier microobesFULLt0t6.xls. 448 variables ont ete selectionnees.
13
microobesFULLt0t6pen.txt
Ce fichier a ete obtenu apres pre-traitement par regressions logistiques penalisees univariees(seuil de 10%) du fichier microobesFULLt0t6.xls. 349 variables ont ete selectionnees.
microobesFULLt0t6pen2.txt
Ce fichier a ete obtenu apres pre-traitement par regressions logistiques penalisees univariees(seuil de 5%) du fichier microobesFULLt0t6.xls. 113 variables ont ete selectionnees.
crohnbrutSC.txt
Il comporte 2008 lignes (2007 volumes de proteines obtenus par electrophorese 2D)et 24colonnes (24 malades /24 personnes saines) a transposer.
Figure 4.8 – Tableau recapitulatif des jeux de donnees utilises
5.2 Illustration du pre-traitement par regressions logistiques univariees :
utilisation du jeu de donnees 7
Le listing de sortie est le suivant :
14
*****************************************************************************************
*****************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : PRE−TRAITEMENT A L'AIDE DE REGRESSIONS
LOGISTIQUES UNIVARIEES
Nom du fichier traite
microobesFULLt0t6.xls
On a transpose le tableau de donnees
Niveau de confiance (en pourcentage) :
90
Nombre de variables explicatives
11113
Nombre de variables reponses
1
Nombre d'observations
78
Nombre de modalites de la variable reponse
2
Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) :
Columns 1 through 11
10 63 67 110 112 122 129
151 153 181 220
Columns 12 through 22
229 259 263 278 291 316 343
344 345 383 384
Columns 23 through 33
401 430 485 493 494 500 508
516 566 593 622
Columns 34 through 44
629 632 641 650 651 665 676
696 713 720 729
Columns 45 through 55
743 752 797 804 827 851 858
862 863 872 880
Columns 56 through 66
884 915 957 958 982 1063 1069
1096 1101 1166 1168
Columns 67 through 77
15
1190 1261 1285 1344 1346 1379 1400
1404 1418 1437 1441
Columns 78 through 88
1465 1476 1492 1555 1563 1614 1619
1629 1649 1655 1661
Columns 89 through 99
1663 1688 1716 1720 1733 1777 1791
1812 1844 1846 1895
Columns 100 through 110
1949 1968 1986 2007 2016 2041 2048
2109 2122 2174 2189
Columns 111 through 121
2192 2199 2204 2205 2236 2238 2245
2249 2314 2372 2521
Columns 122 through 132
2580 2603 2637 2669 2699 2715 2718
2756 2760 2828 2855
Columns 133 through 143
2865 2881 2888 2894 2930 3022 3032
3083 3153 3254 3274
Columns 144 through 154
3281 3315 3332 3333 3339 3359 3465
3484 3541 3552 3568
Columns 155 through 165
3578 3589 3616 3625 3682 3724 3751
3753 3777 3788 3802
Columns 166 through 176
3878 3976 4058 4063 4133 4182 4226
4248 4282 4285 4286
Columns 177 through 187
4310 4320 4336 4364 4374 4408 4425
4443 4491 4497 4512
Columns 188 through 198
16
4521 4603 4651 4662 4667 4673 4687
4716 4719 4722 4724
Columns 199 through 209
4754 4775 4805 4818 4845 4912 4915
4917 4919 4926 4932
Columns 210 through 220
4933 4937 4965 5060 5065 5120 5143
5170 5182 5307 5316
Columns 221 through 231
5405 5409 5497 5518 5527 5538 5547
5557 5558 5561 5594
Columns 232 through 242
5623 5630 5721 5748 5775 5790 5824
5832 5855 5858 5935
Columns 243 through 253
5947 5950 5983 5995 5998 6025 6087
6098 6105 6109 6158
Columns 254 through 264
6190 6203 6253 6293 6296 6298 6300
6303 6310 6323 6350
Columns 265 through 275
6361 6366 6384 6394 6417 6422 6474
6482 6522 6667 6698
Columns 276 through 286
6726 6735 6740 6745 6750 6754 6756
6758 6775 6805 6806
Columns 287 through 297
6808 6839 6890 6891 6903 6918 6954
7002 7006 7123 7151
Columns 298 through 308
7153 7158 7168 7169 7326 7333 7384
7399 7405 7416 7426
Columns 309 through 319
17
7428 7521 7557 7578 7583 7584 7644
7666 7685 7686 7702
Columns 320 through 330
7715 7718 7741 7817 7835 7926 7928
7960 7989 8047 8049
Columns 331 through 341
8058 8121 8144 8204 8212 8241 8255
8277 8286 8302 8323
Columns 342 through 352
8344 8354 8430 8435 8453 8492 8558
8567 8568 8621 8630
Columns 353 through 363
8634 8640 8701 8704 8706 8746 8776
8789 8872 8938 8980
Columns 364 through 374
9075 9085 9097 9131 9133 9165 9205
9215 9235 9260 9272
Columns 375 through 385
9279 9295 9302 9314 9318 9321 9339
9351 9367 9388 9397
Columns 386 through 396
9416 9439 9451 9505 9530 9536 9584
9624 9639 9643 9647
Columns 397 through 407
9657 9670 9709 9726 9729 9734 9760
9791 9822 9854 9887
Columns 408 through 418
9944 9963 9968 9988 9990 10103 10133
10184 10208 10209 10229
Columns 419 through 429
10232 10241 10250 10263 10299 10357 10418
10439 10490 10492 10554
Columns 430 through 440
18
10567 10624 10636 10650 10653 10700 10725
10734 10735 10763 10776
Columns 441 through 448
10794 10862 10944 10961 11001 11069 11088
11102
Nombre de variables selectionnees
448
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Temps ecoule en secondes
13.3208
*****************************************************************************************
*****************************************************************************************
5.3 Illustration du pre-traitement par regressions logistiques penalisees uni-
variees : utilisation des jeux 7 et 11
Utilisation du jeu 7
*****************************************************************************************
*****************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : PRE−TRAITEMENT A L'AIDE DE REGRESSIONS
LOGISTIQUES PENALISEES UNIVARIEES
Nom du fichier traite
microobesFULLt0t6.xls
On a transpose le tableau de donnees
Niveau de confiance (en pourcentage) :
90
Nombre de variables explicatives
11113
Nombre de variables reponses
1
Nombre d'observations
78
Nombre de modalites de la variable reponse
2
Il n'existe pas de variables explicatives qualitatives
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Resultats des regressions logistiques penalisees univariees
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont)
Columns 1 through 14
19
0.5670 0.4866 0.4314 0.4982 0.4981 −0.4932 0.4769 0.7665
0.4682 −0.4159 0.3998 −0.4282 −0.4334 0.4601
Columns 15 through 28
0.4943 −0.5350 −0.4500 −0.4113 0.3962 −0.5173 0.5205 0.4055
0.5151 −0.4465 −0.3989 0.4255 0.4059 0.4640
Columns 29 through 42
−0.4944 0.4618 0.6324 0.4999 0.5796 0.4455 −0.4529 0.4206
0.7665 −0.4304 −0.6027 0.4217 −0.4093 0.4930
Columns 43 through 56
0.4580 0.4053 −0.4196 0.4916 0.4324 −0.4484 −0.4367 0.5324
0.5816 0.4137 0.4411 0.4131 −0.4010 −0.5430
Columns 57 through 70
0.4765 0.4406 0.5131 −0.4589 1.0087 0.7876 0.4074 0.4053
0.3973 0.4429 0.5354 −0.4169 0.4048 0.4209
Columns 71 through 84
0.4360 0.6838 −0.3989 0.6161 0.5645 0.5388 −0.5055 0.4163
0.5236 0.6522 −0.5616 0.4210 0.4119 0.4234
Columns 85 through 98
0.5209 0.4655 0.4931 0.4354 −0.4496 0.6431 −0.5263 0.4101
−0.8691 0.4476 0.4389 0.6612 −0.5305 0.4098
Columns 99 through 112
−0.5127 0.7974 0.4084 0.7804 0.5346 0.3953 −0.4565 −0.4667−0.5567 −0.4474 0.7548 −0.4113 0.5766 0.4978
Columns 113 through 126
0.5365 0.4464 −0.5909 −0.4209 0.6099 0.4950 1.1652 −0.46610.5790 0.4629 0.4060 0.5054 0.4986 1.2805
Columns 127 through 140
0.4820 0.5397 0.5794 0.4644 0.3929 0.4667 0.5381 0.7347
0.4967 −0.4155 −0.4363 −0.4584 0.7597 0.7650
Columns 141 through 154
−0.4059 −0.5191 −0.3963 0.4365 0.5945 −0.4111 0.6937 0.4273
0.4533 0.7395 −0.4143 0.4374 0.4512 −0.4893
Columns 155 through 168
20
0.5386 −0.4168 −0.4014 −0.4384 0.4853 0.4779 0.4576 0.4231
0.5155 −0.4211 0.4974 −0.4301 0.4879 0.6706
Columns 169 through 182
0.4539 0.8311 −0.4920 0.5719 0.6194 −0.4950 0.5311 −0.41210.6173 −0.4375 0.4960 0.5219 0.7557 0.5218
Columns 183 through 196
0.6592 −0.5880 0.4565 0.4681 0.7727 0.5765 0.6974 −0.40730.4896 0.4234 0.7173 −0.4221 −0.3999 −0.4142
Columns 197 through 210
−0.4293 −0.4524 −0.4166 0.7370 0.5328 −0.4291 0.6754 0.6241
0.4526 0.4583 1.1726 0.5565 0.4217 0.5119
Columns 211 through 224
0.4893 0.4032 0.4418 0.4739 0.6249 0.5700 0.5153 0.5437
0.4202 0.4458 0.5770 −0.4105 0.5756 0.6435
Columns 225 through 238
0.8610 0.4610 −0.4683 −0.4370 0.4044 0.4169 0.4633 −0.46500.7087 0.4062 0.7896 0.4885 −0.5551 0.4397
Columns 239 through 252
0.5378 0.5596 0.7162 0.6887 0.5143 1.3506 0.6584 0.5471
−0.4790 −0.5638 −0.4155 −0.4749 0.6943 0.4716
Columns 253 through 266
0.4201 0.4098 −0.4250 0.6415 0.4140 0.7131 0.6742 0.5917
0.5636 0.4538 0.6906 0.5390 0.5646 0.4348
Columns 267 through 280
−0.4264 0.5960 0.7472 0.5099 0.7207 0.4093 0.4615 0.5019
0.6043 0.4040 0.4800 −0.4216 0.5765 0.4228
Columns 281 through 294
0.6364 −0.4832 0.4465 0.4451 0.7080 −0.4614 −0.4600 −0.4679−0.4818 −0.5156 −0.4294 −0.4355 −0.4474 −0.4520
Columns 295 through 308
−0.4135 1.0191 1.0891 −0.4528 −0.4236 0.6780 −0.4301 0.7395
−0.4690 0.5442 −0.5589 0.6807 −0.4365 −0.5428
Columns 309 through 322
21
0.4944 0.4619 0.6259 −0.4465 −0.4589 −0.4515 0.5602 −0.40570.4725 0.4782 0.5750 0.6031 0.4564 0.4372
Columns 323 through 336
0.6071 1.2531 −0.4534 −0.5435 0.5052 0.5227 0.4414 0.7323
0.4058 −0.4080 0.7126 −1.0740 −0.4245 −0.4193
Columns 337 through 348
0.5685 0.7759 −0.4076 −0.4294 0.7502 0.5086 0.7291 0.8629
0.5813 0.4665 0.7211 0.7103
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) :
Columns 1 through 12
10 67 110 112 129 151 153
181 220 229 259 263
Columns 13 through 24
278 291 316 343 383 384 401
430 493 494 500 508
Columns 25 through 36
516 593 632 641 651 665 676
713 720 752 797 804
Columns 37 through 48
851 858 862 863 872 884 915
957 982 1063 1069 1096
Columns 49 through 60
1101 1166 1168 1190 1261 1285 1346
1379 1400 1404 1418 1437
Columns 61 through 72
1465 1476 1492 1563 1619 1629 1655
1661 1688 1716 1777 1791
Columns 73 through 84
1812 1895 1949 1968 1986 2007 2048
2109 2122 2189 2192 2199
Columns 85 through 96
2204 2205 2238 2245 2249 2314 2372
2580 2603 2637 2669 2699
22
Columns 97 through 108
2715 2718 2756 2828 2881 2888 2894
3022 3083 3153 3254 3274
Columns 109 through 120
3281 3315 3332 3333 3359 3552 3568
3589 3616 3625 3682 3724
Columns 121 through 132
3777 3788 3802 3878 3976 3978 4058
4063 4133 4248 4285 4286
Columns 133 through 144
4320 4336 4374 4408 4425 4443 4491
4497 4521 4603 4651 4662
Columns 145 through 156
4667 4673 4687 4716 4719 4724 4754
4775 4805 4818 4912 4915
Columns 157 through 168
4917 4919 4926 4932 4933 4937 4965
5065 5143 5170 5182 5307
Columns 169 through 180
5316 5405 5409 5497 5518 5527 5538
5547 5557 5558 5594 5775
Columns 181 through 192
5790 5824 5855 5858 5947 5950 5983
5995 6025 6087 6105 6109
Columns 193 through 204
6253 6293 6296 6300 6303 6310 6323
6350 6361 6366 6384 6394
Columns 205 through 216
6417 6422 6474 6482 6522 6667 6698
6735 6740 6745 6750 6754
Columns 217 through 228
6756 6758 6775 6805 6806 6839 6890
6891 6903 6918 6954 7002
23
Columns 229 through 240
7006 7123 7151 7153 7158 7168 7169
7326 7333 7384 7399 7416
Columns 241 through 252
7426 7428 7521 7557 7578 7584 7644
7666 7685 7686 7715 7741
Columns 253 through 264
7928 7960 7989 8047 8121 8144 8204
8255 8277 8286 8323 8344
Columns 265 through 276
8435 8492 8558 8567 8568 8621 8630
8634 8640 8701 8706 8746
Columns 277 through 288
8776 8789 8938 9097 9144 9165 9205
9215 9260 9295 9302 9314
Columns 289 through 300
9318 9321 9339 9351 9367 9388 9397
9416 9451 9505 9530 9536
Columns 301 through 312
9584 9624 9639 9643 9647 9657 9670
9709 9726 9729 9734 9760
Columns 313 through 324
9791 9822 9854 9887 9963 9990 10133
10184 10209 10229 10241 10299
Columns 325 through 336
10357 10418 10439 10490 10492 10554 10567
10624 10636 10638 10650 10653
Columns 337 through 348
10700 10725 10763 10776 10794 10862 10944
10961 11001 11069 11088 11102
Nombre de variables selectionnees
348
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Temps ecoule en secondes
24
383.8629
*************************************************************************************
*************************************************************************************
Utilisation du jeu 11
*****************************************************************************************
*****************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : PRE−TRAITEMENT A L'AIDE DE REGRESSIONS
LOGISTIQUES PENALISEES UNIVARIEES
Nom du fichier traite
crohnbrutSC.txt
On n'a pas transpose le tableau de donnees
Niveau de confiance (en pourcentage) :
90
Nombre de variables explicatives
2007
Nombre de variables reponses
1
Nombre d'observations
24
Nombre de modalites de la variable reponse
2
Il n'existe pas de variables explicatives qualitatives
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Resultats des regressions logistiques penalisees univariees
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont)
1.0e−05 *
Columns 1 through 14
−0.0168 −0.0423 −0.0079 −0.0249 −0.0776 0.0191 −0.0291 0.0074
−0.0623 −0.0885 −0.0597 0.0240 −0.0514 −0.1204
Columns 15 through 28
−0.0342 −0.0149 −0.0055 −0.1055 −0.0381 −0.0497 −0.0935 −0.07920.0098 −0.0520 −0.0469 0.0141 0.0150 −0.1295
Columns 29 through 42
−0.0573 −0.0650 0.0062 −0.1021 0.0213 −0.0281 −0.0541 −0.0688−0.4063 −0.0083 −0.0949 −0.0193 0.0840 −0.0447
Columns 43 through 56
25
0.0559 0.0070 0.0124 −0.0422 0.0342 −0.1730 0.1030 −0.05470.0780 0.0083 −0.1188 −0.3922 0.0332 −0.1102
Columns 57 through 70
0.1084 −0.0251 −0.0172 0.0444 0.0459 −0.0598 0.0219 0.0036
0.0158 0.0224 0.0785 0.0556 −0.0112 0.0630
Columns 71 through 84
0.0081 0.0382 0.0225 0.0170 0.0596 0.0264 0.0067 0.0114
0.0121 −0.0198 0.1331 0.0242 0.0184 0.0965
Columns 85 through 98
0.0412 0.0809 0.0400 −0.0525 0.0564 0.0181 0.0220 0.0284
0.0106 0.0300 0.0026 0.0176 0.0081 0.1981
Columns 99 through 102
0.0044 0.0987 0.0027 −0.0571
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) :
Columns 1 through 24
1 2 4 7 8 9 10 12 14 15 20 21 25 26
29 31 32 34 35 37 40 42 45 46
Columns 25 through 48
48 49 50 51 52 53 54 55 56 57 58 59 61 63
64 67 68 72 76 78 79 80 82 83
Columns 49 through 72
85 87 91 92 93 94 99 100 101 103 104 105 108 114
117 118 119 121 122 126 127 128 130 131
Columns 73 through 96
133 135 138 142 145 146 150 151 154 158 159 164 167 171
174 176 179 182 184 187 191 194 195 204
Columns 97 through 102
222 232 241 263 532 533
Nombre de variables selectionnees
102
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Temps ecoule en secondes
1.1032
26
*****************************************************************************************
*****************************************************************************************
5.4 Illustration de la regression PLS avec selection de variables de type
forward : utilisation du jeu 1
******************************************************************************************
******************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION PLS1 AVEC SELECTION DE
VARIABLES : METHODE FORWARD
Nom du fichier traite
donnees cornell.xls
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
7
Nombre de variables reponses
1
Nombre d'observations
12
Niveau de confiance (en pourcentage)
95
Il n'existe pas de donnees manquantes
******************************************************************************************Le nombre de composantes significatives est :
3
Numeros des variables selectionnees
1 2 3 4 6
Nombre de variables selectionnees
5
******************************************************************************************Temps ecoule (en secondes)
0.1491
******************************************************************************************
******************************************************************************************
5.5 Illustration de la regression logistique PLS et de la regression logistique
sur composantes PLS sans selection de variables
Illustration de la regression logistique PLS : utilisation des jeux 2,3,4,5 et 6
Utilisation du jeu 2
***********************************************************************
27
***********************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS
Nom du fichier traite
CHD.txt
Nombre de variables explicatives
1
Nombre de modalites de la variable reponse
2
Nombre d'observations
100
Il n'existe pas de donnees manquantes
On n'a pas transpose le tableau de donnees
Il n'existe pas de variables explicatives qualitatives
***********************************************************************PARTIE I : Calcul des composantes
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−TT : composantes PLS
2.0800
1.8240
1.7387
1.6534
1.6534
1.5681
1.5681
1.3975
1.3975
1.3121
1.2268
1.2268
1.2268
1.2268
1.2268
1.2268
1.0562
1.0562
0.9709
0.9709
0.8856
0.8856
0.8856
0.8856
0.8856
0.8003
0.8003
0.7149
0.7149
0.7149
0.6296
0.6296
0.6296
0.5443
28
0.5443
0.4590
0.4590
0.3737
0.3737
0.2884
0.2884
0.2030
0.2030
0.2030
0.2030
0.1177
0.1177
0.1177
0.0324
0.0324
0.0324
0.0324
−0.0529−0.0529−0.1382−0.1382−0.2235−0.2235−0.2235−0.3088−0.3088−0.3088−0.3942−0.3942−0.3942−0.4795−0.4795−0.5648−0.6501−0.6501−0.7354−0.7354−0.8207−0.9060−0.9060−0.9060−0.9914−0.9914−0.9914−1.0767−1.0767−1.0767−1.0767−1.0767−1.0767−1.1620−1.1620−1.1620−1.2473
29
−1.2473−1.3326−1.3326−1.4179−1.5032−1.5032−1.5886−1.6739−1.6739−1.7592−2.1004
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−PP : coefficients de regression de E0 sur TT
−1
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−CC : coefficients de regression de F0 sur TT
−0.2557
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WW : vecteurs propres
−1
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WWS : W tilde
−1
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−BETA : coefficients de regression de Y sur X pour les donnees
centrees reduites
0.2557
****************************************************************************************************PARTIE II : Resultats pour le nombre de composantes choisi a priori
****************************************************************************************************II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES
VARIABLES EXPLICATIVES
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
107.3531
Constante(s) SE
5.3081 1.1335
Coefficients de regression logistique estimes
−0.1109
SE
0.0241
30
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
1.0000 0.9565 0.0435 1.0000
1.0000 0.9403 0.0597 1.0000
1.0000 0.9338 0.0662 1.0000
1.0000 0.9266 0.0734 1.0000
2.0000 0.9266 0.0734 1.0000
1.0000 0.9187 0.0813 1.0000
1.0000 0.9187 0.0813 1.0000
1.0000 0.9005 0.0995 1.0000
1.0000 0.9005 0.0995 1.0000
1.0000 0.8901 0.1099 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
2.0000 0.8788 0.1212 1.0000
1.0000 0.8531 0.1469 1.0000
1.0000 0.8531 0.1469 1.0000
1.0000 0.8387 0.1613 1.0000
1.0000 0.8387 0.1613 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
2.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8064 0.1936 1.0000
1.0000 0.8064 0.1936 1.0000
1.0000 0.7885 0.2115 1.0000
2.0000 0.7885 0.2115 1.0000
1.0000 0.7885 0.2115 1.0000
1.0000 0.7694 0.2306 1.0000
2.0000 0.7694 0.2306 1.0000
1.0000 0.7694 0.2306 1.0000
1.0000 0.7492 0.2508 1.0000
1.0000 0.7492 0.2508 1.0000
1.0000 0.7277 0.2723 1.0000
2.0000 0.7277 0.2723 1.0000
1.0000 0.7052 0.2948 1.0000
2.0000 0.7052 0.2948 1.0000
1.0000 0.6817 0.3183 1.0000
1.0000 0.6817 0.3183 1.0000
1.0000 0.6571 0.3429 1.0000
1.0000 0.6571 0.3429 1.0000
1.0000 0.6571 0.3429 1.0000
2.0000 0.6571 0.3429 1.0000
1.0000 0.6317 0.3683 1.0000
1.0000 0.6317 0.3683 1.0000
31
2.0000 0.6317 0.3683 1.0000
1.0000 0.6056 0.3944 1.0000
1.0000 0.6056 0.3944 1.0000
2.0000 0.6056 0.3944 1.0000
2.0000 0.6056 0.3944 1.0000
1.0000 0.5788 0.4212 1.0000
2.0000 0.5788 0.4212 1.0000
1.0000 0.5516 0.4484 1.0000
2.0000 0.5516 0.4484 1.0000
1.0000 0.5240 0.4760 1.0000
1.0000 0.5240 0.4760 1.0000
2.0000 0.5240 0.4760 1.0000
1.0000 0.4963 0.5037 2.0000
2.0000 0.4963 0.5037 2.0000
2.0000 0.4963 0.5037 2.0000
1.0000 0.4686 0.5314 2.0000
1.0000 0.4686 0.5314 2.0000
2.0000 0.4686 0.5314 2.0000
1.0000 0.4411 0.5589 2.0000
2.0000 0.4411 0.5589 2.0000
1.0000 0.4140 0.5860 2.0000
1.0000 0.3874 0.6126 2.0000
2.0000 0.3874 0.6126 2.0000
2.0000 0.3614 0.6386 2.0000
2.0000 0.3614 0.6386 2.0000
2.0000 0.3362 0.6638 2.0000
1.0000 0.3119 0.6881 2.0000
2.0000 0.3119 0.6881 2.0000
2.0000 0.3119 0.6881 2.0000
2.0000 0.2886 0.7114 2.0000
2.0000 0.2886 0.7114 2.0000
2.0000 0.2886 0.7114 2.0000
1.0000 0.2664 0.7336 2.0000
1.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
1.0000 0.2453 0.7547 2.0000
2.0000 0.2453 0.7547 2.0000
2.0000 0.2453 0.7547 2.0000
2.0000 0.2254 0.7746 2.0000
2.0000 0.2254 0.7746 2.0000
1.0000 0.2066 0.7934 2.0000
2.0000 0.2066 0.7934 2.0000
2.0000 0.1890 0.8110 2.0000
2.0000 0.1726 0.8274 2.0000
2.0000 0.1726 0.8274 2.0000
2.0000 0.1573 0.8427 2.0000
1.0000 0.1432 0.8568 2.0000
2.0000 0.1432 0.8568 2.0000
2.0000 0.1301 0.8699 2.0000
2.0000 0.0876 0.9124 2.0000
Le pourcentage de bien classes est :
32
74
Qualite de la prevision du modele en utilisant la
regression logistique usuelle : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−45 12 57
14 29 43
59 41 100
****************************************************************************************************II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
107.3531
Constante(s) SE
0.3866 0.2397
Coefficients de regression logistique estimes
1.2998
SE
0.2820
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Coefficients de regression logistique PLS en se ramenant aux
variables d'origine
−1.2998
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
1.0000 0.9565 0.0435 1.0000
1.0000 0.9403 0.0597 1.0000
1.0000 0.9338 0.0662 1.0000
1.0000 0.9266 0.0734 1.0000
2.0000 0.9266 0.0734 1.0000
1.0000 0.9187 0.0813 1.0000
1.0000 0.9187 0.0813 1.0000
1.0000 0.9005 0.0995 1.0000
1.0000 0.9005 0.0995 1.0000
33
1.0000 0.8901 0.1099 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
2.0000 0.8788 0.1212 1.0000
1.0000 0.8531 0.1469 1.0000
1.0000 0.8531 0.1469 1.0000
1.0000 0.8387 0.1613 1.0000
1.0000 0.8387 0.1613 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
2.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8064 0.1936 1.0000
1.0000 0.8064 0.1936 1.0000
1.0000 0.7885 0.2115 1.0000
2.0000 0.7885 0.2115 1.0000
1.0000 0.7885 0.2115 1.0000
1.0000 0.7694 0.2306 1.0000
2.0000 0.7694 0.2306 1.0000
1.0000 0.7694 0.2306 1.0000
1.0000 0.7492 0.2508 1.0000
1.0000 0.7492 0.2508 1.0000
1.0000 0.7277 0.2723 1.0000
2.0000 0.7277 0.2723 1.0000
1.0000 0.7052 0.2948 1.0000
2.0000 0.7052 0.2948 1.0000
1.0000 0.6817 0.3183 1.0000
1.0000 0.6817 0.3183 1.0000
1.0000 0.6571 0.3429 1.0000
1.0000 0.6571 0.3429 1.0000
1.0000 0.6571 0.3429 1.0000
2.0000 0.6571 0.3429 1.0000
1.0000 0.6317 0.3683 1.0000
1.0000 0.6317 0.3683 1.0000
2.0000 0.6317 0.3683 1.0000
1.0000 0.6056 0.3944 1.0000
1.0000 0.6056 0.3944 1.0000
2.0000 0.6056 0.3944 1.0000
2.0000 0.6056 0.3944 1.0000
1.0000 0.5788 0.4212 1.0000
2.0000 0.5788 0.4212 1.0000
1.0000 0.5516 0.4484 1.0000
2.0000 0.5516 0.4484 1.0000
1.0000 0.5240 0.4760 1.0000
1.0000 0.5240 0.4760 1.0000
2.0000 0.5240 0.4760 1.0000
1.0000 0.4963 0.5037 2.0000
2.0000 0.4963 0.5037 2.0000
2.0000 0.4963 0.5037 2.0000
1.0000 0.4686 0.5314 2.0000
1.0000 0.4686 0.5314 2.0000
34
2.0000 0.4686 0.5314 2.0000
1.0000 0.4411 0.5589 2.0000
2.0000 0.4411 0.5589 2.0000
1.0000 0.4140 0.5860 2.0000
1.0000 0.3874 0.6126 2.0000
2.0000 0.3874 0.6126 2.0000
2.0000 0.3614 0.6386 2.0000
2.0000 0.3614 0.6386 2.0000
2.0000 0.3362 0.6638 2.0000
1.0000 0.3119 0.6881 2.0000
2.0000 0.3119 0.6881 2.0000
2.0000 0.3119 0.6881 2.0000
2.0000 0.2886 0.7114 2.0000
2.0000 0.2886 0.7114 2.0000
2.0000 0.2886 0.7114 2.0000
1.0000 0.2664 0.7336 2.0000
1.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
1.0000 0.2453 0.7547 2.0000
2.0000 0.2453 0.7547 2.0000
2.0000 0.2453 0.7547 2.0000
2.0000 0.2254 0.7746 2.0000
2.0000 0.2254 0.7746 2.0000
1.0000 0.2066 0.7934 2.0000
2.0000 0.2066 0.7934 2.0000
2.0000 0.1890 0.8110 2.0000
2.0000 0.1726 0.8274 2.0000
2.0000 0.1726 0.8274 2.0000
2.0000 0.1573 0.8427 2.0000
1.0000 0.1432 0.8568 2.0000
2.0000 0.1432 0.8568 2.0000
2.0000 0.1301 0.8699 2.0000
2.0000 0.0876 0.9124 2.0000
Le pourcentage de bien classes est :
74
Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse sur les composantes
PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−45 12 57
14 29 43
59 41 100
****************************************************************************************************
35
Temps ecoule en secondes :
0.3583
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 3
***************************************************************************************************
***************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS
Nom du fichier traite
dvirt.txt
Nombre de variables explicatives
5
Nombre de modalites de la variable reponse
2
Nombre d'observations
64
Il n'existe pas de donnees manquantes
On n'a pas transpose le tableau de donnees
Il n'existe pas de variables explicatives qualitatives
****************************************************************************************************PARTIE I : Calcul des composantes
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−TT : composantes PLS
−1.2124 0.3394 −0.8861−0.1799 1.0066 −0.74650.1799 −1.0066 −0.91491.2124 −0.3394 −0.7754−1.2124 0.3394 −0.9967−0.1799 1.0066 −0.85720.1799 −1.0066 −1.02561.2124 −0.3394 −0.8861−1.8954 −0.5282 0.0760
−0.8628 0.1389 0.2156
−0.5031 −1.8742 0.0472
0.5295 −1.2070 0.1867
−1.8954 −0.5282 −0.0346−0.8628 0.1389 0.1049
−0.5031 −1.8742 −0.06350.5295 −1.2070 0.0760
−0.5295 1.2070 −0.07600.5031 1.8742 0.0635
0.8628 −0.1389 −0.10491.8954 0.5282 0.0346
−0.5295 1.2070 −0.18670.5031 1.8742 −0.04720.8628 −0.1389 −0.21561.8954 0.5282 −0.0760−1.2124 0.3394 0.8861
36
−0.1799 1.0066 1.0256
0.1799 −1.0066 0.8572
1.2124 −0.3394 0.9967
−1.2124 0.3394 0.7754
−0.1799 1.0066 0.9149
0.1799 −1.0066 0.7465
1.2124 −0.3394 0.8861
−1.2124 0.3394 −0.8861−0.1799 1.0066 −0.74650.1799 −1.0066 −0.91491.2124 −0.3394 −0.7754−1.2124 0.3394 −0.9967−0.1799 1.0066 −0.85720.1799 −1.0066 −1.02561.2124 −0.3394 −0.8861−1.8954 −0.5282 0.0760
−0.8628 0.1389 0.2156
−0.5031 −1.8742 0.0472
0.5295 −1.2070 0.1867
−1.8954 −0.5282 −0.0346−0.8628 0.1389 0.1049
−0.5031 −1.8742 −0.06350.5295 −1.2070 0.0760
−0.5295 1.2070 −0.07600.5031 1.8742 0.0635
0.8628 −0.1389 −0.10491.8954 0.5282 0.0346
−0.5295 1.2070 −0.18670.5031 1.8742 −0.04720.8628 −0.1389 −0.21561.8954 0.5282 −0.0760−1.2124 0.3394 0.8861
−0.1799 1.0066 1.0256
0.1799 −1.0066 0.8572
1.2124 −0.3394 0.9967
−1.2124 0.3394 0.7754
−0.1799 1.0066 0.9149
0.1799 −1.0066 0.7465
1.2124 −0.3394 0.8861
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−PP : coefficients de regression de E0 sur TT
0.3442 0.4576 0.9957
−0.3442 −0.4576 1.1826
0 −0.0000 −0.13600.7017 −0.7099 −0.03550.5204 0.3519 0.1715
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−CC : coefficients de regression de F0 sur TT
−0.1809 −0.0015 0.0000
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WW : vecteurs propres
0.3442 0.3647 0.8373
37
−0.3442 −0.3647 0.0558
0 −0.0000 −0.05580.7017 −0.8263 0.0000
0.5204 0.2265 0.5410
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WWS : W tilde
0.3442 0.4373 0.4082
−0.3442 −0.4373 0.4849
0 −0.0000 −0.05580.7017 −0.6783 −0.01460.5204 0.3362 0.0703
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−BETA : coefficients de regression de Y sur X pour les donnees centrees reduites
−0.0623 −0.0629 −0.06290.0623 0.0629 0.0629
0 0.0000 −0.0000−0.1270 −0.1260 −0.1260−0.0941 −0.0946 −0.0946
****************************************************************************************************PARTIE II : Resultats pour le nombre de composantes choisi a priori
****************************************************************************************************II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR
LES VARIABLES EXPLICATIVES
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
77.4035
Constante(s) SE
0.4399 0.2766
Coefficients de regression logistique estimes
0.2968
−0.29680.0000
0.5761
0.4399
SE
0.2751
0.2751
0.2736
0.2779
0.2766
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
38
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
2.0000 0.3598 0.6402 2.0000
2.0000 0.5753 0.4247 1.0000
2.0000 0.6402 0.3598 1.0000
1.0000 0.8109 0.1891 1.0000
1.0000 0.3598 0.6402 2.0000
1.0000 0.5753 0.4247 1.0000
1.0000 0.6402 0.3598 1.0000
2.0000 0.8109 0.1891 1.0000
1.0000 0.2369 0.7631 2.0000
2.0000 0.4280 0.5720 2.0000
1.0000 0.4956 0.5044 2.0000
1.0000 0.7032 0.2968 1.0000
2.0000 0.2369 0.7631 2.0000
1.0000 0.4280 0.5720 2.0000
2.0000 0.4956 0.5044 2.0000
1.0000 0.7032 0.2968 1.0000
2.0000 0.5044 0.4956 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.8859 0.1141 1.0000
1.0000 0.5044 0.4956 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.8859 0.1141 1.0000
2.0000 0.3598 0.6402 2.0000
2.0000 0.5753 0.4247 1.0000
1.0000 0.6402 0.3598 1.0000
1.0000 0.8109 0.1891 1.0000
2.0000 0.3598 0.6402 2.0000
2.0000 0.5753 0.4247 1.0000
1.0000 0.6402 0.3598 1.0000
2.0000 0.8109 0.1891 1.0000
2.0000 0.3598 0.6402 2.0000
1.0000 0.5753 0.4247 1.0000
2.0000 0.6402 0.3598 1.0000
1.0000 0.8109 0.1891 1.0000
1.0000 0.3598 0.6402 2.0000
2.0000 0.5753 0.4247 1.0000
1.0000 0.6402 0.3598 1.0000
2.0000 0.8109 0.1891 1.0000
1.0000 0.2369 0.7631 2.0000
2.0000 0.4280 0.5720 2.0000
2.0000 0.4956 0.5044 2.0000
1.0000 0.7032 0.2968 1.0000
2.0000 0.2369 0.7631 2.0000
1.0000 0.4280 0.5720 2.0000
2.0000 0.4956 0.5044 2.0000
1.0000 0.7032 0.2968 1.0000
2.0000 0.5044 0.4956 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.8859 0.1141 1.0000
39
2.0000 0.5044 0.4956 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.8859 0.1141 1.0000
2.0000 0.3598 0.6402 2.0000
1.0000 0.5753 0.4247 1.0000
1.0000 0.6402 0.3598 1.0000
1.0000 0.8109 0.1891 1.0000
2.0000 0.3598 0.6402 2.0000
1.0000 0.5753 0.4247 1.0000
1.0000 0.6402 0.3598 1.0000
2.0000 0.8109 0.1891 1.0000
Le pourcentage de bien classes est :
68.7500
Qualite de la prevision du modele en utilisant la regression
logistique usuelle : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−31 7 38
13 13 26
44 20 64
****************************************************************************************************II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES
COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
77.4036
Constante(s) SE
0.4399 0.2766
Coefficients de regression logistique estimes
0.8441
0.0175
−0.0005
SE
0.3060
0.2711
0.4247
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
40
Coefficients de regression logistique PLS en se ramenant aux
variables d'origine
0.2980
−0.29840.0000
0.5804
0.4451
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
2.0000 0.3596 0.6404 2.0000
2.0000 0.5759 0.4241 1.0000
2.0000 0.6398 0.3602 1.0000
1.0000 0.8112 0.1888 1.0000
1.0000 0.3596 0.6404 2.0000
1.0000 0.5759 0.4241 1.0000
1.0000 0.6398 0.3602 1.0000
2.0000 0.8112 0.1888 1.0000
1.0000 0.2370 0.7630 2.0000
2.0000 0.4290 0.5710 2.0000
1.0000 0.4956 0.5044 2.0000
1.0000 0.7038 0.2962 1.0000
2.0000 0.2370 0.7630 2.0000
1.0000 0.4290 0.5710 2.0000
2.0000 0.4956 0.5044 2.0000
1.0000 0.7038 0.2962 1.0000
2.0000 0.5035 0.4965 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7624 0.2376 1.0000
1.0000 0.8858 0.1142 1.0000
1.0000 0.5036 0.4964 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7624 0.2376 1.0000
1.0000 0.8858 0.1142 1.0000
2.0000 0.3594 0.6406 2.0000
2.0000 0.5757 0.4243 1.0000
1.0000 0.6396 0.3604 1.0000
1.0000 0.8110 0.1890 1.0000
2.0000 0.3594 0.6406 2.0000
2.0000 0.5757 0.4243 1.0000
1.0000 0.6396 0.3604 1.0000
2.0000 0.8111 0.1889 1.0000
2.0000 0.3596 0.6404 2.0000
1.0000 0.5759 0.4241 1.0000
2.0000 0.6398 0.3602 1.0000
1.0000 0.8112 0.1888 1.0000
1.0000 0.3596 0.6404 2.0000
2.0000 0.5759 0.4241 1.0000
1.0000 0.6398 0.3602 1.0000
2.0000 0.8112 0.1888 1.0000
1.0000 0.2370 0.7630 2.0000
41
2.0000 0.4290 0.5710 2.0000
2.0000 0.4956 0.5044 2.0000
1.0000 0.7038 0.2962 1.0000
2.0000 0.2370 0.7630 2.0000
1.0000 0.4290 0.5710 2.0000
2.0000 0.4956 0.5044 2.0000
1.0000 0.7038 0.2962 1.0000
2.0000 0.5035 0.4965 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7624 0.2376 1.0000
1.0000 0.8858 0.1142 1.0000
2.0000 0.5036 0.4964 1.0000
1.0000 0.7104 0.2896 1.0000
1.0000 0.7624 0.2376 1.0000
1.0000 0.8858 0.1142 1.0000
2.0000 0.3594 0.6406 2.0000
1.0000 0.5757 0.4243 1.0000
1.0000 0.6396 0.3604 1.0000
1.0000 0.8110 0.1890 1.0000
2.0000 0.3594 0.6406 2.0000
1.0000 0.5757 0.4243 1.0000
1.0000 0.6396 0.3604 1.0000
2.0000 0.8111 0.1889 1.0000
Le pourcentage de bien classes est :
68.7500
Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse sur les composantes
PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−31 7 38
13 13 26
44 20 64
****************************************************************************************************Temps ecoule en secondes :
2.0155
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 4
***************************************************************************************************
***************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS
42
Nom du fichier traite
risque2.xls
Nombre de variables explicatives
5
Nombre de modalites de la variable reponse
2
Nombre d'observations
189
Il n'existe pas de donnees manquantes
On n'a pas transpose le tableau de donnees
Il existe des variables explicatives qualitatives
Les eventuelles variables qualitatives seront placees a droite du tableau
****************************************************************************************************PARTIE I : Calcul des composantes
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−TT : composantes PLS
0.1281 −1.0647 −0.98771.5840 −0.6591 0.3915
−0.4266 0.2243 −0.2613−0.0457 −0.0985 −0.4855−0.7755 0.6650 −0.2143−0.8419 0.6202 0.1695
0.0488 0.2460 −0.1472−1.4500 0.3383 −0.42870.7629 −0.1312 0.6754
0.0473 0.2371 0.7229
−1.6924 0.4195 0.2228
−0.1776 0.7402 −0.6703−1.4366 0.2339 0.5978
−0.0225 −0.7158 0.8364
−0.9396 0.5867 −0.1410−0.9396 0.5867 −0.1410−2.1824 −1.7568 −0.60910.7551 −0.5286 −0.4081−1.0210 0.6373 0.0864
0.6073 −0.1029 0.5818
0.4763 −0.6830 0.9400
0.8447 −1.1012 0.5301
3.2119 0.3193 0.7240
−0.3388 0.1423 1.0863
−0.1440 −0.2611 0.0755
1.4839 0.7173 0.4081
−0.5091 0.8946 −0.49611.6212 −0.1237 0.0751
0.3967 −1.6544 0.0337
−1.4349 −2.0073 −0.8339−1.4349 −2.0073 −0.8339−0.4372 −0.1909 0.3956
0.2875 −3.0315 1.3322
1.1720 0.4742 −0.1593−0.6967 −2.0735 0.3584
1.3867 −0.2355 0.1797
43
0.4872 0.3608 −1.04930.3905 0.2983 0.7328
3.3156 0.4796 −0.35480.7757 −0.5353 1.3217
0.8196 −1.7439 −1.40491.6829 0.9312 −1.5827−0.5247 −2.1883 −0.26180.7229 1.0722 −0.3936−1.1741 0.4748 −0.0365−1.1741 0.4748 −0.03651.9055 −1.0996 0.0025
−0.8249 0.8334 −0.16410.3743 −0.2058 −0.1838−1.6710 0.1221 0.7024
0.0956 0.2684 −0.1682−0.5776 0.5412 0.3777
0.1048 0.6747 0.0451
0.4170 −0.8007 0.7753
−1.2235 0.6433 0.0137
−1.5965 0.7729 −0.3090−1.1702 0.4636 0.3159
0.6054 0.3877 0.9911
−1.4195 0.4472 0.2642
−1.3002 0.8117 −0.2781−1.3002 0.8117 −0.2781−0.3380 −0.1485 −0.1640−0.9144 0.2780 0.6909
0.8509 0.4153 0.6905
−0.2046 0.4115 0.7003
0.3531 0.8909 −0.7440−0.3465 −0.2551 0.0028
4.0608 −0.1707 −2.18070.4175 0.6270 −0.63780.2718 −2.1078 −0.9975−0.3172 0.4734 0.2334
1.0709 −0.2967 0.5117
−0.6571 0.1013 0.1957
−1.7689 −1.6621 −0.6305−0.2896 1.1019 −0.75711.1448 −0.4771 −1.60420.8204 0.3065 −0.00241.0124 −3.5840 −0.1324−0.2767 0.6978 −0.11071.5968 1.2840 −0.45740.3535 0.3914 −0.28321.1745 0.4541 1.0633
−0.4027 −0.0933 1.4408
−0.8569 0.7156 0.0132
−0.6948 0.4852 0.4300
−1.2768 0.8229 −0.2886−0.7371 0.5807 −0.06830.1901 0.6129 0.1701
2.3536 0.3119 1.3243
0.2129 0.3243 −0.2205−0.3751 0.5352 0.4503
44
0.5639 0.1923 −0.75752.3107 2.0348 −1.4280−0.4600 0.0976 0.7862
−0.2896 1.1019 −0.75711.0442 0.0030 0.5499
1.4897 0.2156 0.3512
0.2476 1.0505 −0.50760.2476 1.0505 −0.50761.1764 −0.0365 0.6539
0.0317 0.0328 0.1864
1.1150 1.4643 −0.8946−0.9144 0.2780 0.6909
−0.0535 0.0946 0.0614
−1.0210 0.6373 0.0864
2.0230 −0.7760 −0.85480.5902 −0.3161 0.9154
1.0192 1.1109 −0.3628−0.0201 0.2213 −0.98600.4921 −2.1914 −2.50872.7210 0.0934 0.0735
−0.9662 0.4665 −0.48151.1523 −0.3474 0.2843
0.9633 −0.4458 1.2381
0.8721 1.2459 −0.62320.2147 0.0044 0.6219
−0.4601 1.2256 −1.0070−0.1044 0.2542 0.9817
0.5767 −0.2118 −0.1111−1.7229 0.3107 −0.47000.8160 0.8171 −0.81560.4284 0.7135 0.4179
−0.1068 0.2743 −0.24090.0814 0.6635 0.0556
0.8112 −0.0999 −0.21571.0883 −0.5830 0.6388
2.3764 0.0233 0.9337
−0.3854 0.7485 −0.22520.1724 0.0999 0.1236
2.1271 −1.1211 2.6752
−0.3388 0.1423 1.0863
1.1523 −0.3474 0.2843
1.5243 −1.9369 0.8348
−0.9463 0.1602 0.8682
−1.4152 −0.0635 1.0774
0.2793 0.5398 0.6475
−1.0791 −0.1001 0.3840
−0.4863 −2.2726 −0.1159−0.3986 0.5240 0.4608
1.0654 0.8336 −0.76380.3713 −0.2236 1.5565
−1.0654 0.4241 0.0781
−0.7119 0.2720 0.7636
−0.9023 0.7021 −0.8361−0.5303 0.0641 0.8175
0.8538 0.4332 −1.0498
45
1.1712 −1.5761 −1.56170.8615 0.8306 0.0336
−1.3343 0.3853 0.3892
−0.9037 0.6932 0.0341
−1.0961 −0.3133 0.7176
−0.3569 −0.0419 −0.6728−0.5730 0.6590 −0.14160.1411 0.2818 0.6811
0.4629 0.6405 0.2114
−1.0423 0.9348 −0.3932−0.5644 −2.7036 −1.16790.3301 0.3802 −0.2727−0.4089 −2.1413 0.5561
−1.9588 0.1899 0.5047
−0.7904 0.7604 −0.3706−0.7210 −0.1343 0.5503
−1.2789 0.5143 0.2014
−0.5350 1.0742 −0.4565−1.6452 −1.8082 −0.3596−0.2767 0.6978 −0.1107−0.5034 −0.8263 −0.8510−1.0721 −0.0024 1.0873
0.4410 −0.4898 1.1450
−0.9610 0.8841 −0.62060.8117 −1.5508 −0.8579−1.1933 −1.7977 −0.2352−1.2508 −2.2353 0.4426
−1.5645 0.8907 −0.4863−0.7652 0.4517 0.4613
1.0683 0.3140 0.9195
0.3301 0.3802 −0.27270.1199 −0.0113 −1.4289−0.2788 0.3892 0.3793
−1.0454 −2.2235 −1.22500.5131 0.3519 0.1628
−0.6968 −0.4140 −0.71041.8526 1.0983 −0.0824−1.9780 0.7960 −0.46480.2464 −0.6770 0.5253
−1.5509 0.1958 −1.0902−1.3747 0.1609 0.7333
−0.9802 −1.3884 −0.81930.6954 −0.1469 −1.0335
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−PP : coefficients de regression de E0 sur TT
0.5729 −0.2848 0.9684
0.6883 0.0522 −0.50630.3778 −0.4398 −0.4621−0.0705 −0.8751 −0.4079−0.3893 0.2544 0.2797
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−CC : coefficients de regression de F0 sur TT
−0.0981 −0.0446 0.0014
46
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WW : vecteurs propres
0.4518 −0.5409 0.9787
0.7169 0.0040 −0.11050.2387 −0.4245 −0.1225−0.3247 −0.7126 0.1072
−0.3457 0.1393 −0.0594
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WWS : W tilde
0.4518 −0.3278 0.6623
0.7169 0.3420 −0.31980.2387 −0.3120 −0.3367−0.3247 −0.8657 −0.0394−0.3457 −0.0237 0.0895
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−BETA : coefficients de regression de Y sur X pour les donnees centrees reduites
−0.0443 −0.0297 −0.0288−0.0703 −0.0856 −0.0860−0.0234 −0.0095 −0.01000.0318 0.0705 0.0704
0.0339 0.0350 0.0351
****************************************************************************************************PARTIE II : Resultats pour le nombre de composantes choisi a priori
****************************************************************************************************II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES
VARIABLES EXPLICATIVES
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
deviance
222.0562
Constante(s) SE
0.8577 0.1670
Coefficients de regression logistique estimes
−0.1398−0.4426−0.06670.3635
0.2205
SE
0.1778
0.2002
0.1774
0.1719
0.1728
47
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
1.0000 0.7328 0.2672 1.0000
1.0000 0.5618 0.4382 1.0000
1.0000 0.7274 0.2726 1.0000
1.0000 0.7003 0.2997 1.0000
1.0000 0.7443 0.2557 1.0000
1.0000 0.7690 0.2310 1.0000
1.0000 0.6771 0.3229 1.0000
1.0000 0.8248 0.1752 1.0000
1.0000 0.6186 0.3814 1.0000
1.0000 0.6836 0.3164 1.0000
1.0000 0.8423 0.1577 1.0000
1.0000 0.6934 0.3066 1.0000
1.0000 0.8315 0.1685 1.0000
1.0000 0.7475 0.2525 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.9113 0.0887 1.0000
1.0000 0.6307 0.3693 1.0000
1.0000 0.7837 0.2163 1.0000
1.0000 0.6349 0.3651 1.0000
1.0000 0.6964 0.3036 1.0000
1.0000 0.6542 0.3458 1.0000
1.0000 0.3006 0.6994 2.0000
1.0000 0.7457 0.2543 1.0000
1.0000 0.7367 0.2633 1.0000
1.0000 0.4840 0.5160 2.0000
1.0000 0.7063 0.2937 1.0000
1.0000 0.5074 0.4926 1.0000
1.0000 0.7363 0.2637 1.0000
1.0000 0.8805 0.1195 1.0000
1.0000 0.8805 0.1195 1.0000
1.0000 0.7490 0.2510 1.0000
1.0000 0.8032 0.1968 1.0000
1.0000 0.5315 0.4685 1.0000
1.0000 0.8423 0.1577 1.0000
1.0000 0.5435 0.4565 1.0000
1.0000 0.6147 0.3853 1.0000
1.0000 0.6422 0.3578 1.0000
1.0000 0.2761 0.7239 2.0000
1.0000 0.6412 0.3588 1.0000
1.0000 0.6871 0.3129 1.0000
1.0000 0.4327 0.5673 2.0000
1.0000 0.8310 0.1690 1.0000
1.0000 0.5553 0.4447 1.0000
1.0000 0.7882 0.2118 1.0000
1.0000 0.7882 0.2118 1.0000
1.0000 0.5213 0.4787 1.0000
1.0000 0.7576 0.2424 1.0000
48
1.0000 0.6611 0.3389 1.0000
1.0000 0.8508 0.1492 1.0000
1.0000 0.6708 0.3292 1.0000
1.0000 0.7488 0.2512 1.0000
1.0000 0.6525 0.3475 1.0000
1.0000 0.6898 0.3102 1.0000
1.0000 0.7999 0.2001 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8030 0.1970 1.0000
1.0000 0.6331 0.3669 1.0000
1.0000 0.8225 0.1775 1.0000
1.0000 0.7991 0.2009 1.0000
1.0000 0.7991 0.2009 1.0000
1.0000 0.7496 0.2504 1.0000
1.0000 0.7902 0.2098 1.0000
1.0000 0.5810 0.4190 1.0000
1.0000 0.7192 0.2808 1.0000
1.0000 0.6260 0.3740 1.0000
1.0000 0.7554 0.2446 1.0000
1.0000 0.2344 0.7656 2.0000
1.0000 0.6131 0.3869 1.0000
1.0000 0.7597 0.2403 1.0000
1.0000 0.7090 0.2910 1.0000
1.0000 0.6075 0.3925 1.0000
1.0000 0.7716 0.2284 1.0000
1.0000 0.8910 0.1090 1.0000
1.0000 0.6717 0.3283 1.0000
1.0000 0.5879 0.4121 1.0000
1.0000 0.5849 0.4151 1.0000
1.0000 0.7519 0.2481 1.0000
1.0000 0.6927 0.3073 1.0000
1.0000 0.4342 0.5658 2.0000
1.0000 0.6347 0.3653 1.0000
1.0000 0.5614 0.4386 1.0000
1.0000 0.7628 0.2372 1.0000
1.0000 0.7660 0.2340 1.0000
1.0000 0.7622 0.2378 1.0000
1.0000 0.7968 0.2032 1.0000
1.0000 0.7448 0.2552 1.0000
1.0000 0.6465 0.3535 1.0000
1.0000 0.4036 0.5964 2.0000
1.0000 0.6546 0.3454 1.0000
1.0000 0.7298 0.2702 1.0000
1.0000 0.6160 0.3840 1.0000
1.0000 0.3078 0.6922 2.0000
1.0000 0.7422 0.2578 1.0000
1.0000 0.6717 0.3283 1.0000
1.0000 0.5769 0.4231 1.0000
1.0000 0.5087 0.4913 1.0000
1.0000 0.6137 0.3863 1.0000
1.0000 0.6137 0.3863 1.0000
1.0000 0.5633 0.4367 1.0000
1.0000 0.6907 0.3093 1.0000
1.0000 0.4819 0.5181 2.0000
1.0000 0.7902 0.2098 1.0000
49
1.0000 0.6964 0.3036 1.0000
1.0000 0.7837 0.2163 1.0000
1.0000 0.4992 0.5008 2.0000
1.0000 0.6494 0.3506 1.0000
1.0000 0.5164 0.4836 1.0000
1.0000 0.6801 0.3199 1.0000
1.0000 0.7330 0.2670 1.0000
1.0000 0.3612 0.6388 2.0000
1.0000 0.7819 0.2181 1.0000
1.0000 0.5791 0.4209 1.0000
1.0000 0.6142 0.3858 1.0000
1.0000 0.5259 0.4741 1.0000
1.0000 0.6922 0.3078 1.0000
1.0000 0.6832 0.3168 1.0000
1.0000 0.7173 0.2827 1.0000
1.0000 0.6386 0.3614 1.0000
1.0000 0.8444 0.1556 1.0000
1.0000 0.5534 0.4466 1.0000
1.0000 0.6341 0.3659 1.0000
1.0000 0.6922 0.3078 1.0000
1.0000 0.6557 0.3443 1.0000
1.0000 0.6046 0.3954 1.0000
1.0000 0.6014 0.3986 1.0000
1.0000 0.4122 0.5878 2.0000
1.0000 0.7014 0.2986 1.0000
1.0000 0.6719 0.3281 1.0000
1.0000 0.5154 0.4846 1.0000
2.0000 0.7457 0.2543 1.0000
2.0000 0.5791 0.4209 1.0000
2.0000 0.6320 0.3680 1.0000
2.0000 0.7977 0.2023 1.0000
2.0000 0.8405 0.1595 1.0000
2.0000 0.6611 0.3389 1.0000
2.0000 0.8142 0.1858 1.0000
2.0000 0.8314 0.1686 1.0000
2.0000 0.7326 0.2674 1.0000
2.0000 0.5217 0.4783 1.0000
2.0000 0.6743 0.3257 1.0000
2.0000 0.7813 0.2187 1.0000
2.0000 0.7734 0.2266 1.0000
2.0000 0.7658 0.2342 1.0000
2.0000 0.7504 0.2496 1.0000
2.0000 0.5664 0.4336 1.0000
2.0000 0.6387 0.3613 1.0000
2.0000 0.5536 0.4464 1.0000
2.0000 0.8186 0.1814 1.0000
2.0000 0.7711 0.2289 1.0000
2.0000 0.8236 0.1764 1.0000
2.0000 0.7287 0.2713 1.0000
2.0000 0.7250 0.2750 1.0000
2.0000 0.6710 0.3290 1.0000
2.0000 0.6133 0.3867 1.0000
2.0000 0.7723 0.2277 1.0000
2.0000 0.8443 0.1557 1.0000
2.0000 0.6381 0.3619 1.0000
50
2.0000 0.8250 0.1750 1.0000
2.0000 0.8660 0.1340 1.0000
2.0000 0.7410 0.2590 1.0000
2.0000 0.7874 0.2126 1.0000
2.0000 0.8094 0.1906 1.0000
2.0000 0.7180 0.2820 1.0000
2.0000 0.8887 0.1113 1.0000
2.0000 0.6927 0.3073 1.0000
2.0000 0.7855 0.2145 1.0000
2.0000 0.8140 0.1860 1.0000
2.0000 0.6758 0.3242 1.0000
2.0000 0.7510 0.2490 1.0000
2.0000 0.6831 0.3169 1.0000
2.0000 0.8642 0.1358 1.0000
2.0000 0.8799 0.1201 1.0000
2.0000 0.8163 0.1837 1.0000
2.0000 0.7699 0.2301 1.0000
2.0000 0.5610 0.4390 1.0000
2.0000 0.6381 0.3619 1.0000
2.0000 0.6721 0.3279 1.0000
2.0000 0.7095 0.2905 1.0000
2.0000 0.8621 0.1379 1.0000
2.0000 0.6396 0.3604 1.0000
2.0000 0.7884 0.2116 1.0000
2.0000 0.4149 0.5851 2.0000
2.0000 0.8482 0.1518 1.0000
2.0000 0.7010 0.2990 1.0000
2.0000 0.8332 0.1668 1.0000
2.0000 0.8298 0.1702 1.0000
2.0000 0.8376 0.1624 1.0000
2.0000 0.6147 0.3853 1.0000
Le pourcentage de bien classes est :
62.9630
Qualite de la prevision du modele en utilisant la regression
logistique usuelle : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−118 12 130
58 1 59
176 13 189
****************************************************************************************************II.I : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR
LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
51
3
Deviance
222.0938
Constante(s) SE
0.8582 0.1670
Coefficients de regression logistique estimes
−0.5250−0.21570.0361
SE
0.1680
0.1689
0.2308
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Coefficients de regression logistique PLS en se ramenant aux
variables d'origine
−0.1425−0.4617−0.07010.3558
0.1898
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
1.0000 0.7281 0.2719 1.0000
1.0000 0.5456 0.4544 1.0000
1.0000 0.7358 0.2642 1.0000
1.0000 0.7081 0.2919 1.0000
1.0000 0.7529 0.2471 1.0000
1.0000 0.7636 0.2364 1.0000
1.0000 0.6844 0.3156 1.0000
1.0000 0.8222 0.1778 1.0000
1.0000 0.6249 0.3751 1.0000
1.0000 0.6918 0.3082 1.0000
1.0000 0.8408 0.1592 1.0000
1.0000 0.6830 0.3170 1.0000
1.0000 0.8297 0.1703 1.0000
1.0000 0.7417 0.2583 1.0000
1.0000 0.7720 0.2280 1.0000
1.0000 0.7720 0.2280 1.0000
1.0000 0.9138 0.0862 1.0000
1.0000 0.6367 0.3633 1.0000
1.0000 0.7790 0.2210 1.0000
1.0000 0.6417 0.3583 1.0000
1.0000 0.6877 0.3123 1.0000
1.0000 0.6618 0.3382 1.0000
52
1.0000 0.2951 0.7049 2.0000
1.0000 0.7397 0.2603 1.0000
1.0000 0.7297 0.2703 1.0000
1.0000 0.4848 0.5152 2.0000
1.0000 0.7139 0.2861 1.0000
1.0000 0.5091 0.4909 1.0000
1.0000 0.7326 0.2674 1.0000
1.0000 0.8823 0.1177 1.0000
1.0000 0.8823 0.1177 1.0000
1.0000 0.7583 0.2417 1.0000
1.0000 0.8037 0.1963 1.0000
1.0000 0.5337 0.4663 1.0000
1.0000 0.8435 0.1565 1.0000
1.0000 0.5468 0.4532 1.0000
1.0000 0.6193 0.3807 1.0000
1.0000 0.6492 0.3508 1.0000
1.0000 0.2692 0.7308 2.0000
1.0000 0.6489 0.3511 1.0000
1.0000 0.6799 0.3201 1.0000
1.0000 0.4297 0.5703 2.0000
1.0000 0.8315 0.1685 1.0000
1.0000 0.5581 0.4419 1.0000
1.0000 0.7975 0.2025 1.0000
1.0000 0.7975 0.2025 1.0000
1.0000 0.5238 0.4762 1.0000
1.0000 0.7513 0.2487 1.0000
1.0000 0.6681 0.3319 1.0000
1.0000 0.8500 0.1500 1.0000
1.0000 0.6779 0.3221 1.0000
1.0000 0.7424 0.2576 1.0000
1.0000 0.6591 0.3409 1.0000
1.0000 0.6985 0.3015 1.0000
1.0000 0.7961 0.2039 1.0000
1.0000 0.8203 0.1797 1.0000
1.0000 0.7996 0.2004 1.0000
1.0000 0.6207 0.3793 1.0000
1.0000 0.8200 0.1800 1.0000
1.0000 0.7951 0.2049 1.0000
1.0000 0.7951 0.2049 1.0000
1.0000 0.7430 0.2570 1.0000
1.0000 0.7864 0.2136 1.0000
1.0000 0.5859 0.4141 1.0000
1.0000 0.7114 0.2886 1.0000
1.0000 0.6115 0.3885 1.0000
1.0000 0.7494 0.2506 1.0000
1.0000 0.2116 0.7884 2.0000
1.0000 0.6179 0.3821 1.0000
1.0000 0.7566 0.2434 1.0000
1.0000 0.7173 0.2827 1.0000
1.0000 0.5935 0.4065 1.0000
1.0000 0.7665 0.2335 1.0000
1.0000 0.8931 0.1069 1.0000
1.0000 0.6781 0.3219 1.0000
1.0000 0.5750 0.4250 1.0000
1.0000 0.5894 0.4106 1.0000
53
1.0000 0.7493 0.2507 1.0000
1.0000 0.7004 0.2996 1.0000
1.0000 0.4320 0.5680 2.0000
1.0000 0.6406 0.3594 1.0000
1.0000 0.5454 0.4546 1.0000
1.0000 0.7580 0.2420 1.0000
1.0000 0.7603 0.2397 1.0000
1.0000 0.7566 0.2434 1.0000
1.0000 0.7926 0.2074 1.0000
1.0000 0.7535 0.2465 1.0000
1.0000 0.6530 0.3470 1.0000
1.0000 0.4021 0.5979 2.0000
1.0000 0.6612 0.3388 1.0000
1.0000 0.7223 0.2777 1.0000
1.0000 0.6209 0.3791 1.0000
1.0000 0.3004 0.6996 2.0000
1.0000 0.7516 0.2484 1.0000
1.0000 0.6781 0.3219 1.0000
1.0000 0.5816 0.4184 1.0000
1.0000 0.5106 0.4894 1.0000
1.0000 0.6185 0.3815 1.0000
1.0000 0.6185 0.3815 1.0000
1.0000 0.5676 0.4324 1.0000
1.0000 0.6987 0.3013 1.0000
1.0000 0.4812 0.5188 2.0000
1.0000 0.7864 0.2136 1.0000
1.0000 0.7044 0.2956 1.0000
1.0000 0.7790 0.2210 1.0000
1.0000 0.4832 0.5168 2.0000
1.0000 0.6569 0.3431 1.0000
1.0000 0.5176 0.4824 1.0000
1.0000 0.6869 0.3131 1.0000
1.0000 0.7275 0.2725 1.0000
1.0000 0.3572 0.6428 2.0000
1.0000 0.7769 0.2231 1.0000
1.0000 0.5838 0.4162 1.0000
1.0000 0.6209 0.3791 1.0000
1.0000 0.5273 0.4727 1.0000
1.0000 0.6829 0.3171 1.0000
1.0000 0.6898 0.3102 1.0000
1.0000 0.7096 0.2904 1.0000
1.0000 0.6450 0.3550 1.0000
1.0000 0.8427 0.1573 1.0000
1.0000 0.5558 0.4442 1.0000
1.0000 0.6212 0.3788 1.0000
1.0000 0.6998 0.3002 1.0000
1.0000 0.6625 0.3375 1.0000
1.0000 0.6097 0.3903 1.0000
1.0000 0.6072 0.3928 1.0000
1.0000 0.4108 0.5892 2.0000
1.0000 0.7091 0.2909 1.0000
1.0000 0.6793 0.3207 1.0000
1.0000 0.5200 0.4800 1.0000
2.0000 0.7397 0.2603 1.0000
2.0000 0.5838 0.4162 1.0000
54
2.0000 0.6239 0.3761 1.0000
2.0000 0.7944 0.2056 1.0000
2.0000 0.8394 0.1606 1.0000
2.0000 0.6499 0.3501 1.0000
2.0000 0.8116 0.1884 1.0000
2.0000 0.8320 0.1680 1.0000
2.0000 0.7253 0.2747 1.0000
2.0000 0.5229 0.4771 1.0000
2.0000 0.6830 0.3170 1.0000
2.0000 0.7907 0.2093 1.0000
2.0000 0.7687 0.2313 1.0000
2.0000 0.7596 0.2404 1.0000
2.0000 0.7599 0.2401 1.0000
2.0000 0.5692 0.4308 1.0000
2.0000 0.6288 0.3712 1.0000
2.0000 0.5568 0.4432 1.0000
2.0000 0.8160 0.1840 1.0000
2.0000 0.7657 0.2343 1.0000
2.0000 0.8216 0.1784 1.0000
2.0000 0.7370 0.2630 1.0000
2.0000 0.7334 0.2666 1.0000
2.0000 0.6787 0.3213 1.0000
2.0000 0.6189 0.3811 1.0000
2.0000 0.7667 0.2333 1.0000
2.0000 0.8450 0.1550 1.0000
2.0000 0.6441 0.3559 1.0000
2.0000 0.8256 0.1744 1.0000
2.0000 0.8657 0.1343 1.0000
2.0000 0.7495 0.2505 1.0000
2.0000 0.7834 0.2166 1.0000
2.0000 0.8063 0.1937 1.0000
2.0000 0.7091 0.2909 1.0000
2.0000 0.8908 0.1092 1.0000
2.0000 0.7004 0.2996 1.0000
2.0000 0.7808 0.2192 1.0000
2.0000 0.8117 0.1883 1.0000
2.0000 0.6843 0.3157 1.0000
2.0000 0.7594 0.2406 1.0000
2.0000 0.6761 0.3239 1.0000
2.0000 0.8658 0.1342 1.0000
2.0000 0.8822 0.1178 1.0000
2.0000 0.8130 0.1870 1.0000
2.0000 0.7648 0.2352 1.0000
2.0000 0.5654 0.4346 1.0000
2.0000 0.6441 0.3559 1.0000
2.0000 0.6783 0.3217 1.0000
2.0000 0.7180 0.2820 1.0000
2.0000 0.8632 0.1368 1.0000
2.0000 0.6269 0.3731 1.0000
2.0000 0.7838 0.2162 1.0000
2.0000 0.4124 0.5876 2.0000
2.0000 0.8466 0.1534 1.0000
2.0000 0.7097 0.2903 1.0000
2.0000 0.8307 0.1693 1.0000
2.0000 0.8280 0.1720 1.0000
55
2.0000 0.8379 0.1621 1.0000
2.0000 0.6195 0.3805 1.0000
Le pourcentage de bien classes est :
62.9630
Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse sur les composantes
PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−118 12 130
58 1 59
176 13 189
****************************************************************************************************Temps ecoule en secondes :
2.3122
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 5
***************************************************************************************************
***************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE ORDINALE PLS
Nom du fichier traite
vins bordeaux.xls
Nombre de variables explicatives
4
Nombre de modalites de la variable reponse
3
Nombre d'observations
34
Il n'existe pas de donnees manquantes
On n'a pas transpose le tableau de donnees
Il n'existe pas de variables explicatives qualitatives
****************************************************************************************************PARTIE I : Calcul des composantes
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−TT : composantes PLS
−0.9679 0.5294 0.0143
−1.8376 0.1081 −0.0064−0.6945 −0.6003 0.0310
−2.6690 −0.4782 0.1623
56
1.3446 −0.8753 −0.08832.2858 0.0215 −0.0966−2.1602 −0.8473 0.0729
−1.7793 −0.2969 −0.0892−2.5684 −1.8519 −0.02911.1226 −0.9932 0.0260
1.5896 0.0418 0.0512
0.2154 −0.7490 −0.0417−1.7231 0.3648 −0.00481.1428 0.3070 −0.0203−0.4439 0.7228 −0.0920−0.5445 1.2566 −0.0395−0.0875 1.0152 −0.0079−1.5900 −0.7301 −0.09470.5852 −0.2084 0.0138
1.6957 0.3801 0.0530
0.5682 0.5635 0.0566
2.4456 0.7091 0.0683
−0.6587 0.8565 0.0040
2.9494 −1.0730 0.0508
−0.2733 0.8360 0.0484
3.7610 −0.5983 −0.03961.2892 −0.0948 −0.0190−1.2327 −0.2574 −0.03411.6182 0.3926 0.0065
0.2431 −0.1092 0.0216
−1.7736 1.0833 −0.08080.4602 −0.0563 0.0706
−1.4195 0.4005 0.0796
−0.8929 0.2308 −0.0468
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−PP : coefficients de regression de E0 sur TT
0.5562 −0.3738 4.9154
0.5381 0.3074 −2.49300.5316 −0.5990 −2.6510−0.3810 −0.7728 0.4419
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−CC : coefficients de regression de F0 sur TT
−0.4358 −0.1280 −1.5469
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WW : vecteurs propres
0.5688 −0.2681 0.4846
0.6309 0.2743 0.6672
0.4050 −0.8244 −0.1947−0.3382 −0.4162 −0.5311
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WWS : W tilde
0.5688 −0.1081 0.1304
0.6309 0.4517 −0.04050.4050 −0.7105 −0.0978−0.3382 −0.5113 −0.0034
57
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−BETA : coefficients de regression de Y sur X pour les donnees centrees reduites
−0.2479 −0.2340 −0.4358−0.2749 −0.3327 −0.2700−0.1765 −0.0856 0.0658
0.1474 0.2128 0.2180
****************************************************************************************************PARTIE II : Resultats pour le nombre de composantes choisi a priori
****************************************************************************************************II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE
SUR LES VARIABLES EXPLICATIVES
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
6
Deviance
26.1580
Constante(s) SE
−85.5071 35.2125
−80.5493 34.2299
Coefficients de regression logistique estimes
0.0243
0.0138
−0.0888−0.0259
SE
0.0128
0.0085
0.1197
0.0122
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
2.0000 0.0081 0.5282 0.4637 2.0000
3.0000 0.0004 0.0497 0.9499 3.0000
2.0000 0.0057 0.4417 0.5526 3.0000
3.0000 0.0001 0.0086 0.9914 3.0000
1.0000 0.4486 0.5428 0.0086 2.0000
1.0000 0.9814 0.0184 0.0001 1.0000
3.0000 0.0001 0.0118 0.9881 3.0000
3.0000 0.0000 0.0034 0.9966 3.0000
3.0000 0.0000 0.0000 1.0000 3.0000
2.0000 0.3682 0.6199 0.0119 2.0000
58
1.0000 0.9578 0.0418 0.0003 1.0000
3.0000 0.0451 0.8253 0.1296 2.0000
3.0000 0.0006 0.0809 0.9185 3.0000
1.0000 0.6349 0.3611 0.0040 1.0000
2.0000 0.0217 0.7374 0.2410 2.0000
2.0000 0.0438 0.8232 0.1330 2.0000
2.0000 0.1372 0.8204 0.0423 2.0000
3.0000 0.0000 0.0024 0.9976 3.0000
2.0000 0.1959 0.7761 0.0280 2.0000
1.0000 0.9851 0.0148 0.0001 1.0000
2.0000 0.7109 0.2863 0.0029 1.0000
1.0000 0.9993 0.0007 0.0000 1.0000
2.0000 0.0556 0.8378 0.1066 2.0000
1.0000 0.9987 0.0013 0.0000 1.0000
2.0000 0.1740 0.7937 0.0323 2.0000
1.0000 0.9997 0.0003 0.0000 1.0000
2.0000 0.7161 0.2811 0.0028 1.0000
3.0000 0.0004 0.0552 0.9443 3.0000
1.0000 0.9569 0.0428 0.0003 1.0000
1.0000 0.1414 0.8176 0.0409 2.0000
3.0000 0.0005 0.0687 0.9308 3.0000
1.0000 0.3813 0.6075 0.0113 2.0000
3.0000 0.0023 0.2467 0.7510 3.0000
3.0000 0.0029 0.2899 0.7072 3.0000
Le pourcentage de bien classes est :
79.4118
Qualite de la prevision du modele en utilisant la regression
logistique usuelle : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2 3
−−−−−−−−−−−−−−−−−−−−−−−−8 3 0 11
2 8 1 11
0 1 11 12
10 12 12 34
****************************************************************************************************II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
6
Deviance
26.5794
Constante(s) SE
−2.6944 0.9516
59
2.3497 0.9782
Coefficients de regression logistique estimes
3.1702
1.4302
10.3022
SE
0.9231
0.8970
10.5007
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Coefficients de regression logistique PLS en se ramenant aux
variables d'origine
2.9923
2.2286
−0.7400−1.8381
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites
pour chaque reponse
2.0000 0.0077 0.5385 0.4538 2.0000
3.0000 0.0002 0.0325 0.9673 3.0000
2.0000 0.0043 0.3991 0.5966 3.0000
3.0000 0.0000 0.0059 0.9941 3.0000
1.0000 0.3560 0.6325 0.0115 2.0000
1.0000 0.9731 0.0267 0.0002 1.0000
3.0000 0.0000 0.0069 0.9930 3.0000
3.0000 0.0001 0.0095 0.9904 3.0000
3.0000 0.0000 0.0002 0.9998 3.0000
2.0000 0.4285 0.5630 0.0085 2.0000
1.0000 0.9494 0.0502 0.0003 1.0000
3.0000 0.0290 0.7933 0.1777 2.0000
3.0000 0.0005 0.0661 0.9334 3.0000
1.0000 0.7611 0.2369 0.0020 1.0000
2.0000 0.0177 0.7188 0.2635 2.0000
2.0000 0.0461 0.8362 0.1178 2.0000
2.0000 0.1678 0.8012 0.0310 2.0000
3.0000 0.0001 0.0089 0.9911 3.0000
2.0000 0.2700 0.7129 0.0171 2.0000
1.0000 0.9775 0.0224 0.0001 1.0000
2.0000 0.6216 0.3745 0.0039 1.0000
1.0000 0.9989 0.0011 0.0000 1.0000
2.0000 0.0288 0.7928 0.1784 2.0000
1.0000 0.9965 0.0035 0.0000 1.0000
2.0000 0.1340 0.8260 0.0400 2.0000
1.0000 0.9997 0.0003 0.0000 1.0000
2.0000 0.7429 0.2548 0.0022 1.0000
3.0000 0.0007 0.0923 0.9070 3.0000
1.0000 0.9554 0.0443 0.0003 1.0000
60
1.0000 0.1350 0.8253 0.0397 2.0000
3.0000 0.0005 0.0715 0.9280 3.0000
1.0000 0.3568 0.6317 0.0115 2.0000
3.0000 0.0030 0.3163 0.6807 3.0000
3.0000 0.0034 0.3434 0.6532 3.0000
Le pourcentage de bien classes est :
79.4118
Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse
sur les composantes PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2 3
−−−−−−−−−−−−−−−−−−−−−−−−8 3 0 11
2 8 1 11
0 1 11 12
10 12 12 34
****************************************************************************************************Choix du nombre de composantes significatives par le test
du Q2 au sens du khi2
****************************************************************************************************La premiere colonne donne la valeur du Q2 au sens du khi2
pour chaque composante
La deuxieme colonne indique si la composante est significative
−0.1950 0
0.2640 1.0000
0.1084 1.0000
Nombre de composantes PLS significatives
2
****************************************************************************************************Temps ecoule en secondes :
2.5725
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 6
***************************************************************************************************
***************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE ORDINALE PLS
Nom du fichier traite
vins bordeaux DM.xls
Nombre de variables explicatives
4
61
Nombre de modalites de la variable reponse
3
Nombre d'observations
33
Il existe des donnees manquantes
On n'a pas transpose le tableau de donnees
Il n'existe pas de variables explicatives qualitatives
****************************************************************************************************PARTIE I : Calcul des composantes
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−TT : composantes PLS
−1.8552 0.1721 −0.0953−0.7093 −0.5839 −0.0069−2.6709 −0.5108 0.1592
1.3177 −0.7997 −0.19882.2366 0.0946 −0.1714−2.1603 −0.8233 −0.0115−1.7854 −0.2685 −0.0510−2.5409 −1.8877 0.0658
1.1010 −1.0191 0.0637
1.5457 0.0232 0.0860
0.1953 −0.6870 −0.1429−1.7451 0.4143 −0.05391.1013 0.2897 0.0744
−0.4815 0.8075 −0.1555−0.5894 1.2973 −0.0212−0.1317 1.0228 0.0527
−1.5896 −0.7172 −0.03280.5559 −0.2310 0.0825
1.6446 0.3726 0.0716
0.5234 0.5631 0.0700
2.3828 0.6876 0.1142
−0.6988 0.9137 −0.05942.9098 −1.0591 −0.0350−0.3152 0.8425 0.0662
3.7106 −0.5917 −0.03301.2514 −0.0881 0.0054
−1.2458 −0.2390 −0.01491.5690 0.3918 0.0442
0.2134 −0.1067 0.0328
−1.8057 1.1641 −0.12260.4273 −0.0816 0.1107
−1.4431 0.3659 0.1621
−0.9178 0.2714 −0.0554
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−PP : coefficients de regression de E0 sur TT
0.5560 −0.3729 2.4936
0.5366 0.2972 1.3696
0.5324 −0.5633 −2.6307−0.3797 −0.7854 3.5881
62
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−CC : coefficients de regression de F0 sur TT
−0.4443 −0.1153 −1.0352
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WW : vecteurs propres
0.5686 −0.3251 0.4961
0.6284 0.2746 0.7046
0.4156 −0.7833 −0.1865−0.3303 −0.4532 −0.4718
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−WWS : W tilde
0.5686 −0.1668 0.1623
0.6284 0.4494 0.0188
0.4156 −0.6676 −0.1577−0.3303 −0.5451 0.0431
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−UU : composantes associees au tableau Y
−6.7522 −26.0199 −2.8980−4.5015 −17.3466 −1.9320−6.7522 −26.0199 −2.8980−2.2507 −8.6733 −0.9660−2.2507 −8.6733 −0.9660−6.7522 −26.0199 −2.8980−6.7522 −26.0199 −2.8980−6.7522 −26.0199 −2.8980−4.5015 −17.3466 −1.9320−2.2507 −8.6733 −0.9660−6.7522 −26.0199 −2.8980−6.7522 −26.0199 −2.8980−2.2507 −8.6733 −0.9660−4.5015 −17.3466 −1.9320−4.5015 −17.3466 −1.9320−4.5015 −17.3466 −1.9320−6.7522 −26.0199 −2.8980−4.5015 −17.3466 −1.9320−2.2507 −8.6733 −0.9660−4.5015 −17.3466 −1.9320−2.2507 −8.6733 −0.9660−4.5015 −17.3466 −1.9320−2.2507 −8.6733 −0.9660−4.5015 −17.3466 −1.9320−2.2507 −8.6733 −0.9660−4.5015 −17.3466 −1.9320−6.7522 −26.0199 −2.8980−2.2507 −8.6733 −0.9660−2.2507 −8.6733 −0.9660−6.7522 −26.0199 −2.8980−2.2507 −8.6733 −0.9660−6.7522 −26.0199 −2.8980−6.7522 −26.0199 −2.8980
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
63
BETA : coefficients de regression de Y sur X pour les donnees centrees reduites
−0.2526 −0.2334 −0.4014−0.2792 −0.3310 −0.3505−0.1846 −0.1077 0.0555
0.1468 0.2096 0.1649
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−LEV : matrice des leviers
0.0396 0.0413 0.0739
0.0058 0.0258 0.0260
0.0821 0.0974 0.1881
0.0200 0.0575 0.1990
0.0575 0.0581 0.1632
0.0537 0.0934 0.0939
0.0367 0.0409 0.0502
0.0743 0.2832 0.2987
0.0139 0.0748 0.0894
0.0275 0.0275 0.0540
0.0004 0.0281 0.1013
0.0350 0.0451 0.0555
0.0140 0.0189 0.0387
0.0027 0.0409 0.1275
0.0040 0.1027 0.1043
0.0002 0.0615 0.0715
0.0291 0.0592 0.0631
0.0036 0.0067 0.0311
0.0311 0.0393 0.0576
0.0032 0.0217 0.0393
0.0653 0.0930 0.1398
0.0056 0.0546 0.0672
0.0974 0.1632 0.1676
0.0011 0.0428 0.0584
0.1584 0.1789 0.1828
0.0180 0.0185 0.0186
0.0179 0.0212 0.0220
0.0283 0.0373 0.0443
0.0005 0.0012 0.0050
0.0375 0.1170 0.1708
0.0021 0.0025 0.0464
0.0240 0.0318 0.1259
0.0097 0.0140 0.0250
****************************************************************************************************PARTIE II : Resultats pour le nombre de composantes choisi a priori
****************************************************************************************************II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES
VARIABLES EXPLICATIVES
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
6
Deviance
24.7168
64
Constante(s) SE
−83.1844 35.2352
−78.5087 34.3050
Coefficients de regression logistique estimes
0.0235
0.0137
−0.0721−0.0259
SE
0.0128
0.0085
0.1209
0.0122
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour
chaque reponse
3.0000 0.0004 0.0381 0.9615 3.0000
2.0000 0.0057 0.3760 0.6183 3.0000
3.0000 0.0001 0.0055 0.9945 3.0000
1.0000 0.5009 0.4899 0.0092 1.0000
1.0000 0.9842 0.0156 0.0001 1.0000
3.0000 0.0001 0.0087 0.9912 3.0000
3.0000 0.0000 0.0027 0.9973 3.0000
3.0000 0.0000 0.0000 1.0000 3.0000
2.0000 0.3763 0.6085 0.0152 2.0000
1.0000 0.9563 0.0433 0.0004 1.0000
3.0000 0.0512 0.8016 0.1472 2.0000
3.0000 0.0006 0.0605 0.9389 3.0000
1.0000 0.6283 0.3663 0.0055 1.0000
2.0000 0.0230 0.6934 0.2836 2.0000
2.0000 0.0414 0.7810 0.1776 2.0000
2.0000 0.1273 0.8127 0.0601 2.0000
3.0000 0.0000 0.0019 0.9981 3.0000
2.0000 0.1918 0.7704 0.0378 2.0000
1.0000 0.9843 0.0155 0.0001 1.0000
2.0000 0.6938 0.3021 0.0041 1.0000
1.0000 0.9992 0.0008 0.0000 1.0000
2.0000 0.0537 0.8053 0.1409 2.0000
1.0000 0.9988 0.0012 0.0000 1.0000
2.0000 0.1590 0.7941 0.0470 2.0000
1.0000 0.9997 0.0003 0.0000 1.0000
2.0000 0.7227 0.2738 0.0036 1.0000
3.0000 0.0004 0.0425 0.9570 3.0000
1.0000 0.9561 0.0435 0.0004 1.0000
1.0000 0.1395 0.8062 0.0544 2.0000
3.0000 0.0005 0.0523 0.9472 3.0000
1.0000 0.3640 0.6200 0.0160 2.0000
65
3.0000 0.0020 0.1728 0.8253 3.0000
3.0000 0.0029 0.2374 0.7596 3.0000
Le pourcentage de bien classes est :
81.8182
Qualite de la prevision du modele en utilisant la regression
logistique usuelle : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque
ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2 3
−−−−−−−−−−−−−−−−−−−−−−−−9 2 0 11
2 7 1 10
0 1 11 12
11 10 12 33
****************************************************************************************************II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
6
Deviance
25.7748
Constante(s) SE
−2.5579 0.9127
2.0668 0.9638
Coefficients de regression logistique estimes
3.1146
1.3263
2.8951
SE
0.8794
0.8731
5.7121
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Coefficients de regression logistique PLS en se ramenant aux variables d'origine
2.0195
2.6078
−0.0475−1.6269
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
66
La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour chaque reponse
3.0000 0.0002 0.0225 0.9772 3.0000
2.0000 0.0038 0.2777 0.7185 3.0000
3.0000 0.0000 0.0015 0.9985 3.0000
1.0000 0.4776 0.5118 0.0106 2.0000
1.0000 0.9827 0.0172 0.0002 1.0000
3.0000 0.0000 0.0030 0.9969 3.0000
3.0000 0.0002 0.0178 0.9820 3.0000
3.0000 0.0000 0.0003 0.9997 3.0000
2.0000 0.4266 0.5604 0.0130 2.0000
1.0000 0.9266 0.0726 0.0008 1.0000
3.0000 0.0365 0.7577 0.2058 2.0000
3.0000 0.0005 0.0481 0.9514 3.0000
1.0000 0.8133 0.1844 0.0022 1.0000
2.0000 0.0312 0.7352 0.2336 2.0000
2.0000 0.0610 0.8078 0.1312 2.0000
2.0000 0.1886 0.7709 0.0405 2.0000
3.0000 0.0002 0.0191 0.9807 3.0000
2.0000 0.2903 0.6863 0.0234 2.0000
1.0000 0.9632 0.0364 0.0004 1.0000
2.0000 0.5054 0.4851 0.0095 1.0000
1.0000 0.9978 0.0022 0.0000 1.0000
2.0000 0.0243 0.6928 0.2829 2.0000
1.0000 0.9933 0.0066 0.0001 1.0000
2.0000 0.0970 0.8193 0.0836 2.0000
1.0000 0.9997 0.0003 0.0000 1.0000
2.0000 0.7753 0.2219 0.0028 1.0000
3.0000 0.0011 0.1011 0.8978 3.0000
1.0000 0.9515 0.0480 0.0005 1.0000
1.0000 0.1256 0.8105 0.0639 2.0000
3.0000 0.0009 0.0847 0.9144 3.0000
1.0000 0.2661 0.7076 0.0263 2.0000
3.0000 0.0022 0.1842 0.8135 3.0000
3.0000 0.0054 0.3508 0.6438 3.0000
Le pourcentage de bien classes est :
78.7879
Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse sur les composantes PLS :
tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2 3
−−−−−−−−−−−−−−−−−−−−−−−−8 3 0 11
2 7 1 10
0 1 11 12
10 11 12 33
67
****************************************************************************************************Temps ecoule en secondes :
2.5012
****************************************************************************************************
****************************************************************************************************
Resultats obtenus lors d’une regression logistique sur composantes PLS
On reprend les jeux de donnees precedents.
Utilisation du jeu 2
****************************************************************************************************
****************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION
DE VARIABLES
Nom du fichier traite
CHD.txt
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
1
Nombre de modalites de la variable reponse
1
Nombre d'observations
100
Il n'existe pas de donnees manquantes
Il n'existe pas de variables explicatives qualitatives
****************************************************************************************************PARTIE I : calcul des composantes
TT : composantes PLS
−2.0800−1.8240−1.7387−1.6534−1.6534−1.5681−1.5681−1.3975−1.3975−1.3121−1.2268−1.2268−1.2268−1.2268−1.2268−1.2268−1.0562−1.0562−0.9709
68
−0.9709−0.8856−0.8856−0.8856−0.8856−0.8856−0.8003−0.8003−0.7149−0.7149−0.7149−0.6296−0.6296−0.6296−0.5443−0.5443−0.4590−0.4590−0.3737−0.3737−0.2884−0.2884−0.2030−0.2030−0.2030−0.2030−0.1177−0.1177−0.1177−0.0324−0.0324−0.0324−0.03240.0529
0.0529
0.1382
0.1382
0.2235
0.2235
0.2235
0.3088
0.3088
0.3088
0.3942
0.3942
0.3942
0.4795
0.4795
0.5648
0.6501
0.6501
0.7354
0.7354
0.8207
0.9060
69
0.9060
0.9060
0.9914
0.9914
0.9914
1.0767
1.0767
1.0767
1.0767
1.0767
1.0767
1.1620
1.1620
1.1620
1.2473
1.2473
1.3326
1.3326
1.4179
1.5032
1.5032
1.5886
1.6739
1.6739
1.7592
2.1004
****************************************************************************************************PP : coefficients de regression de E0 sur TT
1
****************************************************************************************************CC : coefficients de regression de F0 sur TT
0.5138
****************************************************************************************************WW : vecteurs propres
1
****************************************************************************************************WWS : W tilde
1
*******************************************************************************************************Choix du nombre de composantes PLS significatives par le test du Q2
*******************************************************************************************************Le premier vecteur donne le Q2cum
0.2523
Le deuxieme vecteur donne le resultat du test qui est egal a 1
si on conserve la composante
1
Nombre de composantes PLS significatives
1
70
PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
107.3531
Constante(s) SE
0.3866 0.2397
Coefficients de regression logistique estimes
−1.2998
SE
0.2820
Coefficients de regression logistique PLS en se ramenant aux variables d'origine
−1.2998
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour chaque reponse
1.0000 0.9565 0.0435 1.0000
1.0000 0.9403 0.0597 1.0000
1.0000 0.9338 0.0662 1.0000
1.0000 0.9266 0.0734 1.0000
2.0000 0.9266 0.0734 1.0000
1.0000 0.9187 0.0813 1.0000
1.0000 0.9187 0.0813 1.0000
1.0000 0.9005 0.0995 1.0000
1.0000 0.9005 0.0995 1.0000
1.0000 0.8901 0.1099 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
1.0000 0.8788 0.1212 1.0000
2.0000 0.8788 0.1212 1.0000
1.0000 0.8531 0.1469 1.0000
1.0000 0.8531 0.1469 1.0000
1.0000 0.8387 0.1613 1.0000
1.0000 0.8387 0.1613 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
2.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8231 0.1769 1.0000
1.0000 0.8064 0.1936 1.0000
1.0000 0.8064 0.1936 1.0000
71
1.0000 0.7885 0.2115 1.0000
2.0000 0.7885 0.2115 1.0000
1.0000 0.7885 0.2115 1.0000
1.0000 0.7694 0.2306 1.0000
2.0000 0.7694 0.2306 1.0000
1.0000 0.7694 0.2306 1.0000
1.0000 0.7492 0.2508 1.0000
1.0000 0.7492 0.2508 1.0000
1.0000 0.7277 0.2723 1.0000
2.0000 0.7277 0.2723 1.0000
1.0000 0.7052 0.2948 1.0000
2.0000 0.7052 0.2948 1.0000
1.0000 0.6817 0.3183 1.0000
1.0000 0.6817 0.3183 1.0000
1.0000 0.6571 0.3429 1.0000
1.0000 0.6571 0.3429 1.0000
1.0000 0.6571 0.3429 1.0000
2.0000 0.6571 0.3429 1.0000
1.0000 0.6317 0.3683 1.0000
1.0000 0.6317 0.3683 1.0000
2.0000 0.6317 0.3683 1.0000
1.0000 0.6056 0.3944 1.0000
1.0000 0.6056 0.3944 1.0000
2.0000 0.6056 0.3944 1.0000
2.0000 0.6056 0.3944 1.0000
1.0000 0.5788 0.4212 1.0000
2.0000 0.5788 0.4212 1.0000
1.0000 0.5516 0.4484 1.0000
2.0000 0.5516 0.4484 1.0000
1.0000 0.5240 0.4760 1.0000
1.0000 0.5240 0.4760 1.0000
2.0000 0.5240 0.4760 1.0000
1.0000 0.4963 0.5037 2.0000
2.0000 0.4963 0.5037 2.0000
2.0000 0.4963 0.5037 2.0000
1.0000 0.4686 0.5314 2.0000
1.0000 0.4686 0.5314 2.0000
2.0000 0.4686 0.5314 2.0000
1.0000 0.4411 0.5589 2.0000
2.0000 0.4411 0.5589 2.0000
1.0000 0.4140 0.5860 2.0000
1.0000 0.3874 0.6126 2.0000
2.0000 0.3874 0.6126 2.0000
2.0000 0.3614 0.6386 2.0000
2.0000 0.3614 0.6386 2.0000
2.0000 0.3362 0.6638 2.0000
1.0000 0.3119 0.6881 2.0000
2.0000 0.3119 0.6881 2.0000
2.0000 0.3119 0.6881 2.0000
2.0000 0.2886 0.7114 2.0000
2.0000 0.2886 0.7114 2.0000
2.0000 0.2886 0.7114 2.0000
1.0000 0.2664 0.7336 2.0000
1.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
72
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
2.0000 0.2664 0.7336 2.0000
1.0000 0.2453 0.7547 2.0000
2.0000 0.2453 0.7547 2.0000
2.0000 0.2453 0.7547 2.0000
2.0000 0.2254 0.7746 2.0000
2.0000 0.2254 0.7746 2.0000
1.0000 0.2066 0.7934 2.0000
2.0000 0.2066 0.7934 2.0000
2.0000 0.1890 0.8110 2.0000
2.0000 0.1726 0.8274 2.0000
2.0000 0.1726 0.8274 2.0000
2.0000 0.1573 0.8427 2.0000
1.0000 0.1432 0.8568 2.0000
2.0000 0.1432 0.8568 2.0000
2.0000 0.1301 0.8699 2.0000
2.0000 0.0876 0.9124 2.0000
Le pourcentage de bien classes est :
74
Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse sur les composantes
PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−45 12 57
14 29 43
59 41 100
****************************************************************************************************Temps ecoule en secondes
0.0383
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 3
****************************************************************************************************
****************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION
DE VARIABLES
Nom du fichier traite
dvirt.txt
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
5
73
Nombre de modalites de la variable reponse
1
Nombre d'observations
64
Il n'existe pas de donnees manquantes
Il n'existe pas de variables explicatives qualitatives
****************************************************************************************************PARTIE I : calcul des composantes
TT : composantes PLS
1.2090 0.4913 0.4850
0.1727 −0.5216 0.0663
−0.1727 0.6644 −0.0655−1.2090 −0.3484 −0.48421.2090 1.6339 −0.26740.1727 0.6211 −0.6861−0.1727 1.8071 −0.8179−1.2090 0.7942 −1.23661.8998 −0.7380 −0.00370.8636 −1.7508 −0.42240.5181 −0.5648 −0.5543−0.5181 −1.5777 −0.97301.8998 0.4047 −0.75610.8636 −0.6081 −1.17480.5181 0.5778 −1.3066−0.5181 −0.4350 −1.72530.5181 0.4350 1.7253
−0.5181 −0.5778 1.3066
−0.8636 0.6081 1.1748
−1.8998 −0.4047 0.7561
0.5181 1.5777 0.9730
−0.5181 0.5648 0.5543
−0.8636 1.7508 0.4224
−1.8998 0.7380 0.0037
1.2090 −0.7942 1.2366
0.1727 −1.8071 0.8179
−0.1727 −0.6211 0.6861
−1.2090 −1.6339 0.2674
1.2090 0.3484 0.4842
0.1727 −0.6644 0.0655
−0.1727 0.5216 −0.0663−1.2090 −0.4913 −0.48501.2090 0.4913 0.4850
0.1727 −0.5216 0.0663
−0.1727 0.6644 −0.0655−1.2090 −0.3484 −0.48421.2090 1.6339 −0.26740.1727 0.6211 −0.6861−0.1727 1.8071 −0.8179−1.2090 0.7942 −1.23661.8998 −0.7380 −0.00370.8636 −1.7508 −0.42240.5181 −0.5648 −0.5543
74
−0.5181 −1.5777 −0.97301.8998 0.4047 −0.75610.8636 −0.6081 −1.17480.5181 0.5778 −1.3066−0.5181 −0.4350 −1.72530.5181 0.4350 1.7253
−0.5181 −0.5778 1.3066
−0.8636 0.6081 1.1748
−1.8998 −0.4047 0.7561
0.5181 1.5777 0.9730
−0.5181 0.5648 0.5543
−0.8636 1.7508 0.4224
−1.8998 0.7380 0.0037
1.2090 −0.7942 1.2366
0.1727 −1.8071 0.8179
−0.1727 −0.6211 0.6861
−1.2090 −1.6339 0.2674
1.2090 0.3484 0.4842
0.1727 −0.6644 0.0655
−0.1727 0.5216 −0.0663−1.2090 −0.4913 −0.4850
****************************************************************************************************PP : coefficients de regression de E0 sur TT
−0.3482 −0.0288 0.8722
0.3482 −0.6294 −0.3437−0.0000 0.5850 −0.5291−0.6963 0.0886 −0.3871−0.5222 −0.5186 −0.2944
****************************************************************************************************CC : coefficients de regression de F0 sur TT
0.3655 0 0
****************************************************************************************************WW : vecteurs propres
−0.3482 −0.0720 0.6495
0.3482 −0.5759 0.0764
0 0.5759 −0.6877−0.6963 0 −0.3057−0.5222 −0.5759 0.0764
****************************************************************************************************WWS : W tilde
−0.3482 −0.0284 0.6251
0.3482 −0.6195 −0.24630 0.5759 −0.3792
−0.6963 0.0873 −0.2774−0.5222 −0.5104 −0.2110
****************************************************************************************************Choix du nombre de composantes PLS significatives par le test du Q2
*******************************************************************************************************Le premier vecteur donne le Q2cum
0.1059
75
0.1059
0.1059
Le deuxieme vecteur donne le resultat du test qui est egal a 1 si on
conserve la composante
1
0
0
Nombre de composantes PLS significatives
1
PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
77.4044
Constante(s) SE
0.4399 0.2766
Coefficients de regression logistique estimes
−0.84390.0010
0.0085
SE
0.3059
0.2740
0.3201
Coefficients de regression logistique PLS en se ramenant aux variables d'origine
0.2991
−0.2966−0.00270.5854
0.4384
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour chaque reponse
2.0000 0.3599 0.6401 2.0000
2.0000 0.5730 0.4270 1.0000
2.0000 0.6424 0.3576 1.0000
1.0000 0.8109 0.1891 1.0000
1.0000 0.3587 0.6413 2.0000
1.0000 0.5717 0.4283 1.0000
1.0000 0.6412 0.3588 1.0000
2.0000 0.8101 0.1899 1.0000
76
1.0000 0.2379 0.7621 2.0000
2.0000 0.4270 0.5730 2.0000
1.0000 0.4993 0.5007 2.0000
1.0000 0.7042 0.2958 1.0000
2.0000 0.2369 0.7631 2.0000
1.0000 0.4257 0.5743 2.0000
2.0000 0.4980 0.5020 2.0000
1.0000 0.7031 0.2969 1.0000
2.0000 0.5045 0.4955 1.0000
1.0000 0.7084 0.2916 1.0000
1.0000 0.7648 0.2352 1.0000
1.0000 0.8859 0.1141 1.0000
1.0000 0.5031 0.4969 1.0000
1.0000 0.7073 0.2927 1.0000
1.0000 0.7639 0.2361 1.0000
1.0000 0.8853 0.1147 1.0000
2.0000 0.3611 0.6389 2.0000
2.0000 0.5743 0.4257 1.0000
1.0000 0.6436 0.3564 1.0000
1.0000 0.8117 0.1883 1.0000
2.0000 0.3599 0.6401 2.0000
2.0000 0.5730 0.4270 1.0000
1.0000 0.6424 0.3576 1.0000
2.0000 0.8109 0.1891 1.0000
2.0000 0.3599 0.6401 2.0000
1.0000 0.5730 0.4270 1.0000
2.0000 0.6424 0.3576 1.0000
1.0000 0.8109 0.1891 1.0000
1.0000 0.3587 0.6413 2.0000
2.0000 0.5717 0.4283 1.0000
1.0000 0.6412 0.3588 1.0000
2.0000 0.8101 0.1899 1.0000
1.0000 0.2379 0.7621 2.0000
2.0000 0.4270 0.5730 2.0000
2.0000 0.4993 0.5007 2.0000
1.0000 0.7042 0.2958 1.0000
2.0000 0.2369 0.7631 2.0000
1.0000 0.4257 0.5743 2.0000
2.0000 0.4980 0.5020 2.0000
1.0000 0.7031 0.2969 1.0000
2.0000 0.5045 0.4955 1.0000
1.0000 0.7084 0.2916 1.0000
1.0000 0.7648 0.2352 1.0000
1.0000 0.8859 0.1141 1.0000
2.0000 0.5031 0.4969 1.0000
1.0000 0.7073 0.2927 1.0000
1.0000 0.7639 0.2361 1.0000
1.0000 0.8853 0.1147 1.0000
2.0000 0.3611 0.6389 2.0000
1.0000 0.5743 0.4257 1.0000
1.0000 0.6436 0.3564 1.0000
1.0000 0.8117 0.1883 1.0000
2.0000 0.3599 0.6401 2.0000
1.0000 0.5730 0.4270 1.0000
1.0000 0.6424 0.3576 1.0000
77
2.0000 0.8109 0.1891 1.0000
Le pourcentage de bien classes est :
68.7500
Qualite de la prevision du modele en utilisant la regression logistique
de la variable reponse sur les composantes PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−31 7 38
13 13 26
44 20 64
****************************************************************************************************Temps ecoule en secondes
0.0472
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 4
****************************************************************************************************
****************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS
SELECTION DE VARIABLES
Nom du fichier traite
risque2.xls
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
5
Nombre de modalites de la variable reponse
1
Nombre d'observations
189
Il n'existe pas de donnees manquantes
Il existe des variables explicatives qualitatives
Les eventuelles variables qualitatives seront placees a droite du tableau
****************************************************************************************************PARTIE I : calcul des composantes
TT : composantes PLS
0.0761 1.3906 −1.7775−1.5502 0.6984 2.0844
0.3435 −0.2882 −0.5998−0.0414 0.0726 −0.42240.7077 −0.7352 −0.9810
78
0.8704 −0.6283 0.5145
−0.1136 −0.2982 −0.46571.4440 −0.3099 0.2555
−0.8358 −0.0120 0.4856
−0.1238 −0.4103 0.1027
1.6742 −0.4913 0.5708
0.2502 −0.5898 −0.01501.4111 −0.3516 1.0040
−0.0148 0.6017 2.1537
0.8594 −0.6796 −0.89770.8594 −0.6796 −0.89772.2471 1.8710 −1.3555−0.8410 0.5175 0.1049
1.0448 −0.6431 0.4177
−0.6831 −0.0348 0.3769
−0.4936 0.5837 2.2759
−0.9771 0.9397 1.1855
−3.1615 −0.3131 0.5563
0.3432 −0.2707 1.5729
0.1419 0.2657 1.2770
−1.4693 −0.7458 −0.25110.4704 −0.9008 −1.3039−1.6530 0.1117 0.2330
−0.2344 1.8276 −0.60011.5145 2.1831 −1.17651.5145 2.1831 −1.17650.3178 0.0171 0.1563
−0.2373 2.9577 1.3275
−1.1784 −0.4522 −0.47280.7851 2.1223 −0.2328−1.4363 0.1911 0.3520
−0.5161 −0.2586 −1.0682−0.4499 −0.4511 0.1162
−3.2369 −0.3110 −0.2517−0.8831 0.2853 1.2298
−0.6287 2.1359 −1.3870−1.6213 −0.6634 −1.67510.6200 2.3275 −0.5124−0.7038 −1.0161 −1.17861.0761 −0.6003 −0.77881.0761 −0.6003 −0.7788−1.9904 1.0703 1.0178
0.8724 −0.7849 0.1305
−0.4561 0.1567 −0.07251.6278 −0.2722 1.1230
−0.1569 −0.3141 −0.48950.6083 −0.5669 0.7557
−0.1414 −0.7315 −0.6772−0.5489 0.5948 1.0319
1.2408 −0.6500 0.3328
1.6122 −0.7500 −0.04091.1738 −0.5172 0.6811
−0.5472 −0.4394 1.4690
1.4131 −0.5082 0.6200
1.3295 −0.7749 −0.0036
79
1.3295 −0.7749 −0.00360.3390 0.1805 1.0002
0.9107 −0.3775 1.1143
−0.8843 −0.5315 0.0702
0.2369 −0.4670 1.1294
−0.2492 −0.6940 −0.09670.3380 0.2588 1.1922
−3.8669 0.7257 0.4380
−0.4366 −0.5739 −1.0282−0.1313 2.3968 −0.92130.2486 −0.5886 −0.4630−1.0343 0.3070 1.7864
0.6579 −0.1258 0.9791
1.8560 1.8065 −1.37770.2764 −1.0505 −1.6030−0.8547 0.9710 −2.4812−0.8534 −0.3332 −0.2943−0.9525 3.7289 0.9456
0.2290 −0.7532 −0.8589−1.5293 −1.1611 −1.2468−0.3953 −0.4014 −0.6204−1.0910 −0.4813 1.5555
0.3846 −0.0982 1.9807
0.8931 −0.6987 0.3344
0.7167 −0.5273 0.8152
1.3078 −0.7828 −0.01550.6634 −0.6728 −0.8129−0.2291 −0.6849 −0.5328−2.3442 −0.4368 0.8089
−0.2653 −0.3538 −0.54900.4123 −0.5601 0.8406
−0.6048 −0.1338 −0.7318−2.1537 −1.7045 −2.35980.3539 −0.3141 0.1725
0.2764 −1.0505 −1.6030−1.0958 −0.1073 0.3428
−1.5075 −0.2580 0.1167
−0.2467 −1.0061 −1.3126−0.2467 −1.0061 −1.3126−1.2268 −0.0766 0.4634
−0.1156 −0.1416 −0.0817−1.0485 −1.2997 −1.75290.9107 −0.3775 1.1143
−0.0279 −0.1882 −0.22611.0448 −0.6431 0.4177
−1.7286 1.2017 −1.6132−0.6851 0.1218 0.7609
−0.9865 −1.0410 −1.1413−0.0383 −0.1623 −0.9984−0.3296 2.6982 −1.7931−2.6962 −0.0343 0.2378
0.9880 −0.3982 0.1976
−1.2196 0.2705 0.4710
−1.0565 0.2218 1.1346
−0.8328 −1.1421 −1.4419
80
−0.1923 −0.0438 1.4750
0.4517 −1.1436 −1.89180.1266 −0.3500 1.4539
−0.6522 0.1636 0.0124
1.7051 −0.2929 0.2063
−0.8050 −0.7088 −1.2305−0.3482 −0.6812 0.8081
0.0391 −0.3210 −0.5744−0.1198 −0.7236 −0.6653−0.8689 0.0842 −0.1066−1.1783 0.4429 0.8788
−2.3804 −0.1057 0.7927
0.3383 −0.7918 −0.9914−0.2456 −0.1893 −0.1531−2.2388 0.7329 2.7959
0.3432 −0.2707 1.5729
−1.2196 0.2705 0.4710
−1.3476 2.0493 0.3290
0.9314 −0.2913 1.3182
1.3648 −0.1326 1.5562
−0.2192 −0.5553 1.0715
1.0479 0.0171 1.1933
0.5756 2.3900 −0.34420.4340 −0.5521 0.8525
−1.0444 −0.7178 −1.1694−0.4766 −0.0675 1.0643
0.9668 −0.5617 −0.64630.7147 −0.3707 1.1992
0.9466 −0.5707 −0.21020.4190 −0.2902 0.2082
−0.8638 −0.3073 −1.0666−0.9537 2.0169 −1.5655−0.8585 −0.8368 −0.68591.3255 −0.4617 0.7644
0.9364 −0.6828 0.3582
1.0459 0.1737 1.5773
0.2640 0.0271 −0.63980.5117 −0.7283 −0.8962−0.2105 −0.4421 0.0551
−0.4902 −0.7019 −0.48361.0911 −0.8622 −0.13450.6354 2.9433 −0.6892−0.3736 −0.3935 −0.60850.5014 2.1757 −0.00351.9116 −0.3257 0.8937
0.7304 −0.8056 −1.16110.6992 0.0467 1.3869
1.2831 −0.5558 0.5486
0.6134 −0.9585 −0.20431.7240 1.9154 −1.06510.2290 −0.7532 −0.85890.4617 0.9142 1.0748
1.0387 −0.1733 1.5697
−0.5561 0.2478 1.0243
0.9058 −0.8987 −1.4499
81
−0.6152 1.8752 −1.19071.2886 1.9133 −0.91911.3062 2.2345 −0.13921.5916 −0.8362 −0.24480.7817 −0.5035 0.8509
−1.1030 −0.4543 0.3352
−0.3736 −0.3935 −0.6085−0.1828 0.1291 −1.07410.2043 −0.5262 −0.29481.1306 2.4656 −1.1911−0.4503 −0.2956 0.9482
0.6732 0.4900 0.8023
−1.7924 −1.0214 −0.81361.9826 −0.7717 −0.2226−0.3735 0.5017 0.7431
1.5399 −0.0877 −0.07331.3451 −0.2971 1.1603
1.1183 1.6149 −1.5903−0.7503 0.2360 −0.6155
****************************************************************************************************PP : coefficients de regression de E0 sur TT
−0.5921 0.1965 0.6495
−0.6532 0.0551 −0.3420−0.3866 0.4459 0.1118
0.1149 0.8847 −0.33860.4045 −0.2440 0.6014
****************************************************************************************************CC : coefficients de regression de F0 sur TT
0.2151 0.0854 0.0231
****************************************************************************************************WW : vecteurs propres
−0.4646 0.3962 0.6941
−0.6626 −0.0295 −0.2941−0.2460 0.4372 −0.03020.3734 0.8035 −0.28240.3809 −0.0735 0.5925
****************************************************************************************************WWS : W tilde
−0.4646 0.2467 0.7651
−0.6626 −0.2427 −0.3639−0.2460 0.3581 0.0728
0.3734 0.9236 −0.01670.3809 0.0490 0.6066
****************************************************************************************************UU : composantes associees au tableau Y
−3.1232 −8.0599 −34.8726−3.1232 −3.9629 −17.2003−3.1232 −8.7336 −31.1639−3.1232 −7.7640 −28.9172−3.1232 −9.6512 −32.9003
82
−3.1232 −10.0610 −34.8068−3.1232 −7.5821 −26.8777−3.1232 −11.5061 −41.3145−3.1232 −5.7628 −21.2204−3.1232 −7.5564 −26.3690−3.1232 −12.0860 −42.7847−3.1232 −8.4985 −29.1834−3.1232 −11.4233 −40.8546−3.1232 −7.8310 −31.1166−3.1232 −10.0334 −34.5154−3.1232 −10.0334 −34.5154−3.1232 −13.5293 −56.8275−3.1232 −5.7495 −23.1253−3.1232 −10.5003 −36.3731−3.1232 −6.1475 −22.5560−3.1232 −6.6249 −26.5996−3.1232 −5.4067 −23.4182−3.1232 0.0964 1.5108
−3.1232 −8.7330 −31.2262−3.1232 −8.2258 −31.3340−3.1232 −4.1666 −12.6228−3.1232 −9.0533 −30.0827−3.1232 −3.7039 −14.0796−3.1232 −7.2778 −33.5993−3.1232 −11.6837 −51.1686−3.1232 −11.6837 −51.1686−3.1232 −8.6689 −32.0514−3.1232 −7.2705 −37.7421−3.1232 −4.8995 −16.4105−3.1232 −9.8462 −44.1641−3.1232 −4.2498 −16.3869−3.1232 −6.5681 −23.2820−3.1232 −6.7350 −23.1876−3.1232 0.2864 2.2046
−3.1232 −5.6434 −21.8772−3.1232 −6.2845 −31.0714−3.1232 −3.7839 −11.5148−3.1232 −9.4301 −43.3860−3.1232 −6.0951 −18.7415−3.1232 −10.5793 −36.8227−3.1232 −10.5793 −36.8227−3.1232 −2.8539 −14.4803−3.1232 −10.0661 −34.2477−3.1232 −6.7191 −25.3720−3.1232 −11.9692 −43.1619−3.1232 −7.4729 −26.4162−3.1232 −9.4008 −32.5972−3.1232 −7.5120 −25.0201−3.1232 −6.4855 −26.1264−3.1232 −10.9942 −38.1701−3.1232 −11.9299 −41.2539−3.1232 −10.8253 −38.0370−3.1232 −6.4896 −22.3253−3.1232 −11.4284 −40.2955−3.1232 −11.2176 −38.5339
83
−3.1232 −11.2176 −38.5339−3.1232 −8.7223 −32.8514−3.1232 −10.1626 −36.1069−3.1232 −5.6406 −18.8525−3.1232 −8.4651 −29.5134−3.1232 −7.2403 −24.1562−3.1232 −8.7197 −33.1310−3.1232 1.8736 4.2357
−3.1232 −6.7683 −22.8576−3.1232 −7.5375 −36.6578−3.1232 −8.4946 −29.1732−3.1232 −5.2626 −20.5518−3.1232 −9.5256 −34.6855−3.1232 −12.5441 −52.9539−3.1232 −8.5645 −27.7266−3.1232 −5.7150 −24.6717−3.1232 −5.7184 −19.8715−3.1232 −5.4687 −33.9393−3.1232 −8.4451 −28.3834−3.1232 −4.0155 −10.5329−3.1232 −6.8724 −23.8782−3.1232 −5.1198 −17.1162−3.1232 −8.8371 −32.2467−3.1232 −10.1181 −34.7580−3.1232 −9.6738 −33.7508−3.1232 −11.1630 −38.3032−3.1232 −9.5395 −32.7184−3.1232 −7.2911 −24.3767−3.1232 −1.9626 −5.6300−3.1232 −7.2000 −25.2626−3.1232 −8.9069 −30.8001−3.1232 −6.3446 −22.9182−3.1232 −2.4426 −2.7235−3.1232 −8.7599 −31.1655−3.1232 −8.5645 −27.7266−3.1232 −5.1077 −18.4517−3.1232 −4.0704 −14.0678−3.1232 −7.2466 −23.0277−3.1232 −7.2466 −23.0277−3.1232 −4.7776 −17.3468−3.1232 −7.5770 −27.4368−3.1232 −5.2267 −14.4907−3.1232 −10.1626 −36.1069−3.1232 −7.7979 −28.0801−3.1232 −10.5003 −36.3731−3.1232 −3.5136 −17.3993−3.1232 −6.1424 −23.1151−3.1232 −5.3829 −16.0216−3.1232 −7.7716 −28.0785−3.1232 −7.0380 −35.9269−3.1232 −1.0758 −3.8432−3.1232 −10.3572 −36.7487−3.1232 −4.7957 −18.6942−3.1232 −5.2067 −20.0313−3.1232 −5.7701 −17.0776
84
−3.1232 −7.3838 −27.0848−3.1232 −9.0063 −29.0133−3.1232 −8.1871 −28.9189−3.1232 −6.2253 −23.5749−3.1232 −12.1638 −43.8037−3.1232 −5.8403 −18.9352−3.1232 −6.9911 −23.2837−3.1232 −7.9668 −28.2132−3.1232 −7.5666 −25.2508−3.1232 −5.6793 −21.2676−3.1232 −4.8998 −19.7147−3.1232 −1.8715 −6.5159−3.1232 −8.7206 −29.2575−3.1232 −7.2495 −26.0524−3.1232 −2.2282 −10.92656.8817 16.4721 61.7811
6.8817 20.4094 74.3131
6.8817 20.7318 68.9388
6.8817 14.9905 56.3901
6.8817 13.8986 51.7755
6.8817 17.8889 68.0597
6.8817 14.6969 54.1686
6.8817 15.8867 49.8032
6.8817 16.2436 61.9764
6.8817 19.9679 76.3306
6.8817 18.5375 68.6527
6.8817 14.9013 57.0587
6.8817 15.5364 58.6974
6.8817 14.9520 57.2792
6.8817 16.2814 61.1496
6.8817 19.5130 73.1374
6.8817 19.7395 65.3968
6.8817 19.4997 75.0422
6.8817 13.9977 53.3551
6.8817 14.9778 57.7878
6.8817 14.7020 53.6095
6.8817 16.6717 61.4190
6.8817 16.0477 61.9040
6.8817 17.8671 67.5612
6.8817 18.5717 71.1198
6.8817 14.5880 57.0114
6.8817 15.7362 47.2062
6.8817 18.2781 68.8984
6.8817 16.0737 51.2836
6.8817 12.5211 47.4050
6.8817 15.4967 60.1558
6.8817 15.5754 57.3012
6.8817 14.1043 54.0962
6.8817 15.7916 61.8079
6.8817 12.9936 40.8787
6.8817 16.7600 64.6239
6.8817 16.1737 56.3076
6.8817 14.7201 54.9569
6.8817 18.7377 68.2283
6.8817 15.0549 58.8691
85
6.8817 18.8867 62.7729
6.8817 14.0906 44.9342
6.8817 14.0461 43.5853
6.8817 13.3273 52.2637
6.8817 15.3675 58.5643
6.8817 20.1155 75.9029
6.8817 18.2781 68.8984
6.8817 17.7975 65.1966
6.8817 16.8222 64.0160
6.8817 14.4885 44.3649
6.8817 18.4713 69.2504
6.8817 15.6408 55.9067
6.8817 21.8523 84.4045
6.8817 12.3421 48.3901
6.8817 18.2778 65.5942
6.8817 13.4574 49.9817
6.8817 13.9482 52.5653
6.8817 14.5197 47.6187
6.8817 19.2270 70.0773
****************************************************************************************************LEV : matrice des leviers
0.0000 0.0107 0.0271
0.0107 0.0134 0.0360
0.0005 0.0010 0.0029
0.0000 0.0000 0.0010
0.0022 0.0052 0.0102
0.0034 0.0056 0.0069
0.0001 0.0005 0.0017
0.0093 0.0099 0.0102
0.0031 0.0031 0.0043
0.0001 0.0010 0.0011
0.0125 0.0139 0.0156
0.0003 0.0022 0.0022
0.0089 0.0096 0.0148
0.0000 0.0020 0.0261
0.0033 0.0058 0.0100
0.0033 0.0058 0.0100
0.0226 0.0419 0.0514
0.0032 0.0046 0.0047
0.0049 0.0072 0.0081
0.0021 0.0021 0.0028
0.0011 0.0030 0.0299
0.0043 0.0091 0.0164
0.0447 0.0452 0.0468
0.0005 0.0009 0.0138
0.0001 0.0005 0.0090
0.0097 0.0127 0.0130
0.0010 0.0055 0.0143
0.0122 0.0123 0.0126
0.0002 0.0187 0.0205
0.0103 0.0365 0.0437
0.0103 0.0365 0.0437
0.0005 0.0005 0.0006
0.0003 0.0485 0.0577
86
0.0062 0.0073 0.0085
0.0028 0.0276 0.0279
0.0092 0.0094 0.0101
0.0012 0.0016 0.0075
0.0009 0.0020 0.0021
0.0468 0.0474 0.0477
0.0035 0.0039 0.0118
0.0018 0.0269 0.0369
0.0117 0.0142 0.0288
0.0017 0.0316 0.0330
0.0022 0.0079 0.0151
0.0052 0.0072 0.0103
0.0052 0.0072 0.0103
0.0177 0.0240 0.0294
0.0034 0.0068 0.0069
0.0009 0.0011 0.0011
0.0118 0.0123 0.0188
0.0001 0.0007 0.0019
0.0017 0.0034 0.0064
0.0001 0.0030 0.0054
0.0013 0.0033 0.0088
0.0069 0.0092 0.0098
0.0116 0.0147 0.0147
0.0062 0.0076 0.0100
0.0013 0.0024 0.0136
0.0089 0.0104 0.0123
0.0079 0.0112 0.0112
0.0079 0.0112 0.0112
0.0005 0.0007 0.0059
0.0037 0.0045 0.0109
0.0035 0.0051 0.0051
0.0003 0.0015 0.0081
0.0003 0.0029 0.0030
0.0005 0.0009 0.0083
0.0668 0.0697 0.0707
0.0009 0.0027 0.0082
0.0001 0.0318 0.0362
0.0003 0.0022 0.0033
0.0048 0.0053 0.0219
0.0019 0.0020 0.0070
0.0154 0.0334 0.0433
0.0003 0.0064 0.0198
0.0033 0.0085 0.0405
0.0033 0.0039 0.0043
0.0041 0.0807 0.0854
0.0002 0.0034 0.0072
0.0105 0.0179 0.0260
0.0007 0.0016 0.0036
0.0053 0.0066 0.0192
0.0007 0.0007 0.0211
0.0036 0.0063 0.0068
0.0023 0.0038 0.0073
0.0076 0.0110 0.0110
0.0020 0.0045 0.0079
0.0002 0.0028 0.0043
87
0.0246 0.0256 0.0290
0.0003 0.0010 0.0026
0.0008 0.0025 0.0062
0.0016 0.0017 0.0045
0.0207 0.0368 0.0657
0.0006 0.0011 0.0013
0.0003 0.0064 0.0198
0.0054 0.0054 0.0060
0.0102 0.0105 0.0106
0.0003 0.0059 0.0148
0.0003 0.0059 0.0148
0.0067 0.0068 0.0079
0.0001 0.0002 0.0002
0.0049 0.0142 0.0302
0.0037 0.0045 0.0109
0.0000 0.0002 0.0005
0.0049 0.0072 0.0081
0.0134 0.0213 0.0348
0.0021 0.0022 0.0052
0.0044 0.0103 0.0171
0.0000 0.0002 0.0053
0.0005 0.0406 0.0574
0.0325 0.0325 0.0328
0.0044 0.0052 0.0054
0.0066 0.0071 0.0082
0.0050 0.0053 0.0120
0.0031 0.0103 0.0211
0.0002 0.0002 0.0115
0.0009 0.0081 0.0267
0.0001 0.0007 0.0117
0.0019 0.0020 0.0020
0.0130 0.0135 0.0137
0.0029 0.0057 0.0135
0.0005 0.0031 0.0065
0.0000 0.0006 0.0023
0.0001 0.0030 0.0053
0.0034 0.0034 0.0035
0.0062 0.0073 0.0113
0.0253 0.0254 0.0287
0.0005 0.0040 0.0091
0.0003 0.0005 0.0006
0.0224 0.0254 0.0660
0.0005 0.0009 0.0138
0.0066 0.0071 0.0082
0.0081 0.0313 0.0318
0.0039 0.0043 0.0134
0.0083 0.0084 0.0210
0.0002 0.0019 0.0079
0.0049 0.0049 0.0123
0.0015 0.0330 0.0336
0.0008 0.0025 0.0063
0.0049 0.0077 0.0148
0.0010 0.0010 0.0069
0.0042 0.0059 0.0081
0.0023 0.0030 0.0105
88
0.0040 0.0058 0.0060
0.0008 0.0012 0.0015
0.0033 0.0039 0.0098
0.0041 0.0265 0.0392
0.0033 0.0072 0.0096
0.0079 0.0090 0.0121
0.0039 0.0065 0.0072
0.0049 0.0051 0.0180
0.0003 0.0003 0.0024
0.0012 0.0041 0.0083
0.0002 0.0013 0.0013
0.0011 0.0038 0.0050
0.0053 0.0094 0.0095
0.0018 0.0496 0.0521
0.0006 0.0015 0.0034
0.0011 0.0272 0.0272
0.0163 0.0169 0.0211
0.0024 0.0060 0.0130
0.0022 0.0022 0.0122
0.0074 0.0091 0.0106
0.0017 0.0067 0.0070
0.0133 0.0335 0.0394
0.0002 0.0034 0.0072
0.0010 0.0056 0.0116
0.0048 0.0050 0.0178
0.0014 0.0017 0.0072
0.0037 0.0081 0.0190
0.0017 0.0211 0.0285
0.0074 0.0276 0.0320
0.0076 0.0352 0.0353
0.0113 0.0152 0.0155
0.0027 0.0041 0.0079
0.0054 0.0066 0.0072
0.0006 0.0015 0.0034
0.0001 0.0002 0.0062
0.0002 0.0017 0.0022
0.0057 0.0392 0.0466
0.0009 0.0014 0.0061
0.0020 0.0034 0.0067
0.0144 0.0201 0.0236
0.0176 0.0209 0.0211
0.0006 0.0020 0.0049
0.0106 0.0106 0.0107
0.0081 0.0086 0.0156
0.0056 0.0200 0.0331
0.0025 0.0028 0.0048
Choix du nombre de composantes PLS significatives par le test du Q2
*******************************************************************************************************Le premier vecteur donne le Q2cum
0.0472
0.0472
0.0472
Le deuxieme vecteur donne le resultat du test qui est egal ? 1 si on conserve la composante
89
0
0
0
Nombre de composantes PLS significatives
0
PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
3
Deviance
222.0968
Constante(s) SE
0.8565 0.1668
Coefficients de regression logistique estimes
−0.5245−0.1864−0.0605
SE
0.1666
0.1596
0.1637
Coefficients de regression logistique PLS en se ramenant aux variables d'origine
0.1515
0.4148
0.0579
−0.3670−0.2456
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour chaque reponse
1.0000 0.6603 0.3397 1.0000
1.0000 0.8043 0.1957 1.0000
1.0000 0.6827 0.3173 1.0000
1.0000 0.7089 0.2911 1.0000
1.0000 0.6641 0.3359 1.0000
1.0000 0.6192 0.3808 1.0000
1.0000 0.7310 0.2690 1.0000
1.0000 0.5353 0.4647 1.0000
1.0000 0.7804 0.2196 1.0000
1.0000 0.7294 0.2706 1.0000
1.0000 0.5089 0.4911 1.0000
1.0000 0.6977 0.3023 1.0000
1.0000 0.5303 0.4697 1.0000
90
1.0000 0.6507 0.3493 1.0000
1.0000 0.6426 0.3574 1.0000
1.0000 0.6426 0.3574 1.0000
1.0000 0.3569 0.6431 2.0000
1.0000 0.7676 0.2324 1.0000
1.0000 0.5994 0.4006 1.0000
1.0000 0.7683 0.2317 1.0000
1.0000 0.7045 0.2955 1.0000
1.0000 0.7544 0.2456 1.0000
1.0000 0.9269 0.0731 1.0000
1.0000 0.6529 0.3471 1.0000
1.0000 0.6582 0.3418 1.0000
1.0000 0.8559 0.1441 1.0000
1.0000 0.7019 0.2981 1.0000
1.0000 0.8440 0.1560 1.0000
1.0000 0.6626 0.3374 1.0000
1.0000 0.4320 0.5680 2.0000
1.0000 0.4320 0.5680 2.0000
1.0000 0.6631 0.3369 1.0000
1.0000 0.5865 0.4135 1.0000
1.0000 0.8303 0.1697 1.0000
1.0000 0.5158 0.4842 1.0000
1.0000 0.8253 0.1747 1.0000
1.0000 0.7756 0.2244 1.0000
1.0000 0.7631 0.2369 1.0000
1.0000 0.9326 0.0674 1.0000
1.0000 0.7671 0.2329 1.0000
1.0000 0.7052 0.2948 1.0000
1.0000 0.8734 0.1266 1.0000
1.0000 0.5321 0.4679 1.0000
1.0000 0.8155 0.1845 1.0000
1.0000 0.6109 0.3891 1.0000
1.0000 0.6109 0.3891 1.0000
1.0000 0.8375 0.1625 1.0000
1.0000 0.6312 0.3688 1.0000
1.0000 0.7448 0.2552 1.0000
1.0000 0.4964 0.5036 2.0000
1.0000 0.7363 0.2637 1.0000
1.0000 0.6451 0.3549 1.0000
1.0000 0.7518 0.2482 1.0000
1.0000 0.7253 0.2747 1.0000
1.0000 0.5761 0.4239 1.0000
1.0000 0.5382 0.4618 1.0000
1.0000 0.5735 0.4265 1.0000
1.0000 0.7571 0.2429 1.0000
1.0000 0.5430 0.4570 1.0000
1.0000 0.5754 0.4246 1.0000
1.0000 0.5754 0.4246 1.0000
1.0000 0.6421 0.3579 1.0000
1.0000 0.5943 0.4057 1.0000
1.0000 0.8046 0.1954 1.0000
1.0000 0.6794 0.3206 1.0000
1.0000 0.7544 0.2456 1.0000
1.0000 0.6362 0.3638 1.0000
1.0000 0.9384 0.0616 1.0000
91
1.0000 0.7781 0.2219 1.0000
1.0000 0.6305 0.3695 1.0000
1.0000 0.7035 0.2965 1.0000
1.0000 0.7745 0.2255 1.0000
1.0000 0.6167 0.3833 1.0000
1.0000 0.4084 0.5916 2.0000
1.0000 0.7319 0.2681 1.0000
1.0000 0.7814 0.2186 1.0000
1.0000 0.7996 0.2004 1.0000
1.0000 0.6465 0.3535 1.0000
1.0000 0.7168 0.2832 1.0000
1.0000 0.8755 0.1245 1.0000
1.0000 0.7643 0.2357 1.0000
1.0000 0.8060 0.1940 1.0000
1.0000 0.6349 0.3651 1.0000
1.0000 0.6220 0.3780 1.0000
1.0000 0.6294 0.3706 1.0000
1.0000 0.5787 0.4213 1.0000
1.0000 0.6644 0.3356 1.0000
1.0000 0.7570 0.2430 1.0000
1.0000 0.8927 0.1073 1.0000
1.0000 0.7493 0.2507 1.0000
1.0000 0.6668 0.3332 1.0000
1.0000 0.7761 0.2239 1.0000
1.0000 0.9203 0.0797 1.0000
1.0000 0.6724 0.3276 1.0000
1.0000 0.7319 0.2681 1.0000
1.0000 0.8070 0.1930 1.0000
1.0000 0.8440 0.1560 1.0000
1.0000 0.7778 0.2222 1.0000
1.0000 0.7778 0.2222 1.0000
1.0000 0.8155 0.1845 1.0000
1.0000 0.7208 0.2792 1.0000
1.0000 0.8525 0.1475 1.0000
1.0000 0.5943 0.4057 1.0000
1.0000 0.7150 0.2850 1.0000
1.0000 0.5994 0.4006 1.0000
1.0000 0.8371 0.1629 1.0000
1.0000 0.7590 0.2410 1.0000
1.0000 0.8371 0.1629 1.0000
1.0000 0.7246 0.2754 1.0000
1.0000 0.6536 0.3464 1.0000
1.0000 0.9057 0.0943 1.0000
1.0000 0.5988 0.4012 1.0000
1.0000 0.8049 0.1951 1.0000
1.0000 0.7860 0.2140 1.0000
1.0000 0.8311 0.1689 1.0000
1.0000 0.7061 0.2939 1.0000
1.0000 0.7205 0.2795 1.0000
1.0000 0.6830 0.3170 1.0000
1.0000 0.7627 0.2373 1.0000
1.0000 0.5011 0.4989 1.0000
1.0000 0.8154 0.1846 1.0000
1.0000 0.7535 0.2465 1.0000
1.0000 0.7172 0.2828 1.0000
92
1.0000 0.7492 0.2508 1.0000
1.0000 0.7863 0.2137 1.0000
1.0000 0.7923 0.2077 1.0000
1.0000 0.8886 0.1114 1.0000
1.0000 0.7082 0.2918 1.0000
1.0000 0.7369 0.2631 1.0000
1.0000 0.8488 0.1512 1.0000
2.0000 0.6529 0.3471 1.0000
2.0000 0.8049 0.1951 1.0000
2.0000 0.7616 0.2384 1.0000
2.0000 0.5848 0.4152 1.0000
2.0000 0.5178 0.4822 1.0000
2.0000 0.7331 0.2669 1.0000
2.0000 0.5576 0.4424 1.0000
2.0000 0.5324 0.4676 1.0000
2.0000 0.6638 0.3362 1.0000
2.0000 0.8332 0.1668 1.0000
2.0000 0.7417 0.2583 1.0000
2.0000 0.6209 0.3791 1.0000
2.0000 0.6173 0.3827 1.0000
2.0000 0.6175 0.3825 1.0000
2.0000 0.6634 0.3366 1.0000
2.0000 0.8071 0.1929 1.0000
2.0000 0.7456 0.2544 1.0000
2.0000 0.8182 0.1818 1.0000
2.0000 0.5501 0.4499 1.0000
2.0000 0.6156 0.3844 1.0000
2.0000 0.5449 0.4551 1.0000
2.0000 0.6795 0.3205 1.0000
2.0000 0.6853 0.3147 1.0000
2.0000 0.7400 0.2600 1.0000
2.0000 0.7814 0.2186 1.0000
2.0000 0.6114 0.3886 1.0000
2.0000 0.5041 0.4959 1.0000
2.0000 0.7618 0.2382 1.0000
2.0000 0.5469 0.4531 1.0000
2.0000 0.4652 0.5348 2.0000
2.0000 0.6668 0.3332 1.0000
2.0000 0.5980 0.4020 1.0000
2.0000 0.5631 0.4369 1.0000
2.0000 0.6739 0.3261 1.0000
2.0000 0.4157 0.5843 2.0000
2.0000 0.7168 0.2832 1.0000
2.0000 0.5936 0.4064 1.0000
2.0000 0.5620 0.4380 1.0000
2.0000 0.7389 0.2611 1.0000
2.0000 0.6540 0.3460 1.0000
2.0000 0.7113 0.2887 1.0000
2.0000 0.4699 0.5301 2.0000
2.0000 0.4411 0.5589 2.0000
2.0000 0.5480 0.4520 1.0000
2.0000 0.6198 0.3802 1.0000
2.0000 0.8175 0.1825 1.0000
2.0000 0.7618 0.2382 1.0000
2.0000 0.7297 0.2703 1.0000
93
2.0000 0.7038 0.2962 1.0000
2.0000 0.4690 0.5310 2.0000
2.0000 0.7485 0.2515 1.0000
2.0000 0.5899 0.4101 1.0000
2.0000 0.8845 0.1155 1.0000
2.0000 0.4935 0.5065 2.0000
2.0000 0.7138 0.2862 1.0000
2.0000 0.5174 0.4826 1.0000
2.0000 0.5340 0.4660 1.0000
2.0000 0.5163 0.4837 1.0000
2.0000 0.7761 0.2239 1.0000
Le pourcentage de bien classes est :
69.3122
Qualite de la prevision du modele en utilisant la regression logistique
de la variable reponse sur les composantes PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent respectivement
les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2
−−−−−−−−−−−−−−−−−−−−−−−−125 5 130
53 6 59
178 11 189
****************************************************************************************************Temps ecoule en secondes
0.0348
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 5
****************************************************************************************************
****************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION DE VARIABLES
Nom du fichier traite
vins bordeaux.xls
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
4
Nombre de modalites de la variable reponse
3
Nombre d'observations
34
Il n'existe pas de donnees manquantes
Il n'existe pas de variables explicatives qualitatives
94
****************************************************************************************************PARTIE I : calcul des composantes
****************************************************************************************************
****************************************************************************************************TT : composantes PLS
−0.9953 −0.5479 0.1188
−1.7386 −0.2768 −0.9006−0.6398 0.5984 −0.3957−2.6632 0.5919 −0.00771.5036 0.7105 −1.14762.3982 −0.2030 −0.7468−2.0499 0.8056 −0.8584−1.8630 0.3434 0.2583
−2.7153 2.1573 0.7558
1.0976 1.1535 0.3478
1.5697 0.0391 0.3931
0.3557 0.6129 −1.0441−1.6787 −0.4846 −0.50061.0222 −0.1786 0.9318
−0.3829 −0.9408 −0.6532−0.5914 −1.3505 0.1943
−0.1795 −0.9994 0.6203
−1.7010 0.8515 0.4668
0.5035 0.3513 0.6668
1.6965 −0.3549 0.2554
0.5623 −0.5608 0.1951
2.4176 −0.6562 0.5593
−0.5853 −1.0382 −0.58953.1178 1.0364 −0.7994−0.2982 −0.8524 0.2291
3.7941 0.6387 0.0746
1.2694 0.1344 0.2361
−1.2754 0.2946 0.1219
1.5842 −0.3579 0.4109
0.2362 0.1472 0.1140
−1.7583 −1.2880 −0.44470.4241 0.1645 0.4311
−1.5367 −0.2519 0.8324
−0.9001 −0.2893 −0.1254
****************************************************************************************************PP : coefficients de regression de E0 sur TT
0.5488 0.3673 0.1639
0.5193 −0.2317 0.6866
0.5309 0.5069 −0.3611−0.3886 0.8005 0.7331
****************************************************************************************************CC : coefficients de regression de F0 sur TT
0.4537 0.1047 0.0909
−0.0055 −0.4304 0.1851
−0.4388 0.3188 −0.2702
****************************************************************************************************WW : vecteurs propres
95
0.5564 0.2619 0.4327
0.5473 −0.3797 0.4416
0.4798 0.6415 −0.4971−0.4007 0.6130 0.6088
****************************************************************************************************WWS : W tilde
0.5564 0.2347 0.3829
0.5473 −0.4064 0.5787
0.4798 0.6180 −0.6614−0.4007 0.6326 0.4106
****************************************************************************************************UU : composantes associees au tableau Y
0.0058 −3.3776 4.0738
−2.2357 1.6474 −2.73200.0058 −3.2701 5.1357
−2.2357 1.3680 −0.28652.4332 1.1608 0.6259
2.4332 1.4312 −1.8390−2.2357 1.5533 −0.8401−2.2357 1.6098 −1.7222−2.2357 1.3522 1.9025
0.0058 −2.7450 3.4991
2.4332 1.1807 −0.3730−2.2357 2.2804 −4.4066−2.2357 1.6655 −3.09542.4332 1.0153 0.0848
0.0058 −3.1925 2.7008
0.0058 −3.2555 2.4332
0.0058 −3.1310 2.3419
−2.2357 1.6588 −1.25760.0058 −2.9246 3.2304
2.4332 1.2191 −1.08020.0058 −2.9068 1.9159
2.4332 1.4370 −2.47860.0058 −3.2537 2.8472
2.4332 1.6486 −1.15140.0058 −3.1669 2.7041
2.4332 1.8530 −2.61870.0058 −2.6931 1.8846
−2.2357 1.7874 −2.59562.4332 1.1851 −0.92982.4332 0.7777 1.6056
−2.2357 1.6415 −4.07272.4332 0.8345 1.3708
−2.2357 1.7085 −2.9758−2.2357 1.9008 −3.9011
****************************************************************************************************LEV : matrice des leviers
0.0108 0.0259 0.0272
0.0329 0.0368 0.1103
0.0045 0.0225 0.0367
0.0773 0.0950 0.0950
96
0.0246 0.0501 0.1695
0.0627 0.0648 0.1153
0.0458 0.0785 0.1453
0.0378 0.0438 0.0498
0.0804 0.3151 0.3669
0.0131 0.0802 0.0912
0.0269 0.0269 0.0409
0.0014 0.0203 0.1191
0.0307 0.0426 0.0653
0.0114 0.0130 0.0917
0.0016 0.0462 0.0849
0.0038 0.0958 0.0992
0.0004 0.0507 0.0856
0.0315 0.0681 0.0879
0.0028 0.0090 0.0493
0.0314 0.0377 0.0436
0.0034 0.0193 0.0228
0.0637 0.0854 0.1138
0.0037 0.0581 0.0896
0.1060 0.1601 0.2180
0.0010 0.0376 0.0424
0.1569 0.1775 0.1780
0.0176 0.0185 0.0235
0.0177 0.0221 0.0235
0.0274 0.0338 0.0491
0.0006 0.0017 0.0029
0.0337 0.1174 0.1353
0.0020 0.0033 0.0202
0.0257 0.0289 0.0917
0.0088 0.0131 0.0145
****************************************************************************************************Choix du nombre de composantes PLS significatives par le test du Q2
****************************************************************************************************Nombre de composantes PLS significatives
2
Composante(s) PLS significative(s)
−0.9953 −0.5479−1.7386 −0.2768−0.6398 0.5984
−2.6632 0.5919
1.5036 0.7105
2.3982 −0.2030−2.0499 0.8056
−1.8630 0.3434
−2.7153 2.1573
1.0976 1.1535
1.5697 0.0391
0.3557 0.6129
−1.6787 −0.48461.0222 −0.1786−0.3829 −0.9408−0.5914 −1.3505−0.1795 −0.9994
97
−1.7010 0.8515
0.5035 0.3513
1.6965 −0.35490.5623 −0.56082.4176 −0.6562−0.5853 −1.03823.1178 1.0364
−0.2982 −0.85243.7941 0.6387
1.2694 0.1344
−1.2754 0.2946
1.5842 −0.35790.2362 0.1472
−1.7583 −1.28800.4241 0.1645
−1.5367 −0.2519−0.9001 −0.2893
****************************************************************************************************PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
5
Deviance
27.5225
Constante(s) SE
−2.5478 0.8910
2.1673 0.9318
Coefficients de regression logistique estimes
2.9833
−1.26310.7057
SE
0.8175
0.8283
0.9519
Coefficients de regression logistique PLS en se ramenant aux variables d'origine
1.6338
2.5546
0.1840
−1.7048
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour chaque reponse
2.0000 0.0087 0.4848 0.5065 3.0000
98
3.0000 0.0003 0.0351 0.9646 3.0000
2.0000 0.0041 0.3110 0.6849 3.0000
3.0000 0.0000 0.0014 0.9985 3.0000
1.0000 0.5574 0.4356 0.0071 1.0000
1.0000 0.9871 0.0128 0.0001 1.0000
3.0000 0.0000 0.0038 0.9962 3.0000
3.0000 0.0002 0.0253 0.9745 3.0000
3.0000 0.0000 0.0003 0.9997 3.0000
2.0000 0.3811 0.6046 0.0143 2.0000
1.0000 0.9140 0.0852 0.0008 1.0000
3.0000 0.0475 0.8003 0.1522 2.0000
3.0000 0.0007 0.0696 0.9297 3.0000
1.0000 0.7998 0.1980 0.0022 1.0000
2.0000 0.0491 0.8031 0.1477 2.0000
2.0000 0.0780 0.8263 0.0957 2.0000
2.0000 0.2005 0.7650 0.0345 2.0000
3.0000 0.0002 0.0250 0.9748 3.0000
2.0000 0.2653 0.7105 0.0242 2.0000
1.0000 0.9586 0.0410 0.0004 1.0000
2.0000 0.4939 0.4970 0.0091 2.0000
1.0000 0.9972 0.0027 0.0000 1.0000
2.0000 0.0323 0.7563 0.2114 2.0000
1.0000 0.9925 0.0075 0.0001 1.0000
2.0000 0.0998 0.8254 0.0748 2.0000
1.0000 0.9997 0.0003 0.0000 1.0000
2.0000 0.7748 0.2226 0.0026 1.0000
3.0000 0.0013 0.1261 0.8725 3.0000
1.0000 0.9488 0.0507 0.0005 1.0000
1.0000 0.1247 0.8161 0.0592 2.0000
3.0000 0.0015 0.1446 0.8538 3.0000
1.0000 0.2339 0.7376 0.0285 2.0000
3.0000 0.0020 0.1788 0.8193 3.0000
3.0000 0.0070 0.4330 0.5600 3.0000
Le pourcentage de bien classes est :
82.3529
Qualite de la prevision du modele en utilisant la regression logistique
de la variable reponse sur les composantes PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent respectivement
les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2 3
−−−−−−−−−−−−−−−−−−−−−−−−9 2 0 11
1 8 2 11
0 1 11 12
10 11 13 34
****************************************************************************************************Temps ecoule en secondes
0.0866
99
****************************************************************************************************
****************************************************************************************************
Utilisation du jeu 6
****************************************************************************************************
****************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION DE
VARIABLES
Nom du fichier traite
vins bordeaux DM.xls
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
4
Nombre de modalites de la variable reponse
3
Nombre d'observations
34
Il existe des donnees manquantes
Il n'existe pas de variables explicatives qualitatives
****************************************************************************************************TT : composantes PLS
−0.9029 −0.5480 0.1329
−1.7435 −0.2826 −0.9045−0.6527 0.5893 −0.3981−2.6766 0.5679 −0.00321.4902 0.7156 −1.15302.3862 −0.1941 −0.7561−2.0615 0.7905 −0.8549−1.8669 0.3417 0.2400
−2.7268 2.1449 0.7407
1.0781 1.1462 0.3419
1.5521 0.0329 0.3881
0.3436 0.6122 −1.0473−1.6832 −0.4904 −0.50731.0097 −0.1801 0.9163
−0.3852 −0.9360 −0.6658−0.5942 −1.3503 0.1796
−0.1862 −1.0022 0.6061
−1.7072 0.8493 0.4473
0.4890 0.3452 0.6563
1.6801 −0.3601 0.2511
0.5495 −0.5679 0.1904
2.3998 −0.6609 0.5544
−0.5908 −1.0414 −0.59473.0930 1.0322 −0.7938−0.3074 −0.8599 0.2224
3.7725 0.6431 0.0666
1.2553 0.1333 0.2261
−1.2829 0.2898 0.1097
1.5700 −0.3596 0.4016
100
0.2230 0.1409 0.1074
−1.7563 −1.2861 −0.45930.4082 0.1543 0.4267
−1.5465 −0.2661 0.8240
−0.9057 −0.2909 −0.1374
****************************************************************************************************PP : coefficients de regression de E0 sur TT
0.5435 0.3669 0.1691
0.5216 −0.2280 0.6851
0.5321 0.5135 −0.3631−0.3911 0.7997 0.7366
****************************************************************************************************CC : coefficients de regression de F0 sur TT
0.4549 0.1073 0.0923
−0.0037 −0.4317 0.1875
−0.4417 0.3176 −0.2739
****************************************************************************************************WW : vecteurs propres
0.5531 0.2579 0.4321
0.5489 −0.3703 0.4205
0.4806 0.6538 −0.5035−0.4022 0.6073 0.6188
****************************************************************************************************WWS : W tilde
0.5531 0.2261 0.3953
0.5489 −0.4018 0.5712
0.4806 0.6263 −0.6640−0.4022 0.6304 0.4079
****************************************************************************************************UU : composantes associees au tableau Y
0.0156 −3.3482 3.9038
−2.2303 1.6331 −2.67650.0156 −3.2729 5.0759
−2.2303 1.3523 −0.26852.4175 1.1709 0.6261
2.4175 1.4406 −1.8100−2.2303 1.5374 −0.8130−2.2303 1.5960 −1.6766−2.2303 1.3372 1.8997
0.0156 −2.7519 3.4513
2.4175 1.1895 −0.3676−2.2303 2.2613 −4.3384−2.2303 1.6513 −3.03562.4175 1.0262 0.0904
0.0156 −3.1924 2.6795
0.0156 −3.2553 2.4136
0.0156 −3.1325 2.3192
−2.2303 1.6441 −1.21910.0156 −2.9293 3.1902
2.4175 1.2281 −1.0658
101
0.0156 −2.9110 1.8917
2.4175 1.4447 −2.45010.0156 −3.2543 2.8202
2.4175 1.6533 −1.14360.0156 −3.1690 2.6745
2.4175 1.8578 −2.59070.0156 −2.6986 1.8605
−2.2303 1.7718 −2.54402.4175 1.1949 −0.91462.4175 0.7895 1.5933
−2.2303 1.6293 −3.99502.4175 0.8452 1.3579
−2.2303 1.6924 −2.9237−2.2303 1.8853 −3.8329
****************************************************************************************************Choix du nombre de composantes PLS significatives par le test du Q2
****************************************************************************************************Nombre de composantes PLS significatives
2
Composante(s) PLS significative(s)
−0.9029 −0.5480−1.7435 −0.2826−0.6527 0.5893
−2.6766 0.5679
1.4902 0.7156
2.3862 −0.1941−2.0615 0.7905
−1.8669 0.3417
−2.7268 2.1449
1.0781 1.1462
1.5521 0.0329
0.3436 0.6122
−1.6832 −0.49041.0097 −0.1801−0.3852 −0.9360−0.5942 −1.3503−0.1862 −1.0022−1.7072 0.8493
0.4890 0.3452
1.6801 −0.36010.5495 −0.56792.3998 −0.6609−0.5908 −1.04143.0930 1.0322
−0.3074 −0.85993.7725 0.6431
1.2553 0.1333
−1.2829 0.2898
1.5700 −0.35960.2230 0.1409
−1.7563 −1.28610.4082 0.1543
−1.5465 −0.2661
102
−0.9057 −0.2909
****************************************************************************************************PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS
****************************************************************************************************Resultats de l'algorithme (Levenberg modified Newton's method)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Nombre d'iterations
6
Deviance
27.2302
Constante(s) SE
−2.5448 0.8922
2.1904 0.9381
Coefficients de regression logistique estimes
3.0320
−1.26480.7180
SE
0.8328
0.8349
0.9601
Coefficients de regression logistique PLS en se ramenant aux variables d'origine
1.6748
2.5828
0.1883
−1.7239
Tableau des predictions
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−La premiere colonne donne la variable reponse.
La derniere colonne donne l'estimation de la variable reponse.
Les autres colonnes donnent les estimations des probabilites pour chaque reponse
2.0000 NaN NaN NaN 1.0000
3.0000 0.0003 0.0324 0.9673 3.0000
2.0000 0.0039 0.3020 0.6941 3.0000
3.0000 0.0000 0.0013 0.9987 3.0000
1.0000 0.5598 0.4333 0.0069 1.0000
1.0000 0.9878 0.0121 0.0001 1.0000
3.0000 0.0000 0.0034 0.9966 3.0000
3.0000 0.0002 0.0232 0.9766 3.0000
3.0000 0.0000 0.0003 0.9997 3.0000
2.0000 0.3822 0.6038 0.0140 2.0000
1.0000 0.9167 0.0825 0.0008 1.0000
3.0000 0.0461 0.8002 0.1537 2.0000
3.0000 0.0006 0.0650 0.9344 3.0000
1.0000 0.8025 0.1953 0.0022 1.0000
2.0000 0.0471 0.8021 0.1508 2.0000
2.0000 0.0752 0.8273 0.0975 2.0000
2.0000 0.1968 0.7686 0.0346 2.0000
103
3.0000 0.0002 0.0230 0.9768 3.0000
2.0000 0.2635 0.7125 0.0240 2.0000
1.0000 0.9603 0.0394 0.0004 1.0000
2.0000 0.4941 0.4970 0.0089 2.0000
1.0000 0.9974 0.0025 0.0000 1.0000
2.0000 0.0309 0.7531 0.2160 2.0000
1.0000 0.9930 0.0069 0.0001 1.0000
2.0000 0.0971 0.8274 0.0755 2.0000
1.0000 0.9997 0.0003 0.0000 1.0000
2.0000 0.7781 0.2194 0.0025 1.0000
3.0000 0.0012 0.1194 0.8794 3.0000
1.0000 0.9507 0.0489 0.0005 1.0000
1.0000 0.1224 0.8184 0.0592 2.0000
3.0000 0.0014 0.1359 0.8627 3.0000
1.0000 0.2322 0.7396 0.0282 2.0000
3.0000 0.0018 0.1703 0.8278 3.0000
3.0000 0.0066 0.4224 0.5711 3.0000
Le pourcentage de bien classes est :
82.3529
Qualite de la prevision du modele en utilisant la regression logistique
de la variable reponse sur les composantes PLS : tableau de classification
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−Remarque : la derniere ligne et la derniere colonne representent respectivement
les totaux de chaque ligne et chaque colonne
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−1 2 3
−−−−−−−−−−−−−−−−−−−−−−−−9 2 0 11
2 8 1 11
0 1 11 12
11 11 12 34
****************************************************************************************************Temps ecoule en secondes
0.0608
****************************************************************************************************
****************************************************************************************************
5.6 Illustration de la regression logistique PLS avec selection de variables
de type forward : utilisation du jeu de donnees 8
*************************************************************************************
*************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : regression logistique PLS avec selection de variables : methode
forward
Nom du fichier traite
microobesFULLt0t6.txt
On n'a pas transpose le tableau de donnees
104
Nombre de variables explicatives
448
Nombre de variables reponses
1
Nombre d'observations
78
Niveau de confiance (en pourcentage)
95
*************************************************************************************
Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) :
128 153 155 194 216 248 266 270 283 323 328 358 361 422
*************************************************************************************Temps ecoule en secondes :
221.2380
*************************************************************************************
*************************************************************************************
5.7 Illustration de la regression kernel logistique penalisee PLS avec selection
de variables de type forward : utilisation du jeu de donnees 10
****************************************************************************************************
****************************************************************************************************Nom du programme : MIAJ PLS PLUS V2009 1
Methode mise en oeuvre : regression kernel logistique penalisee PLS avec selection de
variables : methode forward
Nom du fichier traite
microobesFULLt0t6pen2.txt
On n'a pas transpose le tableau de donnees
Nombre de variables explicatives
113
Nombre de variables reponses
1
Nombre d'observations
78
Niveau de confiance (en pourcentage)
95
Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) :
Columns 1 through 16
2 3 5 10 13 19 20 25 26 27
28 29 30 32 34 39
Columns 17 through 32
40 41 43 45 49 52 58 59 60 62
105
66 67 68 69 71 72
Column 33
73
***************************************************************************************************Le nombre de variables significatives est :
33
Temps ecoule en secondes :
8.3669e+03
****************************************************************************************************
****************************************************************************************************
6 Recapitulatifs
6.1 Recapitulatifs des methodes utilisees
Regression PLS (I et II)
1. Centrage et reduction des tableaux X et Y
2. Recherche des composantes orthogonales th (composantes PLS) .On construit des combinaisons lineaires des colonnes de F0 (notees u1) et des combinai-sons lineaires des colonnes de E0 (notees t1) telle que la covariance entre u1 et t1 soitmaximale.
3. Regressions de E0 et F0 sur t1 . On exprime la regression de F0 en fonction des variablesexplicatives. On obtient les matrices de residus E1 et F1.
4. On reprend les etapes 2 et 3 en remplacant E0 par E1 et F0 par F1 jusqu’a convergencedes composantes t1...th. Le nombre de composantes significatives A est determine soit apriori, soit par un test (du type validation croisee ou inferentiel).
Regression PLS I avec selection
1. Calcul d’un premier modele de regression PLS1 avec toutes les variables explicatives (lesA composantes th retenues sont validees par le test du Q2).
2. Calcul du Q2 cumule du modele (note Q2cum) et stockage de la valeur de ce Q2
cum.
3. Elimination de la variable presentant le plus petit coefficient (en valeur absolue) dansl’equation de ce modele.
4. Retour en 1 avec une variable de moins. On repete ces etapes jusqu’a obtenir une seulevariable explicative, puis on trace la courbe des Q2
cum en fonction des variables eliminees.
106
Regression PLS II avec selection
1. Calcul d’un premier modele de regression PLS1 avec toutes les variables explicatives (lesA composantes th retenues sont validees par le test du Q2).
2. Calcul du VIP et stockage de la valeur de ce Q2cum.
3. Elimination de la variable presentant le plus petit VIP (en valeur absolue) dans l’equationde ce modele.
4. Retour en 1 avec une variable de moins. On repete ces etapes jusqu’a obtenir une seulevariable explicative, puis on trace la courbe des Q2
cum en fonction des variables eliminees.
Regression logistique PLS
1. Centrage et reduction du tableau X
2. Recherche des composantes orthogonales th (composantes logistiques PLS) .On effectue une regression logistique de la variable reponse sur les variables explicativesE0j(j=1...M) et les composantes th pour chaque variable.
3. Regressions de E0 et Y sur t1 . On exprime la regression de Y en fonction des variablesexplicatives. On obtient les matrices de residus E1 et F1.
4. On reprend les etapes 2 et 3 en remplacant E0 par E1 et Y par Y1 jusqu’a convergencedes composantes t1...th. Le nombre de composantes significatives A est determine soit apriori, soit par un test (du type validation croisee).
Regression logistique sur composantes PLS
1. La reponse presente deux modalites :
– On realise alors directement la regression PLS1 sur les variables explicatives. S’il existedes variables explicatives qualitatives, on transforme celles-ci en variables indicatricespour obtenir un tableau disjonctif complet.
– On realise une regression logistique binaire (nominale) sur les composantes PLS obte-nues.
2. La reponse presente trois modalites ou plus :– On transforme la reponse a k modalites en un tableau disjonctif complet (k variables
reponses indicatrices)– On realise la regression PLS2– On realise une regression logistique ordinale de la reponse sur les composantes PLS
obtenues.Regression logistique PLS avec selection de type backward
1. Calcul d’un premier modele de regression logistique PLS avec toutes les variables ex-plicatives (les A composantes th retenues sont validees par le test du Q2 au sens duKhi2).
2. Calcul du Q2χh cumule du modele (note Q2χcum) et stockage de la valeur de ce Q2cum.
3. Elimination de la variable (logistique) presentant le plus petit coefficient (en valeur ab-solue) dans l’equation de ce modele.
4. Retour en 1 avec une variable de moins. On repete ces etapes jusqu’a obtenir une seulevariable explicative, puis on trace la courbe des Q2
cum en fonction des variables eliminees.
107
Regression logistique PLS avec selection de type forward
1. Centrage et reduction des variables explicatives
2. On part du modele complet. On effectue la regression logistique de Y sur E0. On enlevela(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule lapremiere composante logistique PLS. Les valeurs typiques du niveau de confiance sont90, 95 et 99 %
3. A chaque etape, on effectue la regression logistique de Y sur E0 et les composanteslogistiques PLS calculees a chaque etape.
4. A l’etape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 com-posantes.
Regression logistique penalisee PLS avec selection de type forward
1. Centrage et reduction des variables explicatives
2. On part du modele complet. On effectue la regression logistique penalisee de Y sur E0.On enleve la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calculela premiere composante logistique PLS. Les valeurs typiques du niveau de confiance sont90, 95 et 99 %
3. A chaque etape, on effectue la regression logistique penalisee de Y sur E0 et les compo-santes logistiques PLS calculees a chaque etape.
4. A l’etape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 com-posantes.
Regression kernel logistique penalisee PLS avec selection de type forward
1. Centrage et reduction de la matrice de Gram. Ici on a adopte le noyau K(x, xi) =exp(−‖x− xi‖22 /σ2) .
2. On part du modele complet. On effectue la regression logistique penalisee de Y sur K0.On enleve la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calculela premiere composante logistique PLS. Les valeurs typiques du niveau de confiance sont90, 95 et 99 % .
3. A chaque etape, on effectue la regression logistique penalisee de Y sur K0 et les compo-santes logistiques PLS calculees a chaque etape.
4. A l’etape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 com-posantes.
6.2 Tableau recapitulatif des options programmees selon les methodes et
exemples traites
108
Figure 4.9 – Tableau recapitulatif des options programmees selon les methodes et exemples traites
109
Bibliographie
[1] Bastien, P., Esposito Vinzi, V., Tenenhaus, M., 2004, PLS generalised linear regression,48(1) :17-46 Computational statistics and Data Analysis.
[2] Blin Amandine, Gauchi Jean-Pierre, MIAJ RPLS V 2009 1 Programme de regressionPLS avec ou sans selection de variables, Rapport technique 2009-1, INRA, UR341Mathematiques et Informatique Appliquees (F-78350 Jouy-en-Josas, France), 2009, ver-sion 2009-1.
[3] Cullagh, P. Mc, Nelder, J-A, 1989, Generalized Linear Models, Chapman & Hall, London.
[4] Firth, D. (1993). Bias reduction of maximum likelihood estimates, Biometrika, 80, 27-38.
[5] Gauchi, J-P, Chagnon, P., 2001, Comparison of selection methods of explanatory variablesin PLS regression with application to manufactoring process data, Chemometrics AndIntelligent Laboratory Systems, 58 (2), 171-193.
[6] Heinze, G., and M. Schemper. 2002. A solution to the problem of separation in logisticregression, Stat. Med.,21 :2409-2419
[7] Hosmer, D-W, Lemeshow, S., 1989, Applied Logistic Regression, New York, John Wiley &Sons, Inc.
[8] Lazraq, A., Cleroux, R., 2001, The PLS multivariate regression model : testing the signifi-cance of successive PLS components, Journal of chemometrics, 523-536.
[9] Lazraq, A., Cleroux, R., Gauchi, J-P, 2003, Selecting both latent and explanatory variablesin the PLS1 regression model, Chemometrics And Intelligent Laboratory Systems, 66, 117-126.
[10] Tenenhaus, A., Giron, A., Saporta, G. and Fertil, B., 2005, Kernel Logistic PLS : a newtool for complex classification in 11th International Symposium on Applied StochasticModels and Data Analysis, Brest.
[11] Tenenhaus, M., 1998, La regression PLS, Editions Technip.
[12] Tenenhaus, M., Mai 2000, La regression logistique PLS, Journees SFDS, Fes.
[13] Tenenhaus, M., 2007, Statistique : Methodes pour decrire, expliquer et prevoir, Dunod.
[14] Zhue Ji, Hastie Trevor, Classification of gene microarray by penalized logistic regression,Biostatistics, 5,3, pp 427-443, 2004.
110
Annexe A
Programmation de l’interface
On se reportera egalement aux programmes du premier rapport.
%%
%INTERFACE GRAPHIQUE de MIAJ PLS PLUS V2009 1 Cette interface permet
%d'effectuer des regressions PLS logistiques et des regressions logistiques
%sur composantes PLS avec ou sans donnees manquantes et avec ou sans
%selection de variables.
%AUTEURS : Amandine Blin & Jean−Pierre Gauchi
%BIBLIOGRAPHIE : Bastien P., Esposito Vinzi V., Tenenhaus M., PLS
%generalised linear regression, Computational Statistics & Data Analysis,
%2004
%Copyright© INRA 2009
%%
function varargout = MIAJ PLS PLUS V2009 1(varargin)
% Begin initialization code − DO NOT EDIT
gui Singleton = 1;
gui State = struct('gui Name', mfilename, ...
'gui Singleton', gui Singleton, ...
'gui OpeningFcn', @MIAJ PLS PLUS V2009 1 OpeningFcn, ...
'gui OutputFcn', @MIAJ PLS PLUS V2009 1 OutputFcn, ...
'gui LayoutFcn', [] , ...
'gui Callback', []);
if nargin && ischar(varargin{1})gui State.gui Callback = str2func(varargin{1});
end
if nargout
[varargout{1:nargout}] = gui mainfcn(gui State, varargin{:});else
gui mainfcn(gui State, varargin{:});end
111
% End initialization code − DO NOT EDIT
%%
function MIAJ PLS PLUS V2009 1 OpeningFcn(hObject, eventdata, handles, varargin)
handles.output = hObject;
%set ma position(hObject);
guidata(hObject, handles);
%%
function varargout = MIAJ PLS PLUS V2009 1 OutputFcn(hObject, eventdata, handles)
varargout{1} = handles.output;
%%
%Menu defilant qui permet de choisir les differentes regressions%
function popupmenu choixfct Callback(hObject, eventdata, handles)
a1=get(hObject,'Value');
switch a1; % suivant le choix de l'utilisateur
case 1 %cas des regressions simples
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','off');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox affichage,'Visible','on');
set(handles.edit nblim,'Visible','off');
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','off');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit nblim,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','off');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text9,'Visible','off');
set(handles.text35,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text14,'Visible','off');
set(handles.text17,'Visible','off');
112
set(handles.text4,'Visible','off');
set(handles.text15,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
set(handles.edit nbY,'Visible','off');
case 2 %cas regressions logistiques univariees
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox affichage,'Visible','on');
set(handles.edit nblim,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit nblim,'Visible','off');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','off');
113
set(handles.text8,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','off');
set(handles.text14,'Visible','on');
set(handles.text15,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
case 3 %cas regressions logistiques penalisees univariees
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox affichage,'Visible','on');
set(handles.edit nblim,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit nblim,'Visible','off');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
114
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','off');
set(handles.text14,'Visible','on');
set(handles.text15,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
case 4 % Cas de la regression PLS1 sans selection de variables
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
115
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','on');
set(handles.checkbox jeu,'Visible','on');
set(handles.checkbox Q2,'Visible','on');
set(handles.checkbox R2,'Visible','on');
set(handles.checkbox LC,'Visible','on');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','on');
set(handles.checkbox transposition,'Visible','on');
set(handles.checkbox qualit,'Visible','off');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text9,'Visible','off');
set(handles.text35,'Visible','on');
set(handles.text5,'Visible','on');
set(handles.text4,'Visible','on');
set(handles.text14,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','on');
set(handles.text18,'Visible','on');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','on');
set(handles.popupmenu choix jeu,'Visible','on');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','1');
set(handles.edit nblim,'String','5');
case 5 % Cas de la regression PLS1 avec selection de variables (BQ)
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
116
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text9,'Visible','off');
set(handles.text35,'Visible','on');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','1');
set(handles.edit nblim,'String','5');
case 6 % Cas de la regression PLS1 avec selection de variables (forward)
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox affichage,'Visible','on');
set(handles.edit nblim,'Visible','on');
117
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit nblim,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text5,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text9,'Visible','off');
set(handles.text35,'Visible','on');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text26,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','off');
set(handles.text15,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text10,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
118
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','1');
set(handles.edit nblim,'String','5');
case 7 % Cas de la regression PLS2 sans selection de variables
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.text9,'Visible','off');
set(handles.text35,'Visible','on');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','on');
set(handles.checkbox jeu,'Visible','on');
set(handles.checkbox Q2,'Visible','on');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text5,'Visible','on');
set(handles.text11,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','on');
set(handles.text18,'Visible','on');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
119
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','on');
set(handles.popupmenu choix jeu,'Visible','on');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 8 % Cas de la regression PLS2 avec selection de variables
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox qualit,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text9,'Visible','off');
set(handles.text35,'Visible','on');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text31,'Visible','off');
120
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 9 % Cas de la regression logistique sur composantes PLS
%sans selection de variables
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.edit nblim,'Visible','on');
set(handles.checkbox affichage,'Visible','off');
set(handles.pushbutton calcul,'Visible','on');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','on');
set(handles.checkbox Q2,'Visible','on');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','off');
set(handles.text5,'Visible','on');
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','on');
set(handles.text18,'Visible','off');
121
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','on');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 10 %regression logistique PLS sans selection de variables
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','on');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','on');
set(handles.checkbox forward,'Visible','on');
set(handles.checkbox transposition,'Visible','on');
set(handles.checkbox qualit,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','off');
set(handles.text5,'Visible','on');
set(handles.text11,'Visible','off');
122
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text26,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text19,'Visible','on');
set(handles.text18,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','on');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 11 %regression logistique PLS avec selection de variables : methode BQ
%On modifie la visibilite de certains elements:
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.edit conf reg,'Visible','off');
set(handles.text44,'Visible','off');
set(handles.text45,'Visible','off');
set(handles.text46,'Visible','off');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox transposition,'Visible','on');
123
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text5,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text26,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text18,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text10,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 12 %regression logistique PLS avec selection de variables : methode forward
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit nblim,'Visible','off');
set(handles.edit7,'Visible','off');
124
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text5,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text26,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','off');
set(handles.text15,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text10,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 13 %regression logistique penalisee PLS avec
%selection de variables : methode forward
set(handles.checkbox donnmanquante,'Visible','on');
125
set(handles.checkbox affichage,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit nblim,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text5,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text26,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','off');
set(handles.text15,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text10,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
126
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
case 14 %regression logistique penalisee a noyau PLS
%avec selection de variables : methode forward
set(handles.checkbox donnmanquante,'Visible','on');
set(handles.checkbox affichage,'Visible','off');
set(handles.edit nblim,'Visible','on');
set(handles.pushbutton calcul,'Visible','on');
set(handles.pushbutton quit,'Visible','on');
set(handles.edit conf reg,'Visible','on');
set(handles.text44,'Visible','on');
set(handles.text45,'Visible','on');
set(handles.text46,'Visible','on');
set(handles.edit nbY,'Visible','on');
set(handles.edit sauvegarde,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.edit nblim,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
set(handles.edit varcons,'Visible','off');
set(handles.checkbox choix sauvegarde,'Visible','on');
set(handles.checkbox intervalle,'Visible','off');
set(handles.checkbox jeu,'Visible','off');
set(handles.checkbox Q2,'Visible','off');
set(handles.checkbox LC,'Visible','off');
set(handles.checkbox khi2,'Visible','off');
set(handles.checkbox forward,'Visible','off');
set(handles.checkbox qualit,'Visible','on');
set(handles.checkbox R2,'Visible','off');
set(handles.checkbox transposition,'Visible','on');
set(handles.text10,'Visible','on');
set(handles.text8,'Visible','on');
set(handles.text5,'Visible','off');
set(handles.text11,'Visible','off');
set(handles.text9,'Visible','on');
set(handles.text35,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.text20,'Visible','off');
set(handles.text4,'Visible','on');
set(handles.text15,'Visible','on');
set(handles.text26,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text27,'Visible','off');
set(handles.text19,'Visible','off');
set(handles.fichiertest,'Visible','off');
127
set(handles.text5,'Visible','off');
set(handles.text4,'Visible','off');
set(handles.text15,'Visible','off');
set(handles.text18,'Visible','off');
set(handles.text8,'Visible','off');
set(handles.text10,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
set(handles.text38,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.edit conf,'Visible','off');
set(handles.text24,'Visible','off');
set(handles.text37,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.popupmenu choix intervalle,'Visible','off');
set(handles.popupmenu choix jeu,'Visible','off');
%On modifie les valeurs initiales dans les champs:
set(handles.edit nbY,'String','2');
set(handles.edit nblim,'String','5');
end %fin pour la programmation du bouton choix des menus
%%
%Menu deroulant permettant de choisir la methode de regression
function popupmenu choixfct CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'),
get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Boite de dialogue des repertoires du disque dur pour l'importation des
%donnees
function pushbutton5 Callback(hObject, eventdata, handles)
[filename,pathname]=uigetfile({'*.xls';'*.txt'},'File Selection');
set(handles.edit fichier,'String',filename)
%importation de fichiers excel
if (all(filename(end−2:end)=='xls'))set(handles.edit col,'Visible','off');
set(handles.edit row,'Visible','off');
set(handles.text42,'Visible','off');
set(handles.text43,'Visible','off');
%importation de fichiers textes
elseif (all(filename(end−2:end)=='txt'))set(handles.edit col,'Visible','on');
set(handles.edit row,'Visible','on');
set(handles.text42,'Visible','on');
set(handles.text43,'Visible','on');
end;
128
end%%
%Boite de dialogue des repertoires du disque dur pour importer le fichier−test%des donnees
function pushbutton6 Callback(hObject, eventdata, handles)
[filename1,pathname1]=uigetfile({'*.*'},'File Selection');
set(handles.edit7,'String',filename1)
%fichiers excel
if (all(filename1(end−2:end)=='xls'))set(handles.edit col,'Visible','off');
set(handles.edit row,'Visible','off');
%fichiers textes
elseif (all(filename1(end−2:end)=='txt'))set(handles.edit col,'Visible','on');
set(handles.edit row,'Visible','on');
end;end
%%
%Bouton pour les donnees manquantes%
function checkbox donnmanquante Callback(hObject, eventdata, handles)
%%
% choix d'affichage des resultats
function checkbox affichage Callback(hObject, eventdata, handles)
%%
%Choix du nom du fichier que l'on veut importer%
function edit fichier Callback(hObject, eventdata, handles)
fichier=get(handles.edit fichier,'String');
%%
function edit fichier CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%On rentre le nombre de modalites de la variable reponse%
function edit nbY Callback(hObject, eventdata, handles)
tailleY=str2double(get(hObject,'String'));
switch get(handles.popupmenu choixfct,'Value')
case 1 %pre−traitement : regressions univariees
case 2 %pre−traitement : regressions logistiques univariees
if tailleY<2
warndlg('Le nombre de modalites doit etre egal au moins a 2');
end;case 3 %pre−traitement : regressions logistiques penalisees
if tailleY<2
warndlg('Le nombre de modalites doit etre egal au moins a 2');
129
end;case 4 %PLS1 sans selection
if tailleY>2
warndlg('Le nombre de variables reponses doit etre egal a 1');
end;
case 5 %PLS1 avec selection BQ
if tailleY>2
warndlg('Le nombre de variables reponses doit etre egal a 1');
end;
case 6 %PLS1 avec selection forward
if tailleY>2
warndlg('Le nombre de variables reponses doit etre egal a 1');
end;case 7 %PLS2 sans selection
if tailleY<2
warndlg('Le nombre de variables reponses doit etre egal au moins a 2');
end;case 8 %PLS2 avec selection BQ
if tailleY<2
warndlg('Le nombre de variables reponses doit etre egal au moins a 2');
end;
case 9 %regression logistique PLS
if tailleY<2
warndlg('Le nombre de modalites doit etre egal au moins a 2');
end;
case 10 %regression logistique sur composantes PLS
if tailleY<2
warndlg('Le nombre de modalites doit etre egal au moins a 2');
end;
case 11 %regression logistique PLS avec selection BQ
if tailleY<2
warndlg('Le nombre de modalites doit etre egal au moins a 2');
end;
case 12 %regression logistique PLS avec selection forward
if tailleY<2
warndlg('Le nombre de modalites doit etre egal au moins a 2');
end;
case 13 %regression logistique penalisee PLS avec selection forward
if tailleY<2
warndlg('Le nombre de modalites doit etre egal a 2');
end;
case 14 %regression kernel logistique penalisee PLS avec selection forward
if tailleY<2
warndlg('Le nombre de modalites doit etre egal a 2');
end;end;
130
%%
function edit nbY CreateFcn(hObject, eventdata, handles)
%%
%Choix du nombre de composantes choisi a priori%
function edit nblim Callback(hObject, eventdata, handles)
%%
function edit nblim CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Taux pour le tirage aleatoire%
function edit tjeu Callback(hObject, eventdata, handles)
tal=str2double(get(hObject,'String'));
if ((tal)>80)
warndlg('Choisissez un taux inferieur');
endif ((tal)==0)
warndlg('Choisissez un taux superieur');
end
function edit tjeu CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%On rentre le nombre de variables que l'on veut conserver apres selection
%de variables
function edit varcons Callback(hObject, eventdata, handles)
%%
function edit varcons CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Choix de sauvegarde des resultats%
function checkbox choix sauvegarde Callback(hObject, eventdata, handles)
if (get(hObject,'Value')==1)%on sauvegarde
%visibilite du cadre pour le nom du fichier
set(handles.text fichier sauvegarde,'Visible','on');
set(handles.edit sauvegarde,'Visible','on');
set(handles.text20,'Visible','on');
else%visibilite du cadre pour le nom du fichier
set(handles.text fichier sauvegarde,'Visible','off');
set(handles.edit sauvegarde,'Visible','off');
set(handles.text20,'Visible','off');
end%%
%Nom du fichier de sauvegarde
function edit sauvegarde Callback(hObject, eventdata, handles)
%%
function edit sauvegarde CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
131
set(hObject,'BackgroundColor','white');
end%%
%Nom du fichier−test que l'on veut importer
function edit7 Callback(hObject, eventdata, handles)
%%
function edit7 CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%niveau de confiance pour IC
function edit conf Callback(hObject, eventdata, handles)
niv=str2double(get(hObject,'String'));
if ((niv)>99)
warndlg('Choisissez un pourcentage inferieur pour le seuil de confiance');
endif ((niv)<80)
warndlg('Choisissez un pourcentage superieur pour le seuil de confiance');
end%%
function edit conf CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Nombre de lignes dans le tableau de donnees
function edit row Callback(hObject, eventdata, handles)
function edit row CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Nombre de colonnes dans le tableau de donnees
function edit col Callback(hObject, eventdata, handles)
function edit col CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%niveau de confiance pour les pre−traitementsfunction edit conf reg Callback(hObject, eventdata, handles)
function edit conf reg CreateFcn(hObject, eventdata, handles)
132
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Cas ou l'on veut calculer des intervalles de confiance%
function checkbox intervalle Callback(hObject, eventdata, handles)
if (get(hObject,'Value')==1)
switch get(handles.popupmenu choix intervalle,'Value')
case 1
set(handles.text24,'Visible','on');
set(handles.text25,'Visible','on');
set(handles.edit conf,'Visible','on');
case 2
set(handles.text24,'Visible','on');
set(handles.text25,'Visible','on');
set(handles.edit conf,'Visible','on');
case 3
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
end;else
set(handles.text24,'Visible','off');
set(handles.text25,'Visible','off');
set(handles.edit conf,'Visible','off');
end;%%
%Choix de technique pour le calcul d'intervalles de confiance
function popupmenu choix intervalle Callback(hObject, eventdata, handles)
%%
function popupmenu choix intervalle CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Cas ou l'on veut effectuer un jeu−testfunction checkbox jeu Callback(hObject, eventdata, handles)
if (get(hObject,'Value')==1)
switch get(handles.popupmenu choix jeu,'Value');
case 1
%visibilite du cadre pour le nom du fichier
set(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.fichiertest,'Visible','on');
set(handles.edit7,'Visible','on');
set(handles.pushbutton6,'Visible','on');
case 2
set(handles.text11,'Visible','on');
set(handles.text17,'Visible','on');
set(handles.edit tjeu,'Visible','on');
133
set(handles.fichiertest,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
end
elseset(handles.text11,'Visible','off');
set(handles.text17,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.fichiertest,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
end;%%
%Cas ou on veut effectuer un test du Q2
function checkbox Q2 Callback(hObject, eventdata, handles)
%%
% Cas ou on veut effectuer un test du R2
function checkbox R2 Callback(hObject, eventdata, handles)
%%
%Cas ou on veut effectuer un test de LC
function checkbox LC Callback(hObject, eventdata, handles)
%%
%cas ou on veut effectuer un test du khi2
function checkbox khi2 Callback(hObject, eventdata, handles)
%%
% Cas ou on veut effectuer une regression logistique PLS pas a pas
% ascendant afin de selectionner le nombre de composantes PLS
% significatives
function checkbox forward Callback(hObject, eventdata, handles)
if (get(hObject,'Value')==1)%on sauvegarde
set(handles.text37,'Visible','on');
set(handles.edit tauxsign,'Visible','on');
set(handles.text signif,'Visible','on');
set(handles.text38,'Visible','on');
elseset(handles.text37,'Visible','off');
set(handles.edit tauxsign,'Visible','off');
set(handles.text signif,'Visible','off');
set(handles.text38,'Visible','off');
end%%
%Cas ou l'on veut transposer le tableau de donnees
function checkbox transposition Callback(hObject, eventdata, handles)
%%
%choix du jeu−testfunction popupmenu choix jeu Callback(hObject, eventdata, handles)
switch get(handles.popupmenu choix jeu,'Value');
case 1
%visibilite du cadre pour le nom du fichier
set(handles.text11,'Visible','off');
134
set(handles.text17,'Visible','off');
set(handles.edit tjeu,'Visible','off');
set(handles.fichiertest,'Visible','on');
set(handles.edit7,'Visible','on');
set(handles.pushbutton6,'Visible','on');
case 2
%visibilite du cadre pour le nom du fichier
set(handles.text11,'Visible','on');
set(handles.text17,'Visible','on');
set(handles.edit tjeu,'Visible','on');
set(handles.fichiertest,'Visible','off');
set(handles.edit7,'Visible','off');
set(handles.pushbutton6,'Visible','off');
end
%%
function popupmenu choix jeu CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
%Presence de variables explicatives qualitatives
function checkbox qualit Callback(hObject, eventdata, handles)
if (get(hObject,'Value')==1)%on sauvegarde
set(handles.text31,'Visible','on');
set(handles.text32,'Visible','on');
set(handles.edit quant,'Visible','on');
elseset(handles.text31,'Visible','off');
set(handles.text32,'Visible','off');
set(handles.edit quant,'Visible','off');
end%%
%on rentre le numero des variables qualitatives
function edit quant Callback(hObject, eventdata, handles)
%%
function edit quant CreateFcn(hObject, eventdata, handles)
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end%%
% Cas ou on effectue un pre−traitementfunction checkbox traitement Callback(hObject, eventdata, handles)
if (get(hObject,'Value')==1)%on sauvegarde
set(handles.checkbox pre qual,'Visible','on');
else
set(handles.checkbox pre qual,'Visible','off');
end
135
%%
%
function edit tauxsign Callback(hObject, eventdata, handles)
%%
%
function edit tauxsign CreateFcn(hObject, eventdata, handles)
%%
%%%%%%%%%%%%%%%%%%Realisation des differents algorithmes%%%%%%%%%%%%%%%%%%
function pushbutton calcul Callback(hObject, eventdata, handles)
global TT Don TAB Xnew
%Initialisation : on recupere tout ce que contiennent les boites:
%debut de l'horloge
tic
%DM
donmanquante=get(handles.checkbox donnmanquante,'Value');
%affichage
affichage=get(handles.checkbox affichage,'Value');
%composantes
composantes=str2double(get(handles.edit nblim,'String'));
%modalite
modalite=str2double(get(handles.edit nbY,'String'));
%numeros variables qualitatives
vecteur=str2num(get(handles.edit quant,'String'));
%niveau de confiance pour le jeu de donnees
tal=(str2double(get(handles.edit tjeu,'String')))/100;
%IC
conf=str2double(get(handles.edit conf,'String'));
%niveau de confiance pour IC
confreg=(str2double(get(handles.edit conf reg,'String')))/100;
%sauvegarde
choix sauvegarde=get(handles.checkbox choix sauvegarde, 'Value');
%intervalle
intervalle=get(handles.checkbox intervalle,'Value');
sauvegarde=get(handles.edit sauvegarde,'String');
%jeu de donnees
jeu=get(handles.checkbox jeu,'Value');
%test Q2
Q2=get(handles.checkbox Q2,'Value');
%test LC
LC=get(handles.checkbox LC,'Value');
%test khi2
khi2=get(handles.checkbox khi2,'Value');
%test forward
forward=get(handles.checkbox forward,'Value');
%test R2
R2=get(handles.checkbox R2,'Value');
%seuil
seuil1=(str2double(get(handles.edit tauxsign,'String')))/100;
%variables qualitatives
136
qualitatif=get(handles.checkbox qualit,'Value');
%transposition
transposition=get(handles.checkbox transposition,'Value');
vmiss=999999; %remplacement des valeurs manquantes
alpha=0.05;
%seuil=0.05;
%Importation des donnees:%
fichier=get(handles.edit fichier,'String');
%importation de fichier excel
if (all(fichier(end−2:end)=='xls'))
Don=xlsread(fichier(1:end−4));
%importation de fichiers texte
elseif (all(fichier(end−2:end)=='txt'))
col=str2double(get(handles.edit col,'String'));
row=str2double(get(handles.edit row,'String'));
fid=fopen(fichier,'r');
Don1=fscanf(fid,'%g%g',[1 inf]);
Don1=Don1';
Don=zeros(row,col);
Don(1,:)=Don1(1:col);
for i=2:row
Don(i,:)=Don1(((i−1)*col+1):i*col);end;
elsewarndlg('Seuls les formats .xls ou .txt sont acceptes',
'ATTENTION!!');
endend
%Cas ou on veut transposer les donnees du tableaux
if transposition==1
Don=Don'; %transposition du fichier
end;
%Calculs selon la regression choisie%
switch get(handles.popupmenu choixfct,'Value')
%%%%%%%%%%%%%Pre−traitement : Regressions simples%%%%%%%%%%%%%
case 1
clc;
tic;
disp('**********************************************************************************')
disp('**********************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : PRE−TRAITEMENT A L''AIDE
DE REGRESSIONS SIMPLES')
disp('Nom du fichier traite')
137
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;disp('Niveau de confiance :')
disp(confreg*100);
Y=Don(:,end);X=Don(:,1:end−1);wasnan = (isnan(Y) | any(isnan(X),2));
havenans = any(wasnan);
if havenans
Y(wasnan) = [];
X(wasnan,:) = [];
Don=[X Y];
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
end
indice=[1:size(X,2)+size(Y,2)];
seuil=1−confreg;%cas des variables qualitatives (non traite)
if qualitatif==1
set(handles.text32,'Visible','off');
set(handles.text31,'Visible','off');
set(handles.edit quant,'Visible','off');
warndlg('Cette option n''est pas disponible');
end;%centrage−reduction des tableaux%
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
%Cas ou on a plus d'une variable reponse
if q>1
for k=1:q
disp('Resultats pour la variable reponse numero : ')
disp(k)
[Coefficients, S err, XTXI, R sq, F val, Coef stats,
Y hat, residuals, covariance]=mregress(Y(:,k), X, 0);
disp('Les coefficients de regression sont');
disp(Coefficients)
disp('*********************************************************************');
p value=Coef stats(:,end);X1=X(:,find(p value<seuil));
138
indice1=indice(find(p value<seuil));
disp('*********************************************************************');
Don1=[X1 Y];
disp('*********************************************************************');
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ');
disp(indice1)
save('regressions simples num.txt','indice1','−ascii');end%cas ou on a une variable reponse
elseCoefficients1=zeros(size(X,2),1);
pvalue=zeros(size(X,2),1);
for k=1:size(X,2)
[Coefficients, S err, XTXI, R sq, F val, Coef stats,
Y hat, residuals, covariance]=mregress(Y,X(:,k), 0);
pvalue(k)=Coef stats(:,end);Coefficients1(k)=Coefficients;
end
X=X(:,find(pvalue<seuil));
Coefficients1=Coefficients1(find(pvalue<seuil));
indice1=indice(find(pvalue<seuil));
disp('**********************************************************************************')
disp('Le(s) coefficient(s) de regression de(s) variable(s)
selectionnee(s) est (sont)');
disp(Coefficients1);
disp('**********************************************************************************')
Don1=[X Y];
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ');
disp(indice1)
disp('Nombre de variables selectionnees');
disp(size(X,2));
save('regressions simples num.txt','indice1','−ascii');end
%enregistrement des resultats
save('regressions simples.txt','Don1','−ascii');if affichage==1
disp('Tableau des variables selectionnees');
disp(X)
end;disp('**********************************************************************************')
disp('Temps ecoule en secondes : ');
t=toc;
disp(t);
disp('**********************************************************************************')
disp('**********************************************************************************')
%%%%%%%%%%%%%Pre−traitement : Regressions logistiques univariees%%%%%%%%%%%%%
case 2
clc;
tic;
disp('*****************************************************************************************')
disp('*****************************************************************************************')
139
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : PRE−TRAITEMENT A L''AIDE DE
REGRESSIONS LOGISTIQUES UNIVARIEES')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;disp('Niveau de confiance (en pourcentage) :')
disp(confreg*100);
Y=Don(:,end);X=Don(:,1:(end−1));wasnan = (isnan(Y) | any(isnan(X),2));
havenans = any(wasnan);
if havenans
Y(wasnan) = [];
X(wasnan,:) = [];
endDon=[X Y];
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
disp('Nombre de modalites de la variable reponse')
disp(modalite)
seuil=1−confreg;indicesqual=vecteur;
indice=[1:p+q];
%disp(indice)
%Recodage dans le cas ou les variables explicatives sont
%qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0 %cas ou on a un codage 0/1
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else %autres cas de codage
mod1=max(Xqual);
end%disp(Xqual);
m=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];
140
Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
endtab3=[tab3 tab2];
end%disp(tab3);
%recodage des variables explicatives qualitatives
X(:,vecteur)=[];
X=[X tab3];
end;
p=size(X,2);
if qualitatif==1
disp('Il existe des variables explicatives
qualitatives');
disp('Numero de(s) variable(s) explicative(s)
qualitative(s)');
disp(indicesqual)
disp('Les eventuelles variables qualitatives seront
placees a droite du tableau')
elsedisp('Il n''existe pas de variables explicatives qualitatives');
end;
for i=1:p
%regression logistique
[beta,theta,nz,nx,xstd,iter,dev,se]=logistic ordinal(Y,X(:,i),1);
beta1(i)=beta;
SE(i)=se((nz+1):(nz+nx),1)./(xstd');
end;W=(beta1./SE).ˆ2;
p value=1−chi2cdf(W,1);
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');disp('Resultats des regressions logistiques univariees')
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');tableauwald=[beta1' W' SE' p value'];
%disp(tableauwald);
p value1=p value';
save('p value pretraitement logistique.txt','p value1','−ascii');indice=indice(find(p value<seuil));
X=X(:,find(p value<seuil));
beta1=beta1';
Coefficients=beta1(find(p value<seuil));
%size(indice)
141
save('indice logistiques univariees.txt','indice','−ascii');Don1=[X Y];
disp('Le(s) coefficient(s) de regression de(s) variable(s)
selectionnee(s) est (sont)');
disp(Coefficients');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ');
disp(indice)
save('logistiques univariees num.txt','indice','−ascii');disp('Nombre de variables selectionnees');
disp(length(indice));
indice1=indice';
p value2=p value1(find(p value1<seuil));
pvaluenum=[indice1 p value2];
save('logistiques univariees num.txt','pvaluenum(:,1)','−ascii');indicequal1=0;
numero1=zeros(2,size(indice,2));
numero1(1,:)=indice;
numero1(2,:)=[1:size(indice,2)];
for j=1:length(indice)
for i=1:length(indicesqual)
if find(indicesqual(i)==indice(j))
indicequal1(i)=numero1(2,j);
endend
endif indicequal16=0
disp('le(s) numero(s) de(s) variable(s) qualitative(s)
dans le nouveau tableau est (sont) : ');
disp(indicequal1);
end;%enregistrement du tableau des variables selectionnees
concatene a la variable reponse
save('logistiques univariees.txt','Don1','−ascii');if affichage==1
disp('Tableau des variables selectionnees');
disp(X)
end;disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')t=toc;
disp('Temps ecoule en secondes');
disp(t);
disp('*****************************************************************************************')
disp('*****************************************************************************************')
%%%%%%%%%%%%%Pre−traitement : Regressions logistiques penalisees univariees%%%%%%%%%%%%%
case 3
clc;
tic;
disp('*****************************************************************************************')
disp('*****************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : PRE−TRAITEMENT A L''AIDE DE REGRESSIONS
LOGISTIQUES PENALISEES UNIVARIEES')
disp('Nom du fichier traite')
142
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;disp('Niveau de confiance (en pourcentage) :')
disp(confreg*100);
Y=Don(:,end);if max(Y)==1
Y=Y;
elseY=Y−1;
end
X=Don(:,1:(end−1));wasnan = (isnan(Y) | any(isnan(X),2));
havenans = any(wasnan);
if havenans
Y(wasnan) = [];
X(wasnan,:) = [];
endDon=[X Y];
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
disp('Nombre de modalites de la variable reponse')
disp(modalite)
seuil=1−confreg;indicesqual=vecteur;
firth=1;
epsilon=10ˆ(−4);maxstep=10;
maxhs=5;
alpha=0.10;
if (donmanquante==1) %donnees avec valeurs manquantes
moyX=moyenne(X,vmiss);
[stdX,ssx]=ecart type(X,moyX,vmiss);
elsemoyX=mean(X); %donnees sans valeurs manquantes
stdX=std(X);
end
[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
143
indice=[1:p+q];
%disp(indice)
%Recodage dans le cas ou les variables explicatives sont
%qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0 %cas ou on a un codage 0/1
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else %autres cas de codage
mod1=max(Xqual);
end%disp(Xqual);
m=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
endtab3=[tab3 tab2];
end%disp(tab3);
%recodage des variables explicatives qualitatives
X(:,vecteur)=[];
X=[X tab3];
end;
p=size(X,2);
if qualitatif==1
disp('Il existe des variables explicatives
qualitatives');
disp('Numero de(s) variable(s) explicative(s)
qualitative(s)');
disp(indicesqual)
disp('Les eventuelles variables qualitatives
seront placees a droite du tableau')
elsedisp('Il n''existe pas de variables explicatives
qualitatives');
end;
144
beta1=zeros(p,1);
p value=zeros(p,1);
for i=1:p
%regression logistique
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression(E0(:,i),Y,firth,
epsilon,maxstep,maxhs,alpha);
beta1(i)=beta;
p value(i)=prob;
end;
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');disp('Resultats des regressions logistiques penalisees univariees')
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');tableauwald=[beta1 p value];
%disp(tableauwald);
save('p value pretraitement logistique penalisee.txt','p value','−ascii');indice=indice(find(p value<seuil));
X=X(:,find(p value<seuil));
Coefficients=beta1(find(p value<seuil));
%size(indice)
save('indice pretraitement logistique penalisee.txt','indice','−ascii');Don1=[X Y];
disp('Le(s) coefficient(s) de regression de(s) variable(s)
selectionnee(s) est (sont)');
disp(Coefficients');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ');
disp(indice)
disp('Nombre de variables selectionnees');
disp(length(indice));
indice1=indice';
p value2=p value(find(p value<seuil));
pvaluenum=[indice1 p value2];
save('logistiques penalisees num.txt','pvaluenum(:,1)',
'−ascii');indicequal1=0;
numero1=zeros(2,size(indice,2));
numero1(1,:)=indice;
numero1(2,:)=[1:size(indice,2)];
for j=1:length(indice)
for i=1:length(indicesqual)
if find(indicesqual(i)==indice(j))
indicequal1(i)=numero1(2,j);
endend
endif indicequal16=0
disp('le(s) numero(s) de(s) variable(s) qualitative(s) dans le
nouveau tableau est (sont) : ');
disp(indicequal1);
end;%enregistrement du tableau des variables selectionnees concatene a la variable reponse
save('logistiques penalisees.txt','Don1','−ascii');
145
if affichage==1
disp('Tableau des variables selectionnees');
disp(X)
end;disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')t=toc;
disp('Temps ecoule en secondes');
disp(t);
disp('*****************************************************************************************')
disp('*****************************************************************************************')
%%%%%%%%%%%%%Regression PLS1 sans selection de variables%%%%%%%%%%%%%
case 4
clc;
disp('*********************************************************')
disp('*********************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : REGRESSSION PLS1 SANS SELECTION DE VARIABLES')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;
%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2) ;
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
%identification des donnees manquantes:
if (donmanquante==1)
if sum(isnan(Don))>0.2*(n*(p+q))
quit(MIAJ PLS PLUS V2009 1)
end%on remplace les blancs correspondant aux donnees manquantes par vmiss.
X(isnan(X))=vmiss;
Y(isnan(Y))=vmiss;
end
%%%centrage−reduction des tableaux:%%%
if (donmanquante==1) %donnees avec valeurs manquantes
moyX=moyenne(X,vmiss);
146
moyY=moyenne(Y,vmiss);
[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss);
elsemoyX=mean(X); %donnees sans valeurs manquantes
moyY=mean(Y);
stdX=std(X);
stdY=std(Y);
end
[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
[Yc]=centrage(vmiss,Y,moyY);
[F0]=reduction(Yc,stdY,vmiss);
%initialisation%
snip=10ˆ(−10);A=p;
uini=zeros(n,1);
itnip=100;
L=500;
if (composantes>p)
error('Le nombre limite de composantes PLS fixe depasse le
nombre de variables');
end%lancement des algorithmes:
if (donmanquante==0) %cas oı¿½ il n'y a pas de donnees manquantes
disp('Il n''existe pas de donnees manquantes');
disp('*********************************************************')
%regression PLS1 sans donnees manquantes
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=PLS1 sans DM(composantes,E0,F0,snip,uini);
disp('*********************************************************')
disp('Resultats pour le nombre de composantes choisi a priori')
disp('*********************************************************')
disp('TT : composantes PLS')
disp(TT)
disp('*********************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('*********************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('*********************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('*********************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('*********************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('*********************************************************')
disp('BETA : coefficients de regression de Y sur X pour les donnees
centrees reduites')
147
disp(BETA)
disp('*********************************************************')
disp('LEV : matrice des leviers')
disp(LEV)
%calculs des equations de regression
[betan]=eq PLS1 sans DM(composantes,BETA,X,Y);
disp('*********************************************************')
disp('Coefficients de regressions PLS pour les donnees brutes')
disp('*********************************************************')
disp('betan : coefficients des equations de regression pour les donnees brutes')
disp(betan)
%Reconstitution des donnees et prediction sur un jeu de
%donnees
[ylc,rmse]=res pred jeu(X,Y,betan,composantes);
disp('*********************************************************')
disp('Reconstitution sur les donnees d''origine en fonction du
nombre de composantes')
disp('*********************************************************')
seuil=(max(Y)−min(Y))/2;res=abs(ylc(:,composantes)−Y);nb=0;
if find(res<seuil)
nb=nb+1;
end;pourcentage bien classes=(nb/q)*100;
disp('Le pourcentage de donnees bien classees est : ');
disp(pourcentage bien classes)
ylc2=[ylc Y ];
disp('ylc2 : y reconstitue en fonction des composantes (prevision).
La derniere colonne est le y d''origine.')
disp(ylc2)
disp('*********************************************************')
disp('rmse : residual mean square error en fonction des composantes')
disp(rmse)
if intervalle==1
%intervalle de confiance
disp('*********************************************************')
disp('Calcul des intervalles de confiance sur les coefficients de
regression PLS')
disp('*********************************************************')
% suivant le choix de l'utilisateur
switch get(handles.popupmenu choix intervalle,'Value');
case 1 %jacknife
intervalle=JACK(n,p,q,Don,composantes,vmiss,snip,conf) ;
disp('*********************************************************')
disp('intervalles de confiance obtenus par la methode jacknife
pour la derniere composante')
disp(intervalle)
148
case 2 %boostrap
intervalle=bootstrap(L,Don,composantes,vmiss,snip,uini,conf);
disp('*********************************************************')
disp('intervalles de confiance obtenus par la methode bootstrap
pour la derniere composante')
disp(intervalle)
case 3 %approximation
intervalle=approximation PLS1(n,p,X,Y,composantes,ylc,BETA);
disp('*********************************************************')
disp('intervalles de confiance par approximation pour la derniere composante')
disp(intervalle)
endend;
if jeu==1
disp('*********************************************************')
disp('Reconstitution et prediction sur un jeu−test en fonction
du nombre de composantes')
disp('*********************************************************')
switch get(handles.popupmenu choix jeu,'Value');
case 1
%Importation des donnees:%
fichier test=get(handles.edit7,'String');
disp('Nom du fichier−test')disp(fichier test)
if (all(fichier test(end−2:end)=='xls'))Don test=xlsread(fichier test(1:end−4));
elseif (all(fichier test(end−2:end)=='txt'))
Don test=load(fichier test);
elsewarndlg('Seuls les formats .xls ou .txt sont
acceptes','ATTENTION!!');
endendytest=Don test(:,end);xtest=Don test(:,1:(end−1));ntest=size(Don test,1);
ptest=size(xtest,2);
qtest=size(ytest,2);
uini=zeros(ntest,1);
moyXtest=mean(xtest);
moyYtest=mean(ytest);
stdXtest=std(xtest);
stdYtest=std(ytest);
[Xctest]=centrage(vmiss,xtest,moyXtest);
[E0test]=reduction(Xctest,stdXtest,vmiss);
[Yctest]=centrage(vmiss,ytest,moyYtest);
[F0test]=reduction(Yctest,stdYtest,vmiss);
[TTtest,PPtest,UUtest,WWtest,WWStest,CCtest,BETAtest,
ychaptest,LEVtest]=
149
PLS1 sans DM(composantes,E0test,F0test,snip,uini);
[betantest]=eq PLS1 sans DM(composantes,BETAtest,xtest,ytest);
[ylc,rmse]=res pred jeu(xtest,ytest,betantest,composantes);
disp('*********************************************************')
disp('ylc : y reconstitue en fonction des composantes pour
le jeu−test')disp(ylc)
disp('*********************************************************')
disp('rmse : residual mean square error en fonction des
composantes pour le jeu−test')disp(rmse)
case 2
[nal,seldef,nlearn,ntest,xtest,ytest]=
tirage aleatoire(X,Y,tal);
[ylc,rmse]=res pred jeu(xtest,ytest,betan,composantes);
disp('*********************************************************')
disp('ylc : y reconstitue en fonction des
composantes pour le jeu−test')disp(ylc)
disp('*********************************************************')
disp('rmse : residual mean square error en fonction
des composantes pour le jeu−test')disp(rmse)
end;end;
else %cas ou il y a des donnees manquantes
disp('Il existe des donnees manquantes');
disp('*********************************************************')
%regression PLS1 avec donnees manquantes
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=
PLS DM(composantes,E0,F0,vmiss,itnip,composantes);
disp('*********************************************************')
disp('Resultats pour le nombre de composantes choisi a priori')
disp('*********************************************************')
disp('TT : composantes PLS')
disp(TT)
disp('*********************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP);
disp('*********************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC);
disp('*********************************************************')
disp('WW : vecteurs propres');
disp(WW);
disp('*********************************************************')
disp('WWS : W tilde')
disp(WWS);
disp('*********************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU);
150
disp('*********************************************************')
disp('BETA : coefficients de regression de Y sur X pour les
donnees centrees reduites')
disp(BETA)
disp('*********************************************************')
disp('LEV : matrice des leviers')
disp(LEV);
%calculs equations de regression
[betan]=eq PLS1 DM(composantes,BETA,X,Y);
disp('*********************************************************')
disp('Coefficients de regressions PLS pour les donnees brutes')
disp('*********************************************************')
disp('betan : coefficients de regression')
disp(betan);
%Reconstitution des donnees et prediction sur un jeu de
%donnees
[ylc,rmse]=res pred jeu DM(X,Y,betan,composantes,vmiss);
disp('*********************************************************')
disp('Reconstitution sur les donnees d''origine en fonction
du nombre de composantes')
disp('*********************************************************')
ylc2=[ylc Y];
disp('ylc : y reconstitue en fonction des composantes (prevision).
La derniere colonne est le y d''origine.')
disp(ylc2);
disp('*********************************************************')
disp('rmse : residual mean square error en fonction des composantes')
disp(rmse);
if intervalle==1
disp('*********************************************************')
disp('Calcul des intervalles de confiance sur les coefficients
de regression PLS')
disp('*********************************************************')
% suivant le choix de l'utilisateur
switch get(handles.popupmenu choix intervalle,'Value');
case 1 %jacknife
intervalle=
JACK DM(n,p,q,Don,composantes,vmiss,donmanquante,itnip,conf);
disp('*********************************************************')
disp('intervalles de confiance obtenus par la methode jacknife
pour la derniere composante')
disp(intervalle)
case 2 %boostrap
intervalle=
bootstrap DM(L,Don,composantes,vmiss,donmanquante,itnip,conf);
disp('*********************************************************')
disp('intervalles de confiance obtenus par la methode boostrap
pour la derniere composante')
disp(intervalle)
case 3 %approximation
disp('Il n''existe pas d''intervalles de confiance par la
151
methode d''approximation')
endend;
end
%tests
if Q2==1
disp('*********************************************************')
disp('Choix du nombre de composantes PLS significatives par le
test du Q2')
disp('*********************************************************')
%validation croisee
[Q2cum,H,nb]=
validation croisee PLS1 version1(F0,ychap,LEV,composantes);
disp('La premiere colonne donne le Q2');
disp('La deuxieme colonne donne le Q2cum');
disp('La troisieme donne le resultat du test')
disp(H)
disp('Nombre de composantes significatives')
disp(nb)
end;
if R2==1
disp('*********************************************************')
disp('Choix du nombre de composantes PLS significatives par le
test du R2')
disp('*********************************************************')
%validation croisee
[R2,H,nb]=validation croisee PLS1 R2(F0,ychap,composantes);
disp('La premiere colonne donne le R2');
disp('La deuxieme donne le resultat du test')
disp(H)
disp('Nombre de composantes significatives')
disp(nb)
end;if LC==1 %test de LC
disp('*********************************************************')
disp('Choix du nombre de composantes PLS significatives
par le test de Lazraq−Cleroux')[thsig]=Lazraq cleroux(E0,F0,composantes,TT,alpha);
disp('*********************************************************')
disp('Nombre de composantes PLS significatives')
disp(thsig)
end;
%Calcul des pouvoirs d'explication de E0 et F0
disp('*********************************************************')
disp('Calcul des pouvoirs d''explication de E0 et F0
(voir article de M. Tenenhaus, J−P Gauchi et C. Menardo [7])')
pouvoir explication=calcul taux explication(composantes,TT,PP,CC);
disp('*********************************************************')
disp('La premiere colonne donne le pouvoir de chaque t h pour resumer E0')
152
disp('La deuxieme colonne donne le pouvoir des h premiers t h pour resumer E0')
disp('La troisieme colonne donne le pouvoir de chaque t h pour resumer F0')
disp('La quatrieme colonne donne le pouvoir des h premiers t h pour resumer F0')
disp(pouvoir explication)
if forward==1 %test forward
set(handles.text signif,'Visible','on');
set(handles.text37,'Visible','on');
set(handles.edit tauxsign,'Visible','on');
disp('**********************************************************************************************************')
disp('Choix du nombre de composantes PLS significatives par la
technique de regression PLS pas a pas ascendante')
disp('**********************************************************************************************************')
[BETA,TT]=
forward PLS(composantes,E0,F0,Y,vmiss,X,donmanquante,seuil1);
%calculs des equations de regression
[betan]=eq PLS1 sans DM(size(TT,2),BETA,X,Y);
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Coefficients de regressions PLS pour les donnees brutes')
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('betan : coefficients des equations de regression pour
les donnees brutes')
disp(betan)
end;%Enregistrement des resultats
if (choix sauvegarde==1)
nom=strcat(sauvegarde, '.mat');
save(nom, 'TT', 'PP', 'UU', 'WW', 'WWS','CC', 'BETA', 'ylc2');
end
t=toc;
disp('**********************************************************************************************************')
disp('Temps ecoule en secondes')
disp(t)
%fin horloge
disp('**********************************************************************************************************')
disp('**********************************************************************************************************')
%%%%%%%%%%%%regression PLS1 avec selection de variables : methode BQ%%%%%%%%%%%%%%%%
case 5
clc;
disp('*****************************************************************************************')
disp('*****************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : REGRESSION PLS1 AVEC SELECTION
DE VARIABLES : METHODE BQ')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;%definition des variables reponses et explicatives:
153
Y=Don(:,end);X=Don(:,1:(end−1));
%identification des donnees manquantes:
if (donmanquante==1)
%on remplace les blancs correspondant aux donnees manquantes
%par vmiss.
X(isnan(X))=vmiss;
Y(isnan(Y))=vmiss;
end
%centrage−reduction des tableaux%
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
if (donmanquante==1) %donnees avec valeurs manquantes
moyX=moyenne(X,vmiss);
moyY=moyenne(Y,vmiss);
[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss);
else %donnees sans valeurs manquantes
moyX=mean(X);
moyY=mean(Y);
stdX=std(X);
stdY=std(Y);
end
[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
[Yc]=centrage(vmiss,Y,moyY);
[F0]=reduction(Yc,stdY,vmiss);
%initialisation%
snip=10ˆ(−10);A=composantes;
uini=zeros(n,1);
if (composantes>p)
error('Le nombre limite de composantes PLS fixe depasse
le nombre de variables');
end%lancement des algorithmes:
if (donmanquante==0) %cas ou il n'y a pas de donnees manquantes
disp('Il n''existe pas de donnees manquantes');
disp('*****************************************************************************************')
disp('Veuillez patienter')
disp('*****************************************************************************************')
[Xnew,TAB]=
PLS1 selection2(X,E0,F0,A,snip,uini,composantes);
154
else %cas ou il y a des donnees manquantes
disp('Il existe des donnees manquantes');
disp('*****************************************************************************************')
disp('Veuillez patienter')
disp('*****************************************************************************************')
[Xnew,TAB]=PLS1 selectionDM(X,E0,F0,A,snip,uini,composantes);
end
%Appel de l'interface tableau des variables pour construire le
%tableau des variables conservees concatenees a la variable reponse
tableau des variables
t=toc ;
disp('*****************************************************************************************')
disp('Temps ecoule en secondes');
disp(t);
%fin horloge
%%%%%%%%%%%%%regression PLS1 avec selection de variables : methode
%%%%%%%%%%%%%forward%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%
case 6
clc;
tic
disp('******************************************************************************************')
disp('******************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : REGRESSION PLS1 AVEC SELECTION
DE VARIABLES : METHODE FORWARD')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;
%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2) ;
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
disp('Niveau de confiance (en pourcentage)');
disp(confreg*100);
seuil=1−confreg;
155
%identification des donnees manquantes:
if (donmanquante==1)
if sum(isnan(Don))>0.2*(n*(p+q))
quit(MIAJ PLS PLUS V2009 1)
end%on remplace les blancs correspondant aux donnees manquantes par
%vmiss.
X(isnan(X))=vmiss;
Y(isnan(Y))=vmiss;
endif (donmanquante==1)
disp('Il existe des donnees manquantes');
%donnees avec valeurs manquantes
moyX=moyenne(X,vmiss);
moyY=moyenne(Y,vmiss);
[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss);
elsedisp('Il n''existe pas de donnees manquantes');
moyX=mean(X); %donnees sans valeurs manquantes
moyY=mean(Y);
stdX=std(X);
stdY=std(Y);
end
[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
[Yc]=centrage(vmiss,Y,moyY);
[F0]=reduction(Yc,stdY,vmiss);
%initialisation%
disp('******************************************************************************************')
[BETA,TT]=
forward PLS(composantes,E0,F0,Y,vmiss,X,donmanquante,seuil,affichage);
disp('******************************************************************************************')
t=toc;
disp('Temps ecoule (en secondes)');
disp(t)
disp('******************************************************************************************')
disp('******************************************************************************************')
%%%%%%%%%%%%%regression PLS2 sans selection de variables%%%%%%%%%%%%%%
case 7
clc;
disp('***********************************************************************************************')
disp('***********************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : REGRESSION PLS2 SANS SELECTION
DE VARIABLES')
disp('Nom du fichier traite')
disp(fichier)
156
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;
%definition des variables reponses et explicatives:
%definition des variables
Y=Don(:,(modalite+1):end);X=Don(:,1:(end−modalite));
%centrage−reduction des tableaux:%
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
if (donmanquante==1) %donnees avec valeurs manquantes
X(isnan(X)==1)=vmiss;
%calcul moyenne
moyX=moyenne(X,vmiss);
moyY=moyenne(Y,vmiss);
%calcul ecart−type[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss) ;
else%calcul moyenne
moyX=mean(X);
moyY=mean(Y);
%calcul ecart−typestdX=std(X);
stdY=std(Y);
end
%centrage−reduction[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
[Yc]=centrage(vmiss,Y,moyY);
[F0]=reduction(Yc,stdY,vmiss);
%initialisation%
snip=10ˆ(−10);A=p;
uini=zeros(n,1);
itnip=100;
vmiss=999999;
if (composantes>p)
157
error('Le nombre limite de composantes PLS fixe depasse
le nombre de variables');
end
%lancement de l'algorithme
if (donmanquante==0) %cas ou il n'y a pas de donnees manquantes
disp('Il n''existe pas de donnees manquantes');
disp('***********************************************************************************************')
%rA©gression PLS2
disp('Resultats pour le nombre de composantes choisi a priori')
disp('***********************************************************************************************')
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=
PLS2 sans DM(composantes,E0,F0,snip,uini);
disp('TT : composantes PLS')
disp(TT)
disp('***********************************************************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('***********************************************************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('***********************************************************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('***********************************************************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('***********************************************************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('***********************************************************************************************')
disp('beta : coefficients de regression de Y sur X pour les donnees
centrees reduites ')
for k=1:q
num=k;
disp('variable reponse numero')
disp(num)
beta=BETA(((k−1)*q+1):(q*k),:);disp(beta)
enddisp('***********************************************************************************************')
disp('LEV : matrice des leviers')
disp(LEV)
%calcul equations de regression
[betan]=eq PLS2 sans DM(composantes,BETA,X,Y);
disp('***********************************************************************************************')
disp('Coefficients de regressions PLS pour les donnees brutes')
disp('***********************************************************************************************')
for h=1:composantes
betac(:,h)=betan(1:q,h);
158
betax(:,h)=betan(q+1:size(betan,1),h);
end;
disp('betac : constantes des coefficients des equations de
regression pour les donnees brutes ')
disp(betac)
disp('betax : coefficients des equations de regression pour
les donnees brutes')
disp(betax)
%Reconstitution des donnees et prediction sur un jeu de
%donnees
[ylctot,rmse]=res pred jeu PLS2(X,Y,betan,composantes);
disp('***********************************************************************************************')
disp('Reconstitution sur les donnees d''origine en fonction
du nombre de composantes')
disp('***********************************************************************************************')
disp('y ind c : chaque variable reponse reconstituee en fonction
des composantes (prevision)')
for k=1:q
num=k;
disp('variable reponse numero')
disp(num)
y ind c=ylctot((k−1)*size(X,1)+1:k*size(X,1),:);disp(y ind c)
end;
disp('***********************************************************************************************')
disp('rmse : residual mean square error en fonction des composantes')
disp(rmse)
if jeu==1
disp('***********************************************************************************************')
disp('Reconstitution et prediction sur un jeu−test en fonction du
nombre de composantes')
disp('***********************************************************************************************')
switch get(handles.popupmenu choix jeu,'Value');
case 1 %jeu1
%Importation des donnees:%
fichier test=get(handles.edit7,'String');
disp('Nom du fichier−test')disp(fichier test)
if (all(fichier test(end−2:end)=='xls'))Don test=xlsread(fichier test(1:end−4));
elseif (all(fichier test(end−2:end)=='txt'))
Don test=load(fichier test);
elsewarndlg('Seuls les formats .xls ou .txt sont
acceptes','ATTENTION!!');
endendYtest=Don test(:,end);ytest=zeros(size(Don test,1),modalite);
for i=1:modalite
159
ytest(:,i)=Ytest==i;
endxtest=Don test(:,1:(end−1));ntest=size(Don test,1);
ptest=size(xtest,2);
qtest=size(ytest,2);
uinitest=zeros(ntest,1);
moyXtest=mean(xtest);
moyYtest=mean(ytest);
stdXtest=std(xtest);
stdYtest=std(ytest);
[Xctest]=centrage(ntest,ptest,vmiss,xtest,moyXtest);
[E0test]=reduction(ntest,ptest,Xctest,stdXtest,vmiss);
[Yctest]=centrage(ntest,ptest,vmiss,ytest,moyYtest);
[F0test]=reduction(ntest,ptest,Yctest,stdYtest,vmiss);
[TTtest,PPtest,UUtest,WWtest,WWStest,CCtest,BETAtest,
ychaptest,LEVtest]=
PLS2 sans DM(composantes,E0test,F0test,snip,uinitest);
[betantest]=eq PLS2 sans DM(composantes,BETAtest,xtest,ytest);
[ylctot,rmse]=res pred jeu PLS2(xtest,ytest,betantest,composantes);
disp('***********************************************************************************************')
disp('ylctot : y reconstitue en fonction des composantes
pour le jeu−test')disp(ylctot)
disp('***********************************************************************************************')
disp('rmse : residual mean square error en fonction des
composantes pour le jeu−test')disp(rmse)
case 2 %jeu par tirage aleatoire
[nal,seldef,nlearn,ntest,xtest,ytest]=tirage aleatoire(X,Y,tal);
[ylc,rmse]=res pred jeu(xtest,ytest,betan,composantes);
disp('***********************************************************************************************')
disp('ylc : y reconstitue en fonction des composantes
pour le jeu−test')disp(ylc)
disp('***********************************************************************************************')
disp('rmse : residual mean square error en fonction
des composantes pour le jeu−test')disp(rmse)
end;end
elsedisp('Il existe des donnees manquantes');
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=PLS2 DM(composantes,E0,Y,vmiss,itnip);
disp('***********************************************************************************************')
disp('TT : composantes PLS')
disp(TT)
disp('***********************************************************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
160
disp('***********************************************************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('***********************************************************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('***********************************************************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('***********************************************************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('***********************************************************************************************')
disp('beta : coefficients de regression de Y sur X pour les
donnees centrees reduites ')
for k=1:q
num=k;
disp('variable reponse numero')
disp(num)
beta=BETA(((k−1)*q+1):(q*k),:);disp(beta)
enddisp('***********************************************************************************************')
disp('LEV : matrice des leviers')
disp(LEV)
end;
if intervalle==1
L=100;
disp('***********************************************************************************************')
disp('Calcul des intervalles de confiance sur les
coefficients de regression PLS')
switch get(handles.popupmenu choix intervalle,'Value');
% suivant le choix de l'utilisateur
case 1 %jacknife
disp('***********************************************************************************************')
disp('intervalles de confiance obtenus par la methode jacknife
pour la derniere composante')
intervalle=
JACK PLS2(n,p,q,Don,composantes,vmiss,snip,modalite,conf);
case 2 %boostrap
disp('***********************************************************************************************')
disp('intervalles de confiance obtenus par la methode
bootstrap pour la derniere composante')
[intervalle]=
bootstrap PLS2(p,q,L,Don,composantes,vmiss,snip,uini,modalite,conf);
case 3
end
161
end;%Test de validation croisee pour determiner le nombre de composantes
%significatives
disp('***********************************************************************************************')
[Q2KH,Q2CKH,Q2H,test,nb]=validation PLS2(composantes,F0,CC,TT,vmiss);
disp('***********************************************************************************************')
disp('Choix du nombre de composantes PLS significatives par le test
du Q2')
disp('Q2KH')
disp(Q2KH)
disp('Nombre de composantes PLS significatives')
disp(nb)
disp('***********************************************************************************************')
t=toc ;
disp('Temps ecoule en secondes');
disp(t);
%fin de l'horloge
disp('***********************************************************************************************')
%Enregistrement des resultats
if (choix sauvegarde==1)
nom=strcat(sauvegarde, '.mat');
save(nom, 'TT', 'PP', 'UU', 'WW', 'WWS','CC', 'BETA');
end
%%%%%%%%methode PLS2 avec selection de variables%%%%%%%%%%
case 8
clc;
disp('*********************************************************')
disp('*********************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : REGRESSION PLS2 AVEC SELECTION DE VARIABLES')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;
%definition des variables reponses et explicatives:
Y=Don(:,end−(modalite−1):end);%variables explicatives
X=Don(:,1:(end−modalite)); %variables reponses
%centrage−reduction des tableaux:%
n=size(Don,1);
%clear(Don);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
162
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
if (donmanquante==1) %donnees avec valeurs manquantes
X(isnan(X)==1)=vmiss;
%calcul moyenne
moyX=moyenne(X,vmiss);
moyY=moyenne(Y,vmiss);
%calcul ecart−type[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss) ;
else%calcul moyenne
moyX=mean(X);
moyY=mean(Y);
%calcul ecart−typestdX=std(X);
stdY=std(Y);
end
%centrage−reduction[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
[Yc]=centrage(vmiss,Y,moyY);
[F0]=reduction(Yc,stdY,vmiss);
%initialisation%
snip=10ˆ(−10);A=p;
uini=zeros(n,1);
itnip=100;
vmiss=999999;
if (composantes>p)
error('Le nombre limite de composantes PLS fixe depasse
le nombre de variables');
end
%lancement de l'algorithme
if (donmanquante==0) %cas ou il n'y a pas de donnees manquantes
disp('*********************************************************')
%regression PLS2
disp('*********************************************************')
[Xnew, TAB]=
PLS2 selection(X,E0,F0,composantes,snip,uini,composantes,vmiss);
disp('*********************************************************')
else%regression PLS2
disp('*********************************************************')
[Xnew, TAB]=
PLS2 selection DM(X,E0,Y,F0,composantes,snip,uini,composantes,vmiss);
163
disp('*********************************************************')
end;
%enregistrement des resultats
if (choix sauvegarde==1)
nom=strcat(sauvegarde, '.mat');
save(nom, 'Xnew','TAB');
enddisp('*********************************************************')
disp('temps ecoule en secondes');
t=toc ;
disp(t);
%fin de l'horloge
disp('*********************************************************')
%fin horloge
%Appel de l'interface tableau des variables pour construire le
%tableau des variables conservees concatenees a la variable reponse
tableau des variables
%%%%%%%%%%%%%CAS REGRESSION logistique sur composantes PLS%%%%%%%%%%%%%%
case 9
clc;
disp('****************************************************************************************************')
disp('****************************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES
PLS SANS SELECTION DE VARIABLES')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;X=Don(:,1:(end−1));Y=Don(:,end);Ybrut=Don(:,end);%definition des variables reponses et explicatives:
if modalite>2
if sum(find(Ybrut==0))6=0
Ybrut=Ybrut+1;
end;X=Don(:,1:(end−1));Y=zeros(size(Don,1),modalite);
%definition du tableau des indicatrices ı¿½ 3 variables
for i=1:modalite
164
Y(:,i)=Ybrut==i;
end
end
%recodage des variables explicatives qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else
mod1=max(Xqual);
endm=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
endtab3=[tab3 tab2];
endX(:,vecteur)=[];
X=[X tab3];
%nettoyage
clear Xqual tab3 tab2
end
%centrage−reduction des tableaux:%
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de modalites de la variable reponse')
disp(q)
disp('Nombre d''observations')
disp(n)
if donmanquante==0
disp('Il n''existe pas de donnees manquantes');
elsedisp('Il existe des donnees manquantes');
end;if qualitatif==1
disp('Il existe des variables explicatives qualitatives');
165
disp('Les eventuelles variables qualitatives seront
placees a droite du tableau')
elsedisp('Il n''existe pas de variables explicatives qualitatives');
end;
if (donmanquante==1) %donnees avec valeurs manquantes
if sum(isnan(Don))>0.2*(n*(p+q))
quit(MIAJ PLS PLUS V2009 1)
endX(isnan(X)==1)=vmiss;
%calcul moyenne
moyX=moyenne(X,vmiss);
moyY=moyenne(Y,vmiss);
%calcul ecart−type[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss) ;
else%calcul moyenne
moyX=mean(X);
moyY=mean(Y);
%calcul ecart−typestdX=std(X);
stdY=std(Y);
end
%centrage−reduction[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
[Yc]=centrage(vmiss,Y,moyY);
[F0]=reduction(Yc,stdY,vmiss);
%initialisation%
snip=10ˆ(−10);A=p;
uini=zeros(n,1);
itnip=100;
vmiss=999999;
if (composantes>p)
error('Le nombre limite de composantes PLS fixe depasse
le nombre de variables');
end
%lancement de l'algorithme
if (donmanquante==0) %cas ou il n'y a pas de donnees manquantes
if modalite==2
disp('****************************************************************************************************')
%regression PLS1
disp('PARTIE I : calcul des composantes')
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=
PLS1 sans DM(composantes,E0,F0,snip,uini);
disp('TT : composantes PLS')
disp(TT)
166
disp('****************************************************************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('****************************************************************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('****************************************************************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('****************************************************************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('****************************************************************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('****************************************************************************************************')
disp('LEV : matrice des leviers')
disp(LEV)
else
disp('****************************************************************************************************')
%regression PLS2
disp('PARTIE I : calcul des composantes')
disp('****************************************************************************************************')
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=
PLS2 sans DM(composantes,E0,F0,snip,uini);
disp('****************************************************************************************************')
disp('TT : composantes PLS')
disp(TT)
disp('****************************************************************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('****************************************************************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('****************************************************************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('****************************************************************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('****************************************************************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('****************************************************************************************************')
disp('LEV : matrice des leviers')
disp(LEV)
disp('****************************************************************************************************')
end;
if jeu==1
disp('****************************************************************************************************')
disp('Reconstitution et prediction sur un jeu−test en
fonction du nombre de composantes')
disp('****************************************************************************************************')
167
switch get(handles.popupmenu choix jeu,'Value');
case 1
%Importation des donnees:%
fichier test=get(handles.edit7,'String');
disp('Nom du fichier−test')disp(fichier test)
if (all(fichier test(end−2:end)=='xls'))Don test=xlsread(fichier test(1:end−4));
elseif (all(fichier test(end−2:end)=='txt'))
Don test=load(fichier test);
elsewarndlg('Seuls les formats .xls ou .txt
sont acceptes','ATTENTION!!');
endendYtest=Don test(:,end);ytest=zeros(size(Don test,1),modalite);
for i=1:modalite
ytest(:,i)=Ytest==i;
endxtest=Don test(:,1:(end−1));ntest=size(Don test,1);
ptest=size(xtest,2);
qtest=size(ytest,2);
uinitest=zeros(ntest,1);
moyXtest=mean(xtest);
moyYtest=mean(ytest);
stdXtest=std(xtest);
stdYtest=std(ytest);
[Xctest]=centrage(ntest,ptest,vmiss,xtest,moyXtest);
[E0test]=reduction(ntest,ptest,Xctest,stdXtest,vmiss);
[TTtest,PPtest,UUtest,WWtest,WWStest,CCtest,
BETAtest,ychaptest,LEVtest]=
PLS2 sans DM(composantes,E0test,ytest,snip,uinitest);
[betantest]=eq PLS2 sans DM(composantes,BETAtest,xtest,ytest);
[ylctot,rmse]=res pred jeu PLS2(xtest,ytest,betantest,composantes);
case 2
[nal,seldef,nlearn,ntest,xtest,ytest]=tirage aleatoire(X,Y,tal);
[betan]=eq PLS2 sans DM(composantes,BETA,X,Y);
[ylctot,rmse]=
res pred jeu PLS2(xtest,ytest,betan,composantes);
disp('****************************************************************************************************')
disp('ylc : y reconstitue en fonction des composantes
pour le jeu−test')disp(ylctot)
disp('****************************************************************************************************')
disp('rmse : residual mean square error en fonction des
composantes pour le jeu−test')disp(rmse)
end;
168
end
elseif modalite==2
[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=
PLS1 DM(composantes,E0,F0,vmiss,itnip);
disp('****************************************************************************************************')
disp('TT : composantes PLS')
disp(TT)
disp('****************************************************************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('****************************************************************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('****************************************************************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('****************************************************************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('****************************************************************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('****************************************************************************************************')
else[TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=
PLS2 DM(composantes,E0,F0,vmiss,itnip);
disp('****************************************************************************************************')
disp('TT : composantes PLS')
disp(TT)
disp('****************************************************************************************************')
disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('****************************************************************************************************')
disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('****************************************************************************************************')
disp('WW : vecteurs propres');
disp(WW)
disp('****************************************************************************************************')
disp('WWS : W tilde')
disp(WWS)
disp('****************************************************************************************************')
disp('UU : composantes associees au tableau Y')
disp(UU)
disp('****************************************************************************************************')
end;end;
%Test de validation croisee pour determiner le nombre de composantes
%significatives
if modalite==2
disp('Choix du nombre de composantes PLS significatives par
le test du Q2')
169
%validation croisee
[Q2cum,H,nb]=
validation croisee PLS1 version1(F0,ychap,LEV,composantes);
disp('*******************************************************************************************************')
disp('Le premier vecteur donne le Q2cum')
disp(H(:,2))
disp('Le deuxieme vecteur donne le resultat du test qui
est egal a 1 si on conserve la composante')
disp(H(:,3))
disp('Nombre de composantes PLS significatives')
disp(nb)
else[Q2KH,Q2H,test,nb]=validation PLS2(composantes,F0,CC,TT,vmiss);
disp('Choix du nombre de composantes PLS significatives par le
test du Q2')
disp('****************************************************************************************************')
disp('Nombre de composantes PLS significatives')
disp(sum(nb))
%nombre de variables significatives
TT1=TT(:,1:sum(nb));
disp('Composante(s) PLS significative(s)')
disp(TT1)
disp('****************************************************************************************************')
end;
disp('PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE
SUR LES COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')if qualitatif==0
[beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=
logistic ordinal(Ybrut,TT,1);
beta2=−beta2;disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
[predic2,tableau predic2]=
prediction(E0,WWS,Ybrut,beta2,theta2,modalite,composantes);
disp('Qualite de la prevision du modele en utilisant la
regression logistique de la variable');
disp('reponse sur les composantes PLS : tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')
170
disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
else[beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=logistic ordinal(Y,TT,1);
beta2=−beta2;disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
[predic2,tableau predic2]=
prediction(E0,WWS,Y,beta2,theta2,modalite,composantes);
disp('Qualite de la prevision du modele en utilisant la regression
logistique de la variable');
disp('reponse sur les composantes PLS : tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne representent
respectivement les totaux de chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
end;
%enregistrement des resultats
if (choix sauvegarde==1)
nom=strcat(sauvegarde, '.mat');
save(nom, 'TT');
end
t=toc;
disp('Temps ecoulA© en secondes');
disp(t);
%fin de l'horloge
disp('****************************************************************************************************')
disp('****************************************************************************************************')
171
%%%%%%%%%%%%%%%%%%CAS REGRESSION PLS logistique%%%%%%%%%%%%%%%%%%%%%%
case 10
clc;
%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
%recodage des variables explicatives qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else
mod1=max(Xqual);
endm=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
end
tab3=[tab3 tab2];
endX(:,vecteur)=[];
X=[X tab3];
%nettoyage
clear Xqual tab3 tab2
end
%centrage−reduction des tableaux:%
if (donmanquante==1) %donnees avec valeurs manquantes
wasnan = (isnan(Y) | any(isnan(X),2));
havenans = any(wasnan);
if havenans
Y(wasnan) = [];
X(wasnan,:) = [];
172
endDon=[X Y];
end
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
moyenne X=mean(X);
stdX=std(X);
[Xc]=centrage(vmiss,X,moyenne X);
[E0]=reduction(Xc,stdX,vmiss);
%initialisation%
snip=10ˆ(−10);A=p;
uini=zeros(n,1);
itnip=50;
L=500;
vmiss=999999;
if (composantes>p)
error('Le nombre limite de composantes PLS fixe depasse
le nombre de variables');
end
%lancement de l'algorithme
[TT,PP,UU,WW,CC,WWS,BETA,ychap,LEV]=
logistique sans DM(composantes,E0,Y);
disp('***************************************************************************************************')
disp('***************************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('');
if modalite==2
disp('Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS ')
elsedisp('Methode mise en oeuvre : REGRESSION LOGISTIQUE ORDINALE PLS ')
end;disp('');
disp('Nom du fichier traite')
disp(fichier)
disp('');
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de modalites de la variable reponse')
disp(modalite)
disp('Nombre d''observations')
disp(n)
disp('');
if donmanquante==0
disp('Il n''existe pas de donnees manquantes');
else
173
disp('Il existe des donnees manquantes');
end;%affichage si transposition
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;if qualitatif==1
disp('Il existe des variables explicatives qualitatives');
disp('Les eventuelles variables qualitatives seront
placees a droite du tableau')
elsedisp('Il n''existe pas de variables explicatives qualitatives');
end;
disp('****************************************************************************************************')
disp('PARTIE I : Calcul des composantes');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('TT : composantes PLS')
disp(TT)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('PP : coefficients de regression de E0 sur TT')
disp(PP)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('CC : coefficients de regression de F0 sur TT')
disp(CC)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('WW : vecteurs propres');
disp(WW)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('WWS : W tilde')
disp(WWS)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('UU : composantes associees au tableau Y')
disp(UU)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('BETA : coefficients de regression de Y sur X pour
les donnees centrees reduites')
disp(BETA)
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('LEV : matrice des leviers')
disp(LEV)
disp('****************************************************************************************************')
disp('PARTIE II : Resultats pour le nombre de composantes
choisi a priori')
disp('****************************************************************************************************')
disp('II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE
SUR LES VARIABLES EXPLICATIVES');
disp('****************************************************************************************************')
disp('Resultats de l''algorithme (Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')if qualitatif==0
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal 2(Y,X,1);
174
disp('Nombre d''iterations');
disp(iter1);
disp('Deviance');
disp(dev1);
beta1=−beta1;disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[tableau predic1]=prediction simple(X,Y,beta1,theta1,modalite);
disp('Qualite de la prevision du modele en utilisant la
regression logistique usuelle : ');
disp('tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic1);
disp('****************************************************************************************************')
disp('II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR
LES COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme (Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=logistic ordinal(Y,TT,1);
beta2=−beta2;disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
save('beta2.txt','beta2','−ascii');disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[predic2,tableau predic2]=
prediction(E0,WWS,Y,beta2,theta2,modalite,composantes);
disp('Qualite de la prevision du modele en utilisant la
regression logistique de la variable reponse ')
disp('sur les composantes PLS : tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')
175
m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
else[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal(Y,E0,1);
disp('Nombre d''iterations');
disp(iter1);
disp('deviance');
disp(dev1);
disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[tableau predic1]=prediction simple(E0,Y,beta1,theta1,modalite);
disp('Qualite de la prevision du modele en utilisant la
regression logistique usuelle : ');
disp('tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniı¿½re ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic1);
disp('****************************************************************************************************')
disp('II.I : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES
COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme (Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=logistic ordinal(Y,TT,1);
disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[predic2,tableau predic2]=
prediction(E0,WWS,Y,beta2,theta2,modalite,composantes);
disp('Qualite de la prevision du modele en utilisant la regression
logistique de la variable reponse ')
disp('sur les composantes PLS : tableau de classification');
176
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
end;
if jeu==1
disp('****************************************************************************************************')
disp('Reconstitution et prediction sur un jeu−test en fonction
du nombre de composantes')
disp('****************************************************************************************************')
switch get(handles.popupmenu choix jeu,'Value');
case 1
%Importation des donnees:%
fichier test=get(handles.edit7,'String');
disp('Nom du fichier−test')disp(fichier test)
if (all(fichier test(end−2:end)=='xls'))Don test=xlsread(fichier test(1:end−4));
elseif (all(fichier test(end−2:end)=='txt'))
Don test=load(fichier test);
elsewarndlg('Seuls les formats .xls ou .txt sont
acceptes','ATTENTION!!');
endendytest=Don test(:,end);xtest=Don test(:,1:(end−1));ntest=size(Don test,1);
ptest=size(xtest,2);
qtest=size(ytest,2);
uini=zeros(ntest,1);
moyXtest=mean(xtest);
moyYtest=mean(ytest);
stdXtest=std(xtest);
stdYtest=std(ytest);
[Xctest]=centrage(vmiss,xtest,moyXtest);
[E0test]=reduction(Xctest,stdXtest,vmiss);
[TTtest,PPtest,UUtest,WWtest,CCtest,WWStest,
BETAtest,ychaptest,LEVtest]=
logistique sans DM(composantes,E0test,ytest);
disp('****************************************************************************************************')
disp('II.1 : REGRESSION LOGISTIQUE USUELLE DE LA
177
VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES');
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')if qualitatif==0
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=
logistic ordinal(ytest,E0test,1);
disp('Nombre d''iterations');
disp(iter1);
disp('Deviance');
disp(dev1);
beta1=−beta1;disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[tableau predic1]=
prediction simple(E0test,ytest,beta1,theta1,modalite);
disp('Qualite de la prevision du modele en utilisant
la regression logistique usuelle : ');
disp('tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere
colonne representent respectivement les totaux de
chaque ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic1);
disp('****************************************************************************************************')
disp('II.2 : REGRESSION LOGISTIQUE DE LA VARIABLE
REPONSE SUR LES COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=
logistic ordinal(ytest,TTtest,1);
beta2=−beta2;disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
178
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[predic2,tableau predic2]=
prediction(E0test,WWStest,ytest,beta2,theta2,
modalite,composantes);
disp('Qualite de la prevision du modele en utilisant la
regression logistique de la variable reponse ')
disp('sur les composantes PLS : tableau de classification');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne
et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
else[beta1,theta1,nz1,nx1,xstd1,iter1,dev1]=
logistic ordinal(ytest,E0test,1);
disp('Nombre d''iterations');
disp(iter1);
disp('Deviance');
disp(dev1);
disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[tableau predic1]=
prediction simple(E0test,ytest,beta1,theta1,modalite);
disp('Qualite de la prevision du modele en
utilisant la regression logistique usuelle');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne
et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic1);
disp('****************************************************************************************************')
disp('II.2 : REGRESSION LOGISTIQUE DE LA VARIABLE
REPONSE SUR LES COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[beta2,theta2,nz2,nx2,xstd2,iter2,dev2]=
logistic ordinal(ytest,TTtest,1);
179
disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[predic2,tableau predic2]=
prediction(E0test,WWStest,ytest,beta2,theta2,
modalite,composantes);
disp('Qualite de la prevision du modele en
utilisant la regression logistique de la variable
reponse sur les composantes PLS');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne
et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
end;
case 2
[nal,seldef,nlearn,ntest,xtest,ytest]=tirage aleatoire(X,Y,tal);
ntest=size(xtest,1);
ptest=size(xtest,2);
qtest=size(ytest,2);
moyXtest=mean(xtest);
stdXtest=std(xtest);
[Xctest]=centrage(vmiss,xtest,moyXtest);
[E0test]=reduction(Xctest,stdXtest,vmiss);
[TTtest,PPtest,UUtest,WWtest,CCtest,WWStest,
BETAtest,ychaptest,LEVtest]=
logistique sans DM(composantes,E0test,ytest);
disp('****************************************************************************************************')
disp('II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE
REPONSE SUR LES VARIABLES EXPLICATIVES');
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−');
if qualitatif==0
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=
logistic ordinal(ytest,E0test,1);
disp('Nombre d''iterations');
180
disp(iter1),
disp('Deviance');
disp(dev1);
beta1=−beta1;disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[tableau predic1]=
prediction simple(E0test,ytest,beta1,theta1,modalite);
disp('Qualite de la prevision du modele en utilisant
la regression logistique usuelle');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne
et chaque colonne');
m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic1);
disp('****************************************************************************************************')
disp('II.II : REGRESSION LOGISTIQUE DE LA VARIABLE
REPONSE SUR LES COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=
logistic ordinal(ytest,TTtest,1);
disp('Nombre d''iterations');
disp(iter2),
disp('Deviance');
disp(dev2);
beta2=−beta2;disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[predic2,tableau predic2]=
prediction(E0test,WWStest,ytest,beta2,theta2,
modalite,composantes);
disp('Qualite de la prevision du modele en utilisant
la regression logistique de la variable reponse sur les
composantes PLS');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne
181
et chaque colonne');
m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
else[beta1,theta1,nz1,nx1,xstd1,iter1,dev1]=
logistic ordinal(ytest,E0test,1);
disp('Nombre d''iterations');
disp(iter1);
disp('Deviance');
disp(dev1);
disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[tableau predic1]=
prediction simple(E0test,ytest,beta1,theta1,modalite);
disp('Qualite de la prevision du modele en utilisant
la regression logistique usuelle');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere colonne
representent respectivement les totaux de chaque ligne
et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic1);
disp('****************************************************************************************************')
disp('II.2 : REGRESSION LOGISTIQUE DE LA VARIABLE
REPONSE SUR LES COMPOSANTES PLS')
disp('****************************************************************************************************')
disp('Resultats de l''algorithme
(Levenberg modified Newton''s method) ');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[beta2,theta2,nz2,nx2,xstd2,iter2,dev2]=
logistic ordinal(ytest,TTtest,1);
disp('Nombre d''iterations');
disp(iter2);
disp('Deviance');
disp(dev2);
disp('Constante(s) SE')
disp([theta2 se2(1:nz2,1)]);
disp('Coefficients de regression logistique estimes')
disp(beta2);
disp('SE');
disp(se2((nz2+1):(nz2+nx2),1)./(xstd2'));
182
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')[predic2,tableau predic2]=
prediction(E0test,WWStest,ytest,beta2,theta2,
modalite,composantes);
disp('Qualite de la prevision du modele en
utilisant la regression logistique de la variable
reponse sur les composantes PLS');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('Remarque : la derniere ligne et la derniere
colonne representent respectivement les totaux de chaque
ligne et chaque colonne');
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')m=[1:modalite];
disp(m)
disp('−−−−−−−−−−−−−−−−−−−−−−−−')disp(tableau predic2);
disp('****************************************************************************************************')
end;end;
end;
if khi2==1
disp('Choix du nombre de composantes significatives par le
test du Q2 au sens du khi2')
disp('****************************************************************************************************')
if modalite==2
[H,nb,Q2cum]=
validation croisee PLS1 log khi2(E0,Y,TT,WWS,composantes,modalite);
else
[H,nb,Q2cum]=
validation croisee PLS1 log mod2 khi2(E0,Y,TT,WWS,composantes,modalite);
end;
disp('La premiere colonne donne la valeur du Q2 au sens
du khi2 pour chaque composante');
disp('La deuxieme colonne indique si la composante est
significative')
disp(H)
disp('Nombre de composantes PLS significatives')
disp(nb)
disp('****************************************************************************************************')
end;
if forward==1
set(handles.text signif,'Visible','on');
set(handles.text37,'Visible','on');
183
set(handles.edit tauxsign,'Visible','on');
disp('Choix du nombre de composantes PLS significatives
par la technique de regression PLS pas a pas ascendante')
disp('**********************************************************************************************************')
[TT]=forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil1);
end;
%enregistrement des resultats
if (choix sauvegarde==1)
nom=strcat(sauvegarde, '.mat');
save(nom, 'TT', 'beta1', 'theta1','beta2','theta2');
end
t=toc ;
disp('Temps ecoule en secondes : ');
disp(t);
%fin de l'horloge
disp('****************************************************************************************************')
disp('****************************************************************************************************')
%%%%%%%%CAS REGRESSION PLS logistique avec selection de variables : methode BQ%%%%%%%%%%
case 11
clc;
disp('****************************************************************************************************')
disp('****************************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : regression logistique PLS avec
selection de variables : methode BQ')
disp('Nom du fichier traite')
disp(fichier)
%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));
%identification des donnees manquantes:
if (donmanquante==1)
%on remplace les blancs correspondant aux donnees
%manquantes par vmiss.
X(isnan(X))=vmiss;
Y(isnan(Y))=vmiss;
end
%recodage des variables explicatives qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
184
else
mod1=max(Xqual);
endm=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
endtab3=[tab3 tab2];
endX(:,vecteur)=[];
X=[X Xqual];
%nettoyage
clear Xqual tab3 tab2
end
%centrage−reduction des tableaux%
n=size(Don,1);
p=size(X,2);
q=size(Y,2);
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
if (donmanquante==1) %donnees avec valeurs manquantes
b=find(isnan(Don)==1);
Don(b,:)=[];
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
X(isnan(X)==1)=vmiss;
moyX=moyenne(X,vmiss);
moyY=moyenne(Y,vmiss);
[stdX,ssx]=ecart type(X,moyX,vmiss);
[stdY,ssY]=ecart type(Y,moyY,vmiss) ;
elsemoyX=mean(X);
moyY=mean(Y);
stdX=std(X);
stdY=std(Y);
end
185
[Xc]=centrage(vmiss,X,moyX);
[E0]=reduction(Xc,stdX,vmiss);
%initialisation%
snip=10ˆ(−10);A=composantes;
uini=zeros(n,1);
%if (composantes>p)
% error('Le nombre limite de composantes PLS fixe
%depasse le nombre de variables');
%end
%lancement des algorithmes:
disp('Il n''existe pas de donnees manquantes');
disp('****************************************************************************************************')
disp('Veuillez patienter')
disp('****************************************************************************************************')
[Xnew,TAB]=
logistique sans DM selec12(X,E0,Y,A,snip,uini,composantes,modalite);
t=toc ;
disp('Temps ecoule en secondes : ');
disp(t);
disp('****************************************************************************************************')
disp('****************************************************************************************************')
%Appel de l'interface tableau des variables pour construire le
%tableau des variables conservees concatenees a la variable reponse
tableau des variables
%%%%%%%%CAS REGRESSION PLS logistique avec selection de variables :
%methode forward%%%%%%%%%%
case 12
clc;
tic
disp('****************************************************************************************************')
disp('****************************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : regression logistique PLS avec
selection de variables : methode forward')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
186
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
disp('Niveau de confiance (en pourcentage)');
disp(confreg*100);
seuil=1−confreg;%recodage des variables explicatives qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else
mod1=max(Xqual);
endm=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
end
tab3=[tab3 tab2];
endX(:,vecteur)=[];
X=[X tab3];
%nettoyage
%clear Xqual tab3 tab2
end
%centrage−reduction des tableaux:%
if (donmanquante==1) %donnees avec valeurs manquantes
b=find(isnan(Don)==1);
Don(b,:)=[];
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
X(isnan(X)==1)=vmiss;
moyenne X=moyenne(X,vmiss);
moyenne Y=moyenne(Y,vmiss);
187
[stdX,ssx]=ecart type(X,moyenne X,vmiss);
[stdY,ssY]=ecart type(Y,moyenne Y,vmiss) ;
elsemoyenne X=mean(X);
stdX=std(X);
end
[Xc]=centrage(vmiss,X,moyenne X);
[E0]=reduction(Xc,stdX,vmiss);
%initialisation%
vmiss=999999;
%lancement de l'algorithme
[TT]=forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil);
t=toc;
disp('Temps ecoule en secondes : ');
disp(t);
disp('****************************************************************************************************')
disp('****************************************************************************************************')
%%%%%%%%CAS REGRESSION PLS logistique penalisee avec selection
%de variables : methode forward%%%%%%%%%%
case 13
clc;
tic
disp('****************************************************************************************************')
disp('****************************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : regression logistique
penalisee PLS avec selection de variables : methode forward')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
firth=1;
epsilon=10ˆ(−4);maxstep=10;
maxhs=5;
disp('Nombre de variables explicatives')
disp(p)
disp('Nombre de variables reponses')
188
disp(q)
disp('Nombre d''observations')
disp(n)
disp('Niveau de confiance (en pourcentage)');
disp(confreg*100);
seuil=1−confreg;%recodage des variables explicatives qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else
mod1=max(Xqual);
endm=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
end
tab3=[tab3 tab2];
endX(:,vecteur)=[];
X=[X tab3];
%nettoyage
%clear Xqual tab3 tab2
end
%centrage−reduction des tableaux:%
if (donmanquante==1) %donnees avec valeurs manquantes
b=find(isnan(Don)==1);
Don(b,:)=[];
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
X(isnan(X)==1)=vmiss;
moyenne X=moyenne(X,vmiss);
moyenne Y=moyenne(Y,vmiss);
[stdX,ssx]=ecart type(X,moyenne X,vmiss);
[stdY,ssY]=ecart type(Y,moyenne Y,vmiss) ;
else
189
moyenne X=mean(X);
stdX=std(X);
end
[Xc]=centrage(vmiss,X,moyenne X);
[E0]=reduction(Xc,stdX,vmiss);
%initialisation%
vmiss=999999;
%lancement de l'algorithme
[TT]=
forward logistique penalized(composantes,E0,Y,vmiss,X,
donmanquante,seuil,firth,epsilon,maxstep,maxhs,seuil);
t=toc;
disp('Temps ecoule en secondes : ');
disp(t);
disp('****************************************************************************************************')
disp('****************************************************************************************************')
%%%%%%%%CAS REGRESSION Kernel logistique penalisee PLS avec selection
%de variables : methode forward%%%%%%%%%%
case 14
clc;
tic
disp('****************************************************************************************************')
disp('****************************************************************************************************')
disp('Nom du programme : MIAJ PLS PLUS V2009 1')
disp('Methode mise en oeuvre : regression kernel logistique
penalisee PLS avec selection de variables : methode forward')
disp('Nom du fichier traite')
disp(fichier)
if transposition==1
disp('On a transpose le tableau de donnees')
elsedisp('On n''a pas transpose le tableau de donnees')
end;%definition des variables reponses et explicatives:
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
firth=1;
epsilon=10ˆ(−4);maxstep=10;
maxhs=5;
ker='rbf';
para=1;
disp('Nombre de variables explicatives')
disp(p)
190
disp('Nombre de variables reponses')
disp(q)
disp('Nombre d''observations')
disp(n)
disp('Niveau de confiance (en pourcentage)');
disp(confreg*100);
seuil=1−confreg;%recodage des variables explicatives qualitatives
if qualitatif==1
Xqual=X(:,vecteur);
tab3=[];
if sum(find(Xqual==0))6=0
[n,m]=find(Xqual==0);
Xqual(:,m)=Xqual(:,m)+1;
mod1=max(Xqual);
else
mod1=max(Xqual);
endm=mod1−min(Xqual);for j=1:length(m)
tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)];Xqual1=Xqual(:,j);
maxi=max(Xqual1);
diff=maxi−min(Xqual1);tab2=zeros(size(Xqual1,1),diff);
for k=1:length(Xqual1)
tab2(k,:)=tab(Xqual1(k),:);
end
tab3=[tab3 tab2];
endX(:,vecteur)=[];
X=[X tab3];
%nettoyage
%clear Xqual tab3 tab2
end
%centrage−reduction des tableaux:%
if (donmanquante==1) %donnees avec valeurs manquantes
b=find(isnan(Don)==1);
Don(b,:)=[];
Y=Don(:,end);X=Don(:,1:(end−1));n=size(Don,1);
p=size(X,2);
q=size(Y,2);
X(isnan(X)==1)=vmiss;
moyenne X=moyenne(X,vmiss);
moyenne Y=moyenne(Y,vmiss);
[stdX,ssx]=ecart type(X,moyenne X,vmiss);
[stdY,ssY]=ecart type(Y,moyenne Y,vmiss) ;
191
elsemoyenne X=mean(X);
stdX=std(X);
end
[Xc]=centrage(vmiss,X,moyenne X);
[E0]=reduction(Xc,stdX,vmiss);
%initialisation%
vmiss=999999;
%lancement de l'algorithme
[TT]=
forward kernel logistique penalized(composantes,E0,Y,vmiss,X,
seuil,firth,epsilon,maxstep,maxhs,alpha,ker,para);
t=toc;
disp('Temps ecoule en secondes : ');
disp(t);
disp('****************************************************************************************************')
disp('****************************************************************************************************')
end;
%%
%Pour quitter l'interface MIAJ PLS PLUS V2009 1
function pushbutton quit Callback(hObject, eventdata, handles)
close(MIAJ PLS PLUS V2009 1)
%%
192
Annexe B
Programme de regression logistique
penalisee d’apres le package logistf
de R
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%programme penalized logistic regression
% Il permet d'effectuer une regression logistique penalisee (d'apres le
% package R logisf)
%parametres d'entree
%X : variables explicatives
%Y : variables reponses
%firth=1;
%epsilon=10ˆ(−4);%maxstep=10;
%maxhs=5;
%alpha=0.10;
% parametres de sortie
%beta : coefficients de regression
%prob : pvalue (test de Wald)
%ci lower, ci upper : intervalle de confiance
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%
function [beta,prob,ci lower,ci upper]
=penalizedlogisticregression(X,Y,firth,epsilon,maxstep,maxhs,alpha)
n=size(Y,1); %nombre d'observations
k=size(X,2); %nombre de variables explicatives
inter=log((sum(Y)/n)/(1−sum(Y)/n));beta=[inter zeros(1,k−1)];iter=0;
beta=beta';
pi=(1+exp((−X*beta))).ˆ(−1); %proba
indice1=find(Y==1);
%initialisation
193
exp1=zeros(indice1,1);
for l=1:length(indice1)
exp1(l)= pi(indice1(l));
endindice2=find(Y==0);
%initialisation
exp2=zeros(indice2,1);
for l=1:length(indice2)
exp2(l)= pi(indice2(l));
end%calcul logvraisemblance
loglik=sum(log(exp1))+sum(log(1−exp2));
if firth==1
XW2=X'*diag(pi.*(1−pi))ˆ0.5;fisher=XW2*XW2';
%calcul logvraisemblance penalisee
loglik=loglik+ 0.5*abs(log(det(fisher)));
end
iter=0;
∆=1;
while (iter<25)
iter=iter+1;
XW2=X'*diag(pi.*(1−pi))ˆ0.5;fisher=XW2*XW2';
covs=pinv(fisher);
H=XW2'*covs*XW2;
if firth==1
Ustar=X'*(Y−pi+diag(H).*(0.5−pi));else
Ustar=X'*(Y−pi);end;∆=covs*Ustar;
mx=max(abs(∆))/maxstep;
if (mx>1)
∆=∆/mx;
end;beta=beta+∆;
loglikold=loglik;
for halfs=1:maxhs
pi=(1+exp((−X*beta))).ˆ(−1);indice1=find(Y==1);
for l=1:length(indice1)
exp1(l)= pi(indice1(l));
endindice2=find(Y==0);
for l=1:length(indice2)
exp2(l)= pi(indice2(l));
endloglik=sum(log(exp1))+sum(log(1−exp2));if firth==1
194
XW2=X'*diag(pi.*(1−pi))ˆ0.5;fisher=XW2*XW2';
loglik=loglik+ 0.5*abs(log(det(fisher)));
endif loglik>loglikold
breakendbeta=beta−∆*2ˆ(−halfs);
end;if (sum(abs(∆))≤epsilon)
break;end;
endvars=diag(covs);
prob=1−chi2cdf((beta.ˆ2./vars),1);%IC
ci lower=beta+qnorm(alpha/2)*vars.ˆ0.5;
ci upper=beta+qnorm(1−alpha/2)*vars.ˆ0.5;
195
Annexe C
Programme de regression logistique
PLS sans donnees manquantes et
sans selection de variables
Dans cette version, la ligne de l’observation etant supprimee, on utilise le meme programmedans le cas ou il y a des donnees manquantes.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%logistique sans DM : Cet algorithme effectue une regression logistique PLS
%dans le cas ou il n'y a pas
% de donnees manquantes
% N : Nombre d'individus
% M : Nombre de variables independantes Xj
% X : matrice des donnees (N*M) pour les variables independantes
% Y : matrice des donnees (N*P) pour les variables dependantes. Ici, on est
% en PLS1 donc Y n'a qu'une seule colonne notee y
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[TT,PP,UU,WW,CC,WWS,BETA,ychap,matrice chapeau]=logistique sans DM(composantes,E0,Y)
%%parametres d'entree%%
% E0 : matrice des variables Xj centrees−reduites%composantes : nombre de composantes
% Y : variable reponse
%%parametres de sortie%%
% TT : composantes PLS
% PP : coefficient de regression de E0 sur tl
% CC : coefficient de regression de F0 sur tl
% WW : vecteurs propres
% WWS : calcul des w tilde
% UU : composante PLS
% BETA : vecteur des coefficients de regression de la regression multiple
% de y sur X (=inverse(X'X)X'y)
% ychap : prediction des y avec j composantes PLS
196
% matrice chapeau : matrice levier inverse(TT TT'% TT)*TT'
%Debut du programme
%Initialisation: etape 1
M=size(E0,2); %nombre de colonnes de E0
E=E0;
F=Y;
xhat=zeros(1,M);
xhat1=zeros(1,M);
ident=eye(M); %matrice identite
X1=E;
n=zeros(1,size(E0,1));
yc=zeros(size(E0,1),1); %initialisation pour les y chapeau
%%%%calcul de la premiere composante%%%%
for itnip=1:100
u=F;
for j=1:M
%regressions logistiques
[beta,theta,nz,nx,xstd,iter,dev,se]=
logistic ordinal(Y,E0(:,j),1);
xhat(j)=−beta;end;w=xhat';
w=w/sqrt(w'*w); %etape 2.2 : normalisation de w
t=E*w; %etape 2.3 : calcul de la composante PLS
c=F'*t/(t'*t); %etape 2.6 : coefficient de la regression
%de y sur t
u=F*c/(c'*c); %etape 2.7
end%fin de la boucle WHILE
p=E'*t/(t'*t); % etape 2.4
TT=t; %composante logistique PLS
UU=u;
PP=p; %vecteur propre
WW=w;
CC=c; %coefficient de la composante PLS
WWS=w;
BETA=WWS*(CC)'; %composante de regression (page 121 livre)
ychap=E0*BETA; %reconstitution des y
[L1]=projection(TT);%projection composante PLS
L1=diag(L1);%diagonalisation
matrice chapeau=L1; %matrice des leviers
E=E−t*p'; %matrice des residus de la decomposition de E0
%en utilisant h composantes
X1=[TT E];
%%%%%calcul des autres composantes%%%%%
for h=2:composantes
%debut de la boucle WHILE
197
for itnip=1:100
u=F;
for j=1:M
[beta1]=−logistic ordinal(Y,[X1(:,1) X1(:,j+1)],1);
xhat1(j)=beta1(2);
end;w=xhat1';
w=w/sqrt(w'*w); %etape 2.2 : normalisation de w
t=E*w/(w'*w);%etape 2.3 : calcul de la composante PLS
c=F'*t/(t'*t); %etape 2.6 : coefficient de la
%regression de y sur t
u=F*c/(c'*c); %etape 2.7
end%fin de la boucle WHILE
p=E'*t/(t'*t); % etape 2.4
matrice decompo=eye(M); %initialisation
%debut de la boucle FOR 2
for k=1:(h−1)matrice decompo=
matrice decompo*(ident−WW(:,k)*PP(:,k)');%formule de decomposition
end%fin de la boucle FOR 2
%calcul de w tilde voir par 17 article
w tilde=matrice decompo*w;
WWS=[WWS w tilde];
TT=[TT t]; %composantes PLS
UU=[UU u];
PP=[PP p]; %vecteurs propres
WW=[WW w];
CC=[CC c];%coefficients des composantes PLS
BETA=[BETA WWS*(CC)']; %composantes de regression
%reconstitution des y avec l'equation de regression
for k=1:h
yc(:,1)=yc(:,1)+TT(:,k)*CC(:,k);
endychap=[ychap yc]; %calcul predictions
[L]=projection(TT); %projection des composantes PLS
L=diag(L); %diagonalisation
%matrice levier(inverse(X'X))*X'y
matrice chapeau=[matrice chapeau L];
%%%%%%%%%%%Calcul de la matrice des residus%%%%%%%%%%%%%%%%
%matrice des residus de la decomposition de E0 en utilisant h composantes
E=E−t*p';X1=[TT E];
end
%Fin de la boucle FOR 1
%fin du programme
198
Annexe D
Programme de regression logistique
sur composantes PLS avec ou sans
donnees manquantes sans selection
de variables
Idem que le programme de PLS2 avec ou sans donnees manquantes(voir premier rapport).
Puis, on effectue une regression logistique sur les composantes PLS
obtenues (voir la programmation de l'interface).
199
Annexe E
Programme de regression logistique
PLS sans donnees manquantes avec
selection de variables de type BQ
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% logistique sans DM selec :
%Ce programme est utilisee dans le cas de la regression logistique PLS
%avec selection de variables
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[Xnew,TAB]=logistique sans DM selec(X,E0,Y,A,snip,uini,composantes,modalite)
%%%%Parametres d'entree%%%%
% X : matrice des donnees (N*M) pour les variables independantes
% E0 : matrice des variables Xj centrees−reduites% F0 : matrice des variables Yk centrees−reduites% A : nombre de variables explicatives
% snip : utilise pour la boucle while
% uini : valeur de u au debut de la boucle
% composantes : nombre maximal de composantes
% modalite : nombre de modalites de la variable reponse
%%%%Parametres de sortie%%%%
% Xnew : X obtenu apres selection
% TAB : tableau donnant le numeros des variables, Q2cumules et le nombre de
%composantes
%Debut du programme
%initialisation:
tab1=[];
tab2=[];
tab3=[];
Xnew=[];
%d?but de la boucle WHILE
while (size(E0,2)>1) %on effectue des modeles de regression tant qu'on a
%plus d'une variable explicative
200
%%%%%%%Premiere etape : on effectue les modeles de regression pour p
%%%%%%%variables explicatives et on recupere les Q2cum au sens du khi2
%%%%%%%correspondants%%%%%%%%%%%
%Creation du modele PLS1 a p variables:
[TT,PP,UU,WW,CC,WWS,BETA]=logistique sans DM(composantes,E0,Y);
%Test de validation croisee au sens du khi2:
if modalite==2
[H,nb,Q2cum]=
validation croisee PLS1 log khi2(E0,Y,TT,WWS,composantes,modalite);
else
[H,nb,Q2cum]=
validation croisee PLS1 log mod2 khi2(E0,Y,TT,WWS,composantes,modalite);
end;
%%%%%%%Deuxieme etape : calcul du nombre de composantes h a utiliser%%%%%
if nb>composantes %debut IF 2
Amax=composantes;
else %alternative
Amax=nb;
end %fin IF 2
if nb==0 %debut IF 1
Amax=1;
end %fin IF 1
%%%%%%%Troisieme etape : on recupere les BETA chapeau correspondant aux
%%%%%%%nombre de composantes h optimales%%%%%
betachap=BETA(:,Amax);
%On recupere le min des betachap en retenant bien le numero de la variable
%a enlever au sein du nouveau E0
[i,Var]=min(abs(betachap));
%Tableau des numeros des variables
tab1=[tab1;Var];
%Tableau des Q2cumules
tab2=[tab2;Q2cum(Amax)];
%Tableau du nombre de composantes
tab3=[tab3;Amax];
% On enleve la variable E0 correspondant au minimum des beta
E0=[E0(:,1:(Var−1)) E0(:,(Var+1):(size(E0,2)))];
Xnew=[Xnew X(:,Var)];
end%Fin de la boucle WHILE
%on modifie le tableau de selection de variables pour obtenir les numeros
201
%des variables R correspondants au tableau initial
[newtab]=tabmod(tab1);
Ord=sort(newtab);%on ordonne de facon ascendante
for i=1:size(Ord,1) %debut boucle FOR 1
if Ord(1)6=1 %debut IF 3
R=1;
else %alternative
if Ord(i)6=i %debut IF 4
R=i;
end %fin IF 4
end %fin IF 3
end %fin FOR 1
disp('*********************************************************')
disp('Numeros des variables enlevees')
disp(tab1)
newtab=[0;newtab;R];
tab2=[tab2;0;0];
tab3=[tab3;0;0];
TAB=[newtab tab2 tab3];
Xnew=[Xnew X(:,R)];
disp('*********************************************************')
disp('Numeros des variables conservees correspondants au tableau initial')
disp(TAB(:,1))
save('logistiquePLSBQ num.txt','TAB(:,1)','−ascii','−double','−tabs');%sauvegarde des Q2cum dans le fichier Q2cum.mat
TAB1=TAB(:,2);
savefile = 'Q2cumlog.mat';
save(savefile,'TAB1','−ascii','−double','−tabs');
%%%%%Representation graphique%%%%%
figure
h=plot(TAB(:,2),'−−rs');ylabel('Qˆ2 {cum}','FontSize',12)xlabel('Nombre de variables enlevees','FontSize',12)
title('Representation graphique du nombre du Qˆ2 {cum} en fonction du nombre du
variables enlevees','FontSize',10)
saveas(h,'logPLScourbe.jpg')
hold off
grid on
%Fin du programme
202
Annexe F
Programme de regression logistique
PLS avec selection de type forward
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%forward logistique : Cet algorithme effectue une regression logistique PLS
%pas a pas ascendante
% Il s'appuie sur l'article de Bastien P.
%%parametres d'entree
% composantes: Nombre de composantes
% vmiss : donnees manquantes
% E0 : matrice des variables explicatives centrees reduites
% F0 : variable reponse centree reduite
% donmanquante : cas ou il existe des donnees manquantes
%seuil : seuil de significativite
%%parametres de sortie%%
%TT : composantes PLS significatives par le test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[TT]=forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil)
num=[1:size(X,2)+size(Y,2)];
%selection des variables explicatives signicatives par une regression
%logistique
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal 2(Y,E0,1);
beta1=−beta1;se int=se1((nz1+1):(nz1+nx1),1)./(xstd1');
%test de Wald
wald=(beta1./se int).ˆ2;
PVAL=1−chi2cdf(wald,1);X1=X(:,find(PVAL<seuil));
Coef=beta1(find(PVAL<seuil));
indice=num(find(PVAL<seuil));
%calcul ecarts types et moyennes des variables explicatives
significatives
if (donmanquante==1) %donnees avec valeurs manquantes
moyX1=moyenne(X1,vmiss);
203
[stdX1,ssx1]=ecart type(X1,moyX1,vmiss);
elsemoyX1=mean(X1);
stdX1=std(X1);
end%centrage et reduction des variables explicatives significatives
[Xc1]=centrage(vmiss,X1,moyX1);
[E01]=reduction(Xc1,stdX1,vmiss);
%%%%%%%%%%%%%%%%%%%cas de la premiere composante%%%%%%%%%%%%%%%%%%%
%algorithme logistique PLS sur les variables explicatives
significatives
for itnip=1:100
w=Coef;
w=w/sqrt(w'*w); %etape 2.2 : normalisation de w
t=E01*w; %etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t);
%etape 2.6 : coefficient de la regression de y sur t
u=Y*c/(c'*c); %etape 2.7
end%fin de la boucle WHILE
p=E01'*t/(t'*t); % etape 2.4
TT=t; %composante PLS
N=size(E0,1);
M=size(E0,2);
E1=E0;
TT(:,1)=t; %calcul premiere composante PLS logistique
%%%%%%%%%%%%%%%%%%%cas des autres composantes%%%%%%%%%%%%%%%%%%%
for h=2:composantes
comb=[TT E0];
p value=zeros(size(E1,2),1);
for j=1:size(E1,2)
%regression logistiques pour selectionner
%les variables explicatives
%contribuant de maniere significative a la construction des composantes
%PLS
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=
logistic ordinal 2(Y,[TT E1(:,j)],2);
beta1=beta1(end,1);se int=se1((nz1+1):(nz1+nx1),1)./(xstd1');
se int=se int(end,1);%test de Wald
wald=(beta1/se int)ˆ2;
p value(j)=1−chi2cdf(wald,1);
end;%disp(p value)
if sum(find(p value<seuil))6=0
%on effectue cet algorithme tant qu'il y a
%des variables explicatives significatives
204
u=Y(:,1);
%algorithme logistique PLS
for itnip=1:100
for j=1:(size(E0,2))
[beta1]=
−logistic ordinal(Y,[comb(:,1) comb(:,j+1)],1);
xhat1(j)=beta1(2);
end;w=xhat1';
w=w/sqrt(w'*w);
%etape 2.2 : normalisation de w
t=E0*w/(w'*w);
%etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t);
%etape 2.6 : coefficient de regression de y sur t
u=Y*c/(c'*c);
%etape 2.7
endp=E0'*t/(t'*t); % etape 2.4
%calcul variables significatives
X2=X(:,find(p value<seuil));
p2=p(find(p value<seuil));
indice2=num(find(p value<seuil));
nbvarsign=sum(p value<seuil);
E02=E0(:,find(p value<seuil));
r=zeros(size(E02,1),nbvarsign);
r1=zeros(size(E02,1),nbvarsign);
coef=zeros(nbvarsign,1);
%calcul coefficients
for i=1:size(E02,2)
%calcul des residus
r(:,i)=E02(:,i)−p2(i)*TT(:,h−1);variance=var(r);
r1(:,i)=r(:,i)/variance(i);
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]
=logistic ordinal(Y,[TT r1(:,i)],1);
coef(i,1)=beta1(end,1);end
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ')
disp(indice2)
disp('Tableau des variables selectionnees')
disp(X2)
save('logistiquePLSforward.txt','X2','−ascii');save('logistiquePLSforward num.txt','indice2','−ascii');
elseh=h−1;if sum(find(p value<seuil))==0
%disp('aucune variable n''est selectionnee')
breakend;disp('Le nombre de variables significatives est : ');
205
%disp(h)
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s)
est (sont) : ')
%disp(indice2)
disp('Tableau des variables selectionnees')
%disp(X2)
breakend;
coef1=coef/norm(coef,2);
TT(:,h)=E02*coef1;
E0=E0−t*p';
enddisp('***************************************************************************************************')
%disp('Le nombre de variables significatives est : ');
%disp(h)
save('logistiquePLSforward.txt','X2','−ascii');save('logistiquePLSforward num.txt','indice2','−ascii');
206
Annexe G
Programme de regression logistique
penalisee PLS avec selection de type
forward
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%forward logistique penalized : Cet algorithme effectue une regression logistique PLS
%pas a pas ascendante
% Il s'appuie sur l'article de Bastien P.
%%parametres d'entree
% composantes: Nombre de composantes
% vmiss : donnees manquantes
% E0 : matrice des variables explicatives centrees reduites
% F0 : variable reponse centree reduite
% donmanquante : cas ou il existe des donnees manquantes
%seuil : seuil de significativite
%%parametres de sortie%%
%TT : composantes PLS significatives par le test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[TT]=forward logistique penalized(composantes,E0,Y,vmiss,X,donmanquante,
seuil,firth,epsilon,maxstep,maxhs,alpha)
num=[1:size(X,2)+size(Y,2)];
%selection des variables explicatives signicatives par une regression
%logistique
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression(E0,Y,firth,epsilon,maxstep,maxhs,alpha);
if sum(find(prob<seuil))==0
E01=E0;
Coef=beta;
elseX1=X(:,find(prob<seuil));
207
Coef=beta1(find(prob<seuil));
indice=num(find(prob<seuil));
%calcul ecarts types et moyennes des variables explicatives significatives
if (donmanquante==1) %donnees avec valeurs manquantes
moyX1=moyenne(X1,vmiss);
[stdX1,ssx1]=ecart type(X1,moyX1,vmiss);
elsemoyX1=mean(X1);
stdX1=std(X1);
end%centrage et reduction des variables explicatives significatives
[Xc1]=centrage(vmiss,X1,moyX1);
[E01]=reduction(Xc1,stdX1,vmiss);
end%%%%%%%%%%%%%%%%%%%cas de la premiere composante%%%%%%%%%%%%%%%%%%%
%algorithme logistique PLS sur les variables explicatives significatives
for itnip=1:100
w=Coef;
w=w/sqrt(w'*w);
%etape 2.2 : normalisation de w
t=E01*w;
%etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t);
%etape 2.6 : coefficient de la regression de y sur t
u=Y*c/(c'*c);
%etape 2.7
end%fin de la boucle WHILE
p=E01'*t/(t'*t); % etape 2.4
TT=t; %composante PLS
N=size(E0,1);
M=size(E0,2);
E1=E0;
TT(:,1)=t; %calcul premiere composante PLS logistique
%%%%%%%%%%%%%%%%%%%cas des autres composantes%%%%%%%%%%%%%%%%%%%
for h=2:composantes
comb=[TT E0];
p value=zeros(size(E1,2),1);
for j=1:size(E1,2)
%regression logistiques pour selectionner les variables explicatives
%contribuant de maniere significative a la construction des composantes
%PLS
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression([TT E1(:,j)],Y,firth,
epsilon,maxstep,maxhs,alpha);
beta1(j)=beta(end,1);p value(j)=prob(end,1);
end;disp(p value)
208
if sum(find(p value<seuil))6=0
%on effectue cet algorithme tant qu'il ya des variables explicatives significatives
u=Y(:,1);
%algorithme logistique PLS
for itnip=1:100
for j=1:(size(E0,2))
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression([TT [comb(:,1) comb(:,j+1)]],
Y,firth,epsilon,maxstep,maxhs,alpha);
xhat1(j)=beta(end,1);end;w=xhat1';
w=w/sqrt(w'*w);
%etape 2.2 : normalisation de w
t=E0*w/(w'*w);
%etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t);
%etape 2.6 : coefficient de regression de y sur t
u=Y*c/(c'*c);
%etape 2.7
endp=E0'*t/(t'*t); % etape 2.4
%calcul variables significatives
X2=X(:,find(p value<seuil));
p2=p(find(p value<seuil));
indice2=num(find(p value<seuil))
nbvarsign=sum(p value<seuil);
E02=E0(:,find(p value<seuil));
r=zeros(size(E02,1),nbvarsign);
r1=zeros(size(E02,1),nbvarsign);
coef=zeros(nbvarsign,1);
%calcul coefficients
for i=1:size(E02,2)
%calcul des residus
r(:,i)=E02(:,i)−p2(i)*TT(:,h−1);variance=var(r);
r1(:,i)=r(:,i)/variance(i);
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression([TT r1(:,i)],Y,firth,
epsilon,maxstep,maxhs,alpha);
coef(i,1)=beta(end,1);end
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ')
disp(indice2)
disp('Tableau des variables selectionnees')
disp(X2)
save('logistiquepenPLSforward.txt','X2','−ascii');save('logistiquepenPLSforward num.txt','indice2','−ascii');
else
209
h=h−1;if sum(find(p value<seuil))==0
%disp('aucune variable n''est selectionnee')
breakend;disp('Le nombre de variables significatives est : ');
disp(h)
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ')
disp(indice2)
disp('Tableau des variables selectionnees')
disp(X2)
breakend;
coef1=coef/norm(coef,2);
TT(:,h)=E02*coef1;
E0=E0−t*p';
enddisp('***************************************************************************************************')
disp('Le nombre de variables significatives est : ');
disp(h)
%save('varselecforward.txt','X2','−ascii');%save('numvarselecforward.txt','indice2','−ascii');
210
Annexe H
Programme de regression kernel
logistique penalisee PLS avec
selection de type forward
function K = kf(ker, para, X1, X2)
%%parametre de sortie%%
%K matrice de Gram
%%parametre d'entree%%
%ker : noyau
%para : parametrage noyau
%X1 : matrice ou vecteur
%X2 : matrice ou vecteur
[N1, d] = size(X1);
[N2, d] = size(X2);
switch ker
case 'linear'
K = X1*X2';
case 'poly'
K = (1+X1*X2').ˆpara;
case 'rbf'
dist2 = repmat(sum((X1.ˆ2)', 1), [N2 1])' + ...
repmat(sum((X2.ˆ2)',1), [N1 1]) − ...
2*X1*(X2');
K = exp(−dist2/(size(X1, 2)*para));
otherwiseerror('Unknown kernel function');
end
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%forward kernel logistique penalized : Cet algorithme effectue une
%regression kernel logistique PLS
%pas a pas ascendante
%%parametres d'entree
211
% composantes: Nombre de composantes
% vmiss : donnees manquantes
% E0 : matrice des variables explicatives centrees reduites
% F0 : variable reponse centree reduite
% donmanquante : cas ou il existe des donnees manquantes
%seuil : seuil de significativite
%ker='rbf';(noyau gaussien)
%para=1;
%%parametres de sortie%%
%TT : composantes PLS significatives par le test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[TT]=forward kernel logistique penalized(composantes,E0,
Y,vmiss,X,seuil,firth,epsilon,maxstep,maxhs,alpha,ker,para)
num=[1:size(X,2)+size(Y,2)];
%calcul de la matrice de gram
K0=kf(ker,para,E0,E0);
%selection des variables explicatives signicatives par une regression
%logistique
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression(K0,Y,firth,epsilon,maxstep,maxhs,alpha);
if sum(find(prob<seuil))==0
K01=K0;
Coef=beta;
elseX1=X(:,find(prob<seuil));
Coef=beta1(find(prob<seuil));
indice=num(find(prob<seuil));
%calcul ecarts types et moyennes des variables explicatives significatives
if (donmanquante==1) %donnees avec valeurs manquantes
moyX1=moyenne(X1,vmiss);
[stdX1,ssx1]=ecart type(X1,moyX1,vmiss);
elsemoyX1=mean(X1);
stdX1=std(X1);
end%centrage et reduction des variables explicatives significatives
[Xc1]=centrage(vmiss,X1,moyX1);
[E01]=reduction(Xc1,stdX1,vmiss);
end%calcul matrice de Gram
%centrage reduction matrice de Gram
mc=mean(K01);
K01=kcenter(K01,mc);
%%%%%%%%%%%%%%%%%%%cas de la premiere composante%%%%%%%%%%%%%%%%%%%
%algorithme logistique PLS sur les variables explicatives significatives
212
for itnip=1:100
w=Coef;
w=w/sqrt(w'*w); %etape 2.2 : normalisation de w
t=K01*w; %etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t); %etape 2.6 : coefficient de la regression de y sur t
u=Y*c/(c'*c); %etape 2.7
end%fin de la boucle WHILE
p=K01'*t/(t'*t); % etape 2.4
TT=t; %composante PLS
N=size(K0,1);
M=size(K0,2);
K1=K0;
TT(:,1)=t; %calcul premiere composante PLS logistique
%%%%%%%%%%%%%%%%%%%cas des autres composantes%%%%%%%%%%%%%%%%%%%
for h=2:composantes
comb=[TT K0];
p value=zeros(size(K1,2),1);
for j=1:size(K1,2)
%regression logistiques penalisees pour selectionner les variables explicatives
%contribuant de maniere significative a la construction des composantes
%PLS
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression([TT K1(:,j)],Y,
firth,epsilon,maxstep,maxhs,alpha);
beta1(j)=beta(end,1);p value(j)=prob(end,1);
end;disp(p value)
if sum(find(p value<seuil))6=0
%on effectue cet algorithme tant qu'il ya des variables explicatives significatives
u=Y(:,1);
%algorithme logistique PLS
for itnip=1:100
for j=1:(size(K0,2))
%regressions logistiques penalisees
[beta,prob,ci lower,ci upper]=
penalizedlogisticregression([TT [comb(:,1) comb(:,j+1)]],
Y,firth,epsilon,maxstep,maxhs,alpha);
xhat1(j)=beta(end,1);end;w=xhat1';
w=w/sqrt(w'*w);
%etape 2.2 : normalisation de w
t=K0*w/(w'*w);
%etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t);
%etape 2.6 : coefficient de regression de y sur t
u=Y*c/(c'*c);
213
%etape 2.7
endp=K0'*t/(t'*t);
% etape 2.4
%calcul variables significatives
X2=X(:,find(p value<seuil));
p2=p(find(p value<seuil));
indice2=num(find(p value<seuil))
nbvarsign=sum(p value<seuil);
K02=K0(:,find(p value<seuil));
r=zeros(size(K02,1),nbvarsign);
r1=zeros(size(K02,1),nbvarsign);
coef=zeros(nbvarsign,1);
%calcul coefficients
for i=1:size(K02,2)
%calcul des residus
r(:,i)=K02(:,i)−p2(i)*TT(:,h−1);variance=var(r);
r1(:,i)=r(:,i)/variance(i);
%regressions logistiques penalisees
[beta,prob,ci lower,ci upper]
=penalizedlogisticregression([TT r1(:,i)],
Y,firth,epsilon,maxstep,maxhs,alpha);
coef(i,1)=beta(end,1);end
disp('Le(s) numero(s) de(s) variable(s)
selectionnee(s) est (sont) : ')
disp(indice2)
disp('Tableau des variables selectionnees')
disp(X2)
save('kernellogispenPLSforward.txt','X2','−ascii');save('kernellogispenPLSforward num.txt','indice2','−ascii');
elseh=h−1;if sum(find(p value<seuil))==0
%disp('aucune variable n''est selectionnee')
breakend;disp('Le nombre de variables significatives est : ');
disp(h)
disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ')
disp(indice2)
disp('Tableau des variables selectionnees')
disp(X2)
breakend;
coef1=coef/norm(coef,2);
TT(:,h)=K02*coef1;
K0=K0−t*p';
214
enddisp('***************************************************************************************************')
disp('Le nombre de composantes significatives est : ');
disp(h)
%save('varselecforwardkernel.txt','Don2','−ascii');%save('numvarselecforwardkernel.txt','indice2','−ascii');
215
Annexe I
Programmes permettant de choisir
le nombre de composantes
significatives
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Validation croisee PLS1 log khi2=sous−programme qui permet de voir
%quelles sont les composantes PLS qui sont significatives dans le cas ou on a
%deux modalites.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[H,nb,Q2cum]=validation croisee PLS1 log khi2(E0,Y,TT,WWS,composantes,modalite)
%%parametres d'entree%%
% composantes: Nombre de composantes
% modalite : nombre de modalites de la variable reponse
% E0 : matrice des variables explicatives centrees reduites
% Y : variable reponse
% TT : composante PLS
% WWS : w tilde
%%parametres de sortie%%
% Q2cum : mesure de l'apport global des h premieres composantes PLS
% H : tableau recapitulatif
%Debut du programme
%initialisation:
N=size(Y,1);
H=zeros(composantes,2); %initialisation du tableau des resultats
%du PRESS
Q2=zeros(composantes,1); %initialisation Q2
test=zeros(composantes,1);
p=zeros(N,composantes);
essai=zeros(N,composantes−1);essai2=zeros(N,composantes);
Q2ch=1;
216
Q2cum=zeros(composantes,1);
for h=1:composantes
[beta,theta]=logistic ordinal(Y,TT(:,1:h),1);
beta=−beta;[predic,tableau predic]=
prediction khi2(E0,WWS(:,1:h),Y,beta,theta,modalite,h);
p(:,h)=predic(:,3);
end;
for h=1:(composantes−1)for i=1:N
essai(i,h)=((Y(i)−p(i,h))ˆ2)/(p(i,h)*(1−p(i,h)));end
endkhi sub=[N−1 sum(essai,1)];
for h=1:(composantes)
for i=1:N
essai2(i,h)=((Y(i)−p(i,h))ˆ2)/(p(i,h)*(1−p(i,h)));end
endkhi valid=sum(essai2,1);
for h=1:composantes
%calcul du Q2
Q2(h)=1−(khi valid(h)/khi sub(h)) ;%calcul du Q2
Q2ch=Q2ch*(1−Q2(h));Q2cum(h)=1−Q2ch;%condition pour que la composante PLS soit significative
if (sqrt(khi valid(h)) ≤ 0.95*sqrt(khi sub(h)))
test(h)=1;
elsetest(h)=0;
endnb=sum(test);
H(h,1)=Q2(h);
H(h,2)=test(h);
% Tableau recapitulatif
end
%fin de la boucle FOR 3
%Fin du programme
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% Validation croisee PLS1 log mod 2khi2=sous−programme qui permet de
%voir quelles sont les composantes PLS qui sont significatives dans le cas ou
217
%on a plus de deux modalites.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function [H,nb,Q2cum]=
validation croisee PLS1 log mod2 khi2(E0,Y,TT,WWS,composantes,modalite)
%%parametres d'entree%%
% composantes: Nombre de composantes
% modalite : nombre de modalites de la variable reponse
% E0 : matrice des variables explicatives centrees reduites
% Y : variable reponse
% TT : composante PLS
% WWS : w tilde
%%parametres de sortie%%
% Q2cum : mesure de l'apport global des h premieres composantes PLS
% H : tableau recapitulatif
%Debut du programme
%initialisation:
N=size(Y,1);
H=zeros(composantes,2); %initialisation du tableau des resultats
%du PRESS
Q2=zeros(composantes,1); %initialisation Q2
test=zeros(composantes,1);
result=zeros(composantes,1);
result2=zeros(1,composantes−1);Q2ch=1;
Q2cum=zeros(composantes,1);
for h=1:composantes
[beta,theta]=logistic ordinal(Y,TT(:,1:h),1);
beta=−beta;[predic,tableau predic]=
prediction khi2(E0,WWS(:,1:h),Y,beta,theta,modalite,h);
p=predic;
[khi sub]=calculkhi2(predic,modalite);
result(h)=khi sub;
end;
for h=1:(composantes−1)[beta,theta]=logistic ordinal(Y,TT(:,1:h),1);
beta=−beta;[predic,tableau predic]=
prediction khi2(E0,WWS(:,1:h),Y,beta,theta,modalite,h);
p=predic;
[khi valid]=calculkhi2(predic,modalite);
result2(h)=khi valid;
endresult2=[N−1 result2]';
for h=1:composantes
218
%calcul du Q2
Q2(h)=1−(result(h)/result2(h)) ;%calcul du Q2
Q2ch=Q2ch*(1−Q2(h));Q2cum(h)=1−Q2ch;%condition pour que la composante PLS soit significative
if (sqrt(result(h)) ≤ 0.95*sqrt(result2(h)))
test(h)=1;
elsetest(h)=0;
endnb=sum(test);
H(h,1)=Q2(h);
H(h,2)=test(h);
% Tableau recapitulatif
end
%fin de la boucle FOR 3
%Fin du programme
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%forward logistique : Cet algorithme effectue une regression logistique PLS
%pas a pas ascendante
% Il s'appuie sur l'article de Bastien P.
%%parametres d'entree
% composantes: Nombre de composantes
% vmiss : donnees manquantes
% E0 : matrice des variables explicatives centrees reduites
% F0 : variable reponse centree reduite
% donmanquante : cas ou il existe des donnees manquantes
%seuil : seuil de significativite
%%parametres de sortie%%
%TT : composantes PLS significatives par le test
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[TT]=forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil)
%selection des variables explicatives signicatives par une regression
%logistique
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal(Y,E0,1);
disp('Nombre d''iterations');
disp(iter1);
disp('Deviance');
disp(dev1);
beta1=−beta1;disp('Constante(s) SE')
disp([theta1 se1(1:nz1,1)]);
disp('Coefficients de regression logistique estimes')
219
disp(beta1);
disp('SE');
disp(se1((nz1+1):(nz1+nx1),1)./(xstd1'));
se int=se1((nz1+1):(nz1+nx1),1)./(xstd1');
%test de Wald
wald=(beta1./se int).ˆ2;
PVAL=1−chi2cdf(wald,1);X1=X(:,find(PVAL<seuil));
Coef=beta1(find(PVAL<seuil));
%calcul ecarts types et moyennes des variables explicatives significatives
if (donmanquante==1) %donnees avec valeurs manquantes
moyX1=moyenne(X1,vmiss);
[stdX1,ssx1]=ecart type(X1,moyX1,vmiss);
elsemoyX1=mean(X1);
stdX1=std(X1);
end%centrage et reduction des variables explicatives significatives
[Xc1]=centrage(vmiss,X1,moyX1);
[E01]=reduction(Xc1,stdX1,vmiss);
%%%%%%%%%%%%%%%%%%%cas de la premiere composante%%%%%%%%%%%%%%%%%%%
%algorithme logistique PLS sur les variables explicatives significatives
for itnip=1:100
w=Coef;
w=w/sqrt(w'*w); %etape 2.2 : normalisation de w
t=E01*w; %etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t); %etape 2.6 : coefficient de la regression de y sur t
u=Y*c/(c'*c); %etape 2.7
end%fin de la boucle WHILE
p=E01'*t/(t'*t); % etape 2.4
TT=t; %composante PLS
N=size(E0,1);
M=size(E0,2);
E1=E0;
TT(:,1)=t; %calcul premiere composante PLS logistique
%%%%%%%%%%%%%%%%%%%cas des autres composantes%%%%%%%%%%%%%%%%%%%
for h=2:composantes
comb=[TT E0];
p value=zeros(size(E1,2),1);
for j=1:size(E1,2)
%regression logistiques pour selectionner les variables explicatives
%contribuant de maniere significative a la construction des composantes
%PLS
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=
logistic ordinal(Y,[TT E1(:,j)],1);
beta1=beta1(end,1);se int=se1((nz1+1):(nz1+nx1),1)./(xstd1');
se int=se int(end,1);%test de Wald
220
wald=(beta1/se int)ˆ2;
p value(j)=1−chi2cdf(wald,1);end;
if sum(find(p value<seuil))6=0 %on effectue cet algorithme tant
%qu'il y a des variables explicatives significatives
u=Y(:,1);
%algorithme logistique PLS
for itnip=1:100
for j=1:(size(E0,2))
[beta1]=−logistic ordinal(Y,[comb(:,1) comb(:,j+1)],1);
xhat1(j)=beta1(2);
end;w=xhat1';
w=w/sqrt(w'*w); %etape 2.2 : normalisation de w
t=E0*w/(w'*w); %etape 2.3 : calcul de la composante PLS
c=Y'*t/(t'*t); %etape 2.6 : coefficient de regression de y sur t
u=Y*c/(c'*c); %etape 2.7
endp=E0'*t/(t'*t); % etape 2.4
%calcul variables significatives
X2=X(:,find(p value<seuil));
p2=p(find(p value<seuil));
nbvarsign=sum(p value<seuil);
E02=E0(:,find(p value<seuil));
r=zeros(size(E02,1),nbvarsign);
r1=zeros(size(E02,1),nbvarsign);
coef=zeros(nbvarsign,1);
%calcul coefficients
for i=1:size(E02,2)
%calcul des residus
r(:,i)=E02(:,i)−p2(i)*TT(:,h−1);variance=var(r);
r1(:,i)=r(:,i)/variance(i);
[beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=
logistic ordinal(Y,[TT r1(:,i)],1);
coef(i,1)=beta1(end,1);endcoef1=coef/norm(coef,2);
TT(:,h)=E02*coef1;
E0=E0−t*p';
elsedisp('Le nombre de composantes significatives est : ')
disp(h−1)disp('TT')
disp(TT)
breakend;
enddisp('Le nombre de composantes significatives est : ')
disp(h)
221
disp('TT')
disp(TT)
222
Annexe J
Programmes afin d’etablir la qualite
de prevision du modele utilisant la
regression logistique usuelle de la
variable reponse sur les variables
explicatives
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%prediction : Cet algorithme permet d'evaluer la qualite de la prevision
%du modele en utilisant la regression logistique usuelle (partie 1)
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[predic,tableau predic]=
prediction(E0,WWS,Y,beta2,theta2,modalite,composantes)
%%parametres d'entree%%
% composantes: Nombre de composantes
% modalite : nombre de modalites de la variable reponse
% E0 : matrice des variables explicatives centrees reduites
% Y : variable reponse
% donmanquante : cas ou il existe des donnees manquantes
%WWS : w tilde
%beta2 : coefficients de regression logistique estimes lors de la
%regression logistique de la variable reponse sur les composantes PLS
%theta2 : constantes lors de la regression logistique de la variable reponse
%sur les composantes PLS
%%parametres de sortie%%
%predic : Tableau des predictions
%tableau predic : Qualite de la prevision du modele en utilisant la
%regression logistique de la variable reponse sur les composantes PLS :
%tableau de classification
%initialisation
m=size(E0,1);
223
m1=size(E0,2);
tableau predic=zeros(modalite+1,modalite+1);
tab=zeros(size(WWS,1),composantes);
tab1=zeros(m,m1);
l=zeros(m,2);
proba=zeros(m,modalite);
for i=1:composantes
tab(:,i)=beta2(i)*WWS(:,i);
end
coeff=sum(tab,2);
disp('Coefficients de regression logistique PLS en se ramenant aux
variables d''origine')
disp(coeff)
for i=1:m1
tab1(:,i)=coeff(i)*E0(:,i);
end
for j=1:length(theta2)
l(:,j)=theta2(j)+sum(tab1,2);
end;
proba(:,1)=exp(l(:,1))./(1+exp(l(:,1)));
for i=1:(modalite−2)
proba(:,i+1)=
exp(l(:,i+1))./(1+exp(l(:,i+1)))−exp(l(:,i))./(1+exp(l(:,i)));
end;
proba(:,modalite)=1−sum(proba,2);
[k,l]=max(proba');
y est=l';
if min(Y)==0
Y=Y+1;
end
predic=[Y proba y est];
disp('Tableau des predictions')
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('La premiere colonne donne la variable reponse.');
disp('La derniere colonne donne l''estimation de la variable reponse.');
disp('Les autres colonnes donnent les estimations des probabilites
pour chaque reponse')
disp(predic)
for i=1:modalite
224
for j=1:modalite
tableau predic(i,j)=sum(Y==i & y est==j);
end;end;somme=(sum(diag(tableau predic))/m)*100;
disp('Le pourcentage de bien classes est : ');
disp(somme);
s1=sum(tableau predic,1);
s2=sum(tableau predic,2);
tableau predic(:,end)=s2;tableau predic(end,:)=s1;tableau predic(modalite+1,modalite+1)=sum(tableau predic(:,end),1);
225
Annexe K
Programme afin d’etablir la qualite
de la prevision du modele en
utilisant la regression logistique de
la variable reponse sur les
composantes PLS
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%prediction simple : Cet algorithme permet d'evaluer la qualite de la
%prevision du modele en utilisant la regression logistique de la variable
%reponse (partie 2)
%%parametres d'entree%%
% composantes: Nombre de composantes
% modalite : nombre de modalites de la variable reponse
% E0 : matrice des variables explicatives centrees reduites
% Y : variable reponse
% donmanquante : cas ou il existe des donnees manquantes
%WWS : w tilde
%beta2 : coefficients de regression logistique estimes lors de la
%regression logistique de la variable reponse sur les variables
%explicatives
%theta2 : constantes lors de la regression logistique de la variable reponse
%sur les variables explicatives
%%parametres de sortie%%
%predic : Tableau des predictions
%tableau predic : Qualite de la prevision du modele en utilisant la
%regression logistique de la variable reponse sur les variables explicatives :
%tableau de classification
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
function[tableau predic]=prediction simple(E0,Y,beta2,theta2,modalite)
226
m=size(E0,1);
m1=size(E0,2);
tableau predic=zeros(modalite+1,modalite+1);
tab1=zeros(m,m1);
l=zeros(m,2);
proba=zeros(m,modalite);
for i=1:m1
tab1(:,i)=beta2(i)*E0(:,i);
end
for j=1:length(theta2)
l(:,j)=theta2(j)+sum(tab1,2);
end;
proba(:,1)=exp(l(:,1))./(1+exp(l(:,1)));
for i=1:(modalite−2)
proba(:,i+1)=
exp(l(:,i+1))./(1+exp(l(:,i+1)))−exp(l(:,i))./(1+exp(l(:,i)));
end;
proba(:,modalite)=1−sum(proba,2);[k,l]=max(proba');
y est=l';
if min(Y)==0
Y=Y+1;
endpredic=[Y proba y est];
disp('Tableau des predictions')
disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−')disp('La premiere colonne donne la variable reponse.')
disp('La derniere colonne donne l''estimation de la variable reponse.');
disp('Les autres colonnes donnent les estimations des probabilites
pour chaque reponse')
disp(predic)
for i=1:modalite
for j=1:modalite
tableau predic(i,j)=sum(Y==i & y est==j);
end;end;
somme=(sum(diag(tableau predic))/m)*100;
disp('Le pourcentage de bien classes est : ');
disp(somme);
s1=sum(tableau predic,1);
s2=sum(tableau predic,2);
tableau predic(:,end)=s2;tableau predic(end,:)=s1;
227
tableau predic(modalite+1,modalite+1)=sum(tableau predic(:,end),1);
228