Programmes de régression logistique PLS avec ou sans ...

231
Institut National de la Recherche Agronomique Centre de Recherches de Jouy-en-Josas Unité de Mathématiques et Informatique Appliquées (MIA) Programmes de régression logistique PLS avec ou sans sélection de variables nom du programme : MIAJ_PLS_PLUS_V2009_1 Langage : MATLAB Amandine BLIN & Jean-Pierre Gauchi Rapport technique : 2010- 2 Février 2010

Transcript of Programmes de régression logistique PLS avec ou sans ...

Page 1: 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

Page 2: Programmes de régression logistique PLS avec ou sans ...

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

Page 3: Programmes de régression logistique PLS avec ou sans ...

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

Page 4: Programmes de régression logistique PLS avec ou sans ...

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

Page 5: Programmes de régression logistique PLS avec ou sans ...

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

Page 6: Programmes de régression logistique PLS avec ou sans ...

– 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

Page 7: Programmes de régression logistique PLS avec ou sans ...

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

Page 8: Programmes de régression logistique PLS avec ou sans ...

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

Page 9: Programmes de régression logistique PLS avec ou sans ...

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

Page 10: Programmes de régression logistique PLS avec ou sans ...

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

Page 11: Programmes de régression logistique PLS avec ou sans ...

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

Page 12: Programmes de régression logistique PLS avec ou sans ...

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

Page 13: Programmes de régression logistique PLS avec ou sans ...

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

Page 14: Programmes de régression logistique PLS avec ou sans ...

(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

Page 15: Programmes de régression logistique PLS avec ou sans ...

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

Page 16: Programmes de régression logistique PLS avec ou sans ...

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

Page 17: Programmes de régression logistique PLS avec ou sans ...

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

Page 18: Programmes de régression logistique PLS avec ou sans ...

*****************************************************************************************

*****************************************************************************************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

Page 19: Programmes de régression logistique PLS avec ou sans ...

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

Page 20: Programmes de régression logistique PLS avec ou sans ...

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

Page 21: Programmes de régression logistique PLS avec ou sans ...

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

Page 22: Programmes de régression logistique PLS avec ou sans ...

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

Page 23: Programmes de régression logistique PLS avec ou sans ...

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

Page 24: Programmes de régression logistique PLS avec ou sans ...

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

Page 25: Programmes de régression logistique PLS avec ou sans ...

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

Page 26: Programmes de régression logistique PLS avec ou sans ...

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

Page 27: Programmes de régression logistique PLS avec ou sans ...

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

Page 28: Programmes de régression logistique PLS avec ou sans ...

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

Page 29: Programmes de régression logistique PLS avec ou sans ...

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

Page 30: Programmes de régression logistique PLS avec ou sans ...

*****************************************************************************************

*****************************************************************************************

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

Page 31: Programmes de régression logistique PLS avec ou sans ...

***********************************************************************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

Page 32: Programmes de régression logistique PLS avec ou sans ...

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

Page 33: Programmes de régression logistique PLS avec ou sans ...

−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

Page 34: Programmes de régression logistique PLS avec ou sans ...

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 35: Programmes de régression logistique PLS avec ou sans ...

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

Page 36: Programmes de régression logistique PLS avec ou sans ...

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

Page 37: Programmes de régression logistique PLS avec ou sans ...

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

Page 38: Programmes de régression logistique PLS avec ou sans ...

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

Page 39: Programmes de régression logistique PLS avec ou sans ...

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

Page 40: Programmes de régression logistique PLS avec ou sans ...

−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

Page 41: Programmes de régression logistique PLS avec ou sans ...

−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

Page 42: Programmes de régression logistique PLS avec ou sans ...

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

Page 43: Programmes de régression logistique PLS avec ou sans ...

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

Page 44: Programmes de régression logistique PLS avec ou sans ...

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

Page 45: Programmes de régression logistique PLS avec ou sans ...

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

Page 46: Programmes de régression logistique PLS avec ou sans ...

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

Page 47: Programmes de régression logistique PLS avec ou sans ...

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

Page 48: Programmes de régression logistique PLS avec ou sans ...

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

Page 49: Programmes de régression logistique PLS avec ou sans ...

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

Page 50: Programmes de régression logistique PLS avec ou sans ...

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 51: Programmes de régression logistique PLS avec ou sans ...

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 52: Programmes de régression logistique PLS avec ou sans ...

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

Page 53: Programmes de régression logistique PLS avec ou sans ...

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

Page 54: Programmes de régression logistique PLS avec ou sans ...

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

Page 55: Programmes de régression logistique PLS avec ou sans ...

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

Page 56: Programmes de régression logistique PLS avec ou sans ...

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

Page 57: Programmes de régression logistique PLS avec ou sans ...

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

Page 58: Programmes de régression logistique PLS avec ou sans ...

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

Page 59: Programmes de régression logistique PLS avec ou sans ...

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

Page 60: Programmes de régression logistique PLS avec ou sans ...

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

Page 61: Programmes de régression logistique PLS avec ou sans ...

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 62: Programmes de régression logistique PLS avec ou sans ...

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

Page 63: Programmes de régression logistique PLS avec ou sans ...

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

Page 64: Programmes de régression logistique PLS avec ou sans ...

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

Page 65: Programmes de régression logistique PLS avec ou sans ...

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

Page 66: Programmes de régression logistique PLS avec ou sans ...

−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 67: Programmes de régression logistique PLS avec ou sans ...

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

Page 68: Programmes de régression logistique PLS avec ou sans ...

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

Page 69: Programmes de régression logistique PLS avec ou sans ...

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

Page 70: Programmes de régression logistique PLS avec ou sans ...

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

Page 71: Programmes de régression logistique PLS avec ou sans ...

****************************************************************************************************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

Page 72: Programmes de régression logistique PLS avec ou sans ...

−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

Page 73: Programmes de régression logistique PLS avec ou sans ...

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

Page 74: Programmes de régression logistique PLS avec ou sans ...

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

Page 75: Programmes de régression logistique PLS avec ou sans ...

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

Page 76: Programmes de régression logistique PLS avec ou sans ...

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

Page 77: Programmes de régression logistique PLS avec ou sans ...

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

Page 78: Programmes de régression logistique PLS avec ou sans ...

−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

Page 79: Programmes de régression logistique PLS avec ou sans ...

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

Page 80: Programmes de régression logistique PLS avec ou sans ...

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

Page 81: Programmes de régression logistique PLS avec ou sans ...

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

Page 82: Programmes de régression logistique PLS avec ou sans ...

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

Page 83: Programmes de régression logistique PLS avec ou sans ...

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

Page 84: Programmes de régression logistique PLS avec ou sans ...

−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

Page 85: Programmes de régression logistique PLS avec ou sans ...

−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

Page 86: Programmes de régression logistique PLS avec ou sans ...

−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

Page 87: Programmes de régression logistique PLS avec ou sans ...

−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

Page 88: Programmes de régression logistique PLS avec ou sans ...

−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

Page 89: Programmes de régression logistique PLS avec ou sans ...

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

Page 90: Programmes de régression logistique PLS avec ou sans ...

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

Page 91: Programmes de régression logistique PLS avec ou sans ...

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

Page 92: Programmes de régression logistique PLS avec ou sans ...

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

Page 93: Programmes de régression logistique PLS avec ou sans ...

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

Page 94: Programmes de régression logistique PLS avec ou sans ...

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

Page 95: Programmes de régression logistique PLS avec ou sans ...

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

Page 96: Programmes de régression logistique PLS avec ou sans ...

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

Page 97: Programmes de régression logistique PLS avec ou sans ...

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

Page 98: Programmes de régression logistique PLS avec ou sans ...

****************************************************************************************************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

Page 99: Programmes de régression logistique PLS avec ou sans ...

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

Page 100: Programmes de régression logistique PLS avec ou sans ...

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

Page 101: Programmes de régression logistique PLS avec ou sans ...

−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

Page 102: Programmes de régression logistique PLS avec ou sans ...

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

Page 103: Programmes de régression logistique PLS avec ou sans ...

****************************************************************************************************

****************************************************************************************************

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

Page 104: Programmes de régression logistique PLS avec ou sans ...

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

Page 105: Programmes de régression logistique PLS avec ou sans ...

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

Page 106: Programmes de régression logistique PLS avec ou sans ...

−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

Page 107: Programmes de régression logistique PLS avec ou sans ...

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

Page 108: Programmes de régression logistique PLS avec ou sans ...

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

Page 109: Programmes de régression logistique PLS avec ou sans ...

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

Page 110: Programmes de régression logistique PLS avec ou sans ...

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

Page 111: Programmes de régression logistique PLS avec ou sans ...

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

Page 112: Programmes de régression logistique PLS avec ou sans ...

Figure 4.9 – Tableau recapitulatif des options programmees selon les methodes et exemples traites

109

Page 113: Programmes de régression logistique PLS avec ou sans ...

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

Page 114: Programmes de régression logistique PLS avec ou sans ...

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

Page 115: Programmes de régression logistique PLS avec ou sans ...

% 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

Page 116: Programmes de régression logistique PLS avec ou sans ...

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

Page 117: Programmes de régression logistique PLS avec ou sans ...

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

Page 118: Programmes de régression logistique PLS avec ou sans ...

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

Page 119: Programmes de régression logistique PLS avec ou sans ...

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

Page 120: Programmes de régression logistique PLS avec ou sans ...

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

Page 121: Programmes de régression logistique PLS avec ou sans ...

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

Page 122: Programmes de régression logistique PLS avec ou sans ...

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

Page 123: Programmes de régression logistique PLS avec ou sans ...

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

Page 124: Programmes de régression logistique PLS avec ou sans ...

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

Page 125: Programmes de régression logistique PLS avec ou sans ...

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

Page 126: Programmes de régression logistique PLS avec ou sans ...

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

Page 127: Programmes de régression logistique PLS avec ou sans ...

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

Page 128: Programmes de régression logistique PLS avec ou sans ...

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

Page 129: Programmes de régression logistique PLS avec ou sans ...

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

Page 130: Programmes de régression logistique PLS avec ou sans ...

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

Page 131: Programmes de régression logistique PLS avec ou sans ...

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

Page 132: Programmes de régression logistique PLS avec ou sans ...

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

Page 133: Programmes de régression logistique PLS avec ou sans ...

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

Page 134: Programmes de régression logistique PLS avec ou sans ...

%%

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

Page 135: Programmes de régression logistique PLS avec ou sans ...

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

Page 136: Programmes de régression logistique PLS avec ou sans ...

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

Page 137: Programmes de régression logistique PLS avec ou sans ...

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

Page 138: Programmes de régression logistique PLS avec ou sans ...

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

Page 139: Programmes de régression logistique PLS avec ou sans ...

%%

%

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

Page 140: Programmes de régression logistique PLS avec ou sans ...

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

Page 141: Programmes de régression logistique PLS avec ou sans ...

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

Page 142: Programmes de régression logistique PLS avec ou sans ...

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

Page 143: Programmes de régression logistique PLS avec ou sans ...

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

Page 144: Programmes de régression logistique PLS avec ou sans ...

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

Page 145: Programmes de régression logistique PLS avec ou sans ...

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

Page 146: Programmes de régression logistique PLS avec ou sans ...

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

Page 147: Programmes de régression logistique PLS avec ou sans ...

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

Page 148: Programmes de régression logistique PLS avec ou sans ...

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

Page 149: Programmes de régression logistique PLS avec ou sans ...

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

Page 150: Programmes de régression logistique PLS avec ou sans ...

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

Page 151: Programmes de régression logistique PLS avec ou sans ...

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

Page 152: Programmes de régression logistique PLS avec ou sans ...

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

Page 153: Programmes de régression logistique PLS avec ou sans ...

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

Page 154: Programmes de régression logistique PLS avec ou sans ...

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

Page 155: Programmes de régression logistique PLS avec ou sans ...

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

Page 156: Programmes de régression logistique PLS avec ou sans ...

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

Page 157: Programmes de régression logistique PLS avec ou sans ...

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

Page 158: Programmes de régression logistique PLS avec ou sans ...

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

Page 159: Programmes de régression logistique PLS avec ou sans ...

%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

Page 160: Programmes de régression logistique PLS avec ou sans ...

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

Page 161: Programmes de régression logistique PLS avec ou sans ...

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

Page 162: Programmes de régression logistique PLS avec ou sans ...

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

Page 163: Programmes de régression logistique PLS avec ou sans ...

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

Page 164: Programmes de régression logistique PLS avec ou sans ...

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

Page 165: Programmes de régression logistique PLS avec ou sans ...

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

Page 166: Programmes de régression logistique PLS avec ou sans ...

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

Page 167: Programmes de régression logistique PLS avec ou sans ...

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

Page 168: Programmes de régression logistique PLS avec ou sans ...

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

Page 169: Programmes de régression logistique PLS avec ou sans ...

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

Page 170: Programmes de régression logistique PLS avec ou sans ...

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

Page 171: Programmes de régression logistique PLS avec ou sans ...

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

Page 172: Programmes de régression logistique PLS avec ou sans ...

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

Page 173: Programmes de régression logistique PLS avec ou sans ...

%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

Page 174: Programmes de régression logistique PLS avec ou sans ...

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

Page 175: Programmes de régression logistique PLS avec ou sans ...

%%%%%%%%%%%%%%%%%%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

Page 176: Programmes de régression logistique PLS avec ou sans ...

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

Page 177: Programmes de régression logistique PLS avec ou sans ...

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

Page 178: Programmes de régression logistique PLS avec ou sans ...

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

Page 179: Programmes de régression logistique PLS avec ou sans ...

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

Page 180: Programmes de régression logistique PLS avec ou sans ...

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

Page 181: Programmes de régression logistique PLS avec ou sans ...

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

Page 182: Programmes de régression logistique PLS avec ou sans ...

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

Page 183: Programmes de régression logistique PLS avec ou sans ...

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

Page 184: Programmes de régression logistique PLS avec ou sans ...

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

Page 185: Programmes de régression logistique PLS avec ou sans ...

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

Page 186: Programmes de régression logistique PLS avec ou sans ...

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

Page 187: Programmes de régression logistique PLS avec ou sans ...

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

Page 188: Programmes de régression logistique PLS avec ou sans ...

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

Page 189: Programmes de régression logistique PLS avec ou sans ...

[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

Page 190: Programmes de régression logistique PLS avec ou sans ...

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

Page 191: Programmes de régression logistique PLS avec ou sans ...

[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

Page 192: Programmes de régression logistique PLS avec ou sans ...

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

Page 193: Programmes de régression logistique PLS avec ou sans ...

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

Page 194: Programmes de régression logistique PLS avec ou sans ...

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

Page 195: Programmes de régression logistique PLS avec ou sans ...

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

Page 196: Programmes de régression logistique PLS avec ou sans ...

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

Page 197: Programmes de régression logistique PLS avec ou sans ...

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

Page 198: Programmes de régression logistique PLS avec ou sans ...

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

Page 199: Programmes de régression logistique PLS avec ou sans ...

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

Page 200: Programmes de régression logistique PLS avec ou sans ...

% 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

Page 201: Programmes de régression logistique PLS avec ou sans ...

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

Page 202: Programmes de régression logistique PLS avec ou sans ...

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

Page 203: Programmes de régression logistique PLS avec ou sans ...

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

Page 204: Programmes de régression logistique PLS avec ou sans ...

%%%%%%%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

Page 205: Programmes de régression logistique PLS avec ou sans ...

%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

Page 206: Programmes de régression logistique PLS avec ou sans ...

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

Page 207: Programmes de régression logistique PLS avec ou sans ...

[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

Page 208: Programmes de régression logistique PLS avec ou sans ...

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

Page 209: Programmes de régression logistique PLS avec ou sans ...

%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

Page 210: Programmes de régression logistique PLS avec ou sans ...

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

Page 211: Programmes de régression logistique PLS avec ou sans ...

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

Page 212: Programmes de régression logistique PLS avec ou sans ...

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

Page 213: Programmes de régression logistique PLS avec ou sans ...

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

Page 214: Programmes de régression logistique PLS avec ou sans ...

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

Page 215: Programmes de régression logistique PLS avec ou sans ...

% 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

Page 216: Programmes de régression logistique PLS avec ou sans ...

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

Page 217: Programmes de régression logistique PLS avec ou sans ...

%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

Page 218: Programmes de régression logistique PLS avec ou sans ...

enddisp('***************************************************************************************************')

disp('Le nombre de composantes significatives est : ');

disp(h)

%save('varselecforwardkernel.txt','Don2','−ascii');%save('numvarselecforwardkernel.txt','indice2','−ascii');

215

Page 219: Programmes de régression logistique PLS avec ou sans ...

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

Page 220: Programmes de régression logistique PLS avec ou sans ...

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

Page 221: Programmes de régression logistique PLS avec ou sans ...

%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

Page 222: Programmes de régression logistique PLS avec ou sans ...

%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

Page 223: Programmes de régression logistique PLS avec ou sans ...

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

Page 224: Programmes de régression logistique PLS avec ou sans ...

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

Page 225: Programmes de régression logistique PLS avec ou sans ...

disp('TT')

disp(TT)

222

Page 226: Programmes de régression logistique PLS avec ou sans ...

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

Page 227: Programmes de régression logistique PLS avec ou sans ...

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

Page 228: Programmes de régression logistique PLS avec ou sans ...

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

Page 229: Programmes de régression logistique PLS avec ou sans ...

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

Page 230: Programmes de régression logistique PLS avec ou sans ...

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

Page 231: Programmes de régression logistique PLS avec ou sans ...

tableau predic(modalite+1,modalite+1)=sum(tableau predic(:,end),1);

228