Exemple 1
Transcription
Exemple 1
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 Table des matières 1 2 3 4 5 6 Introduction . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Notations . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Principe des méthodes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.1 Principe de la méthode 1 : la régression logistique PLS . . . . . . . . . . 3.2 Principe de la méthode 2 : la régression logistique sur composantes PLS 3.3 Le choix du nombre de composantes . . . . . . . . . . . . . . . . . . . . 3.4 Principe de la méthode 3 : régression logistique PLS pas à pas de type backward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.5 Principe de la méthode 4 : régression logistique PLS pas à pas de type forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.6 Principe de la méthode 5 : régression logistique pénalisée PLS pas à pas de type forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.7 Principe de la méthode 6 : régression kernel logistique pénalisée PLS pas à pas de type forward . . . . . . . . . . . . . . . . . . . . . . . . . . . . Utilisation de l’interface de lancement . . . . . . . . . . . . . . . . . . . . . . . Illustration des méthodes à l’aide d’exemples . . . . . . . . . . . . . . . . . . . 5.1 Description des jeux de données . . . . . . . . . . . . . . . . . . . . . . 5.2 Illustration du pré-traitement par régressions logistiques univariées : utilisation du jeu de données 7 . . . . . . . . . . . . . . . . . . . . . . . . . 5.3 Illustration du pré-traitement par régressions logistiques pénalisées univariées : utilisation des jeux 7 et 11 . . . . . . . . . . . . . . . . . . . . 5.4 Illustration de la régression PLS avec sélection de variables de type forward : utilisation du jeu 1 . . . . . . . . . . . . . . . . . . . . . . . . . . 5.5 Illustration de la régression logistique PLS et de la régression logistique sur composantes PLS sans sélection de variables . . . . . . . . . . . . . 5.6 Illustration de la régression logistique PLS avec sélection de variables de type forward : utilisation du jeu de données 8 . . . . . . . . . . . . . . . 5.7 Illustration de la régression kernel logistique pénalisée PLS avec sélection de variables de type forward : utilisation du jeu de données 10 . . . . . Récapitulatifs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6.1 Récapitulatifs des méthodes utilisées . . . . . . . . . . . . . . . . . . . . 6.2 Tableau récapitulatif des options programmées selon les méthodes et exemples traités . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . Bibliographie 1 1 2 2 2 3 3 4 4 4 4 11 11 14 19 27 27 104 105 106 106 108 110 A Programmation de l’interface 111 B Programme de régression logistique pénalisée d’après le package logistf de R 193 C Programme de régression logistique PLS sans données manquantes et sans sélection de variables 196 D Programme de régression logistique sur composantes PLS avec ou sans données manquantes sans sélection de variables 199 E Programme de régression logistique PLS sans données manquantes avec sélection de variables de type BQ 200 F Programme de régression logistique PLS avec sélection de type forward 203 G Programme de régression logistique pénalisée PLS avec sélection de type forward 207 H Programme de régression kernel logistique pénalisée PLS avec sélection de type forward 211 I Programmes permettant de choisir le nombre de composantes significatives216 J Programmes afin d’établir la qualité de prévision du modèle utilisant la régression logistique usuelle de la variable réponse sur les variables explicatives 223 K Programme afin d’établir la qualité de la prévision du modèle en utilisant la régression logistique de la variable réponse sur les composantes PLS 226 1 Introduction La régression PLS combine itérativement analyse en composantes principales et régressions simples dans l’objectif de relier les variables explicatives et les variables réponses ([2]). Dans le cas où la variable réponse est binaire ou ordinale, il fut nécessaire d’adapter les principes de la régression PLS à la régression logistique (régression logistique PLS). Cette technique a également été développée sous forme de régression logistique sur composantes PLS. Les six méthodes développées dans ce programme sont les suivantes : – méthode 1 : régression logistique PLS – méthode 2 : régression logistique sur composantes PLS – méthode 3 : régression logistique PLS pas à pas de type backward – méthode 4 : régression logistique PLS pas à pas de type forward – méthode 5 : régression logistique pénalisée PLS pas à pas de type forward – méthode 6 : régression kernel logistique pénalisée PLS pas à pas de type forward Dans le cas de données métagénomiques, afin de réduire la taille des données, trois prétraitements ont été programmés : – pré-traitement 1 : régressions simples univariées – pré-traitement 2 : régressions logistiques univariées – pré-traitement 3 : régressions logistiques pénalisées univariées ([4], [6], [14]) Ce rapport technique concerne la programmation de ces méthodes effectuée à l’aide du logiciel Matlab sous Linux, version 7.9.0.529 (R2009b). Ce travail a été effectué au sein de l’unité MIA de l’INRA de Jouy-en-Josas. Les procédures sont disponibles sur la machine bananier en /home/amblin/P LS P LU S. Pour les aspects théoriques de ces méthodes, on renvoie le lecteur aux références données dans le texte de ce rapport. 2 Notations On adoptera les notations suivantes : N : Nombre d’observations M : Nombre de variables explicatives P : Nombre de variables réponses X : Matrice des données (N × M ) pour les variables indépendantes explicatives Y : Matrice des données (N × P ) pour les variables dépendantes réponses E0 : Matrice des variables (Xj )j=1...M centrées-réduites F0 : Matrice des variables (Yk )k=1...P centrées-réduites A : Nombre de composantes PLS choisi a priori ou par un test th : Composante PLS à l’étape h PLS1 : régression PLS avec une seule variable réponse PLS2 : régression PLS dans le cas où le nombre de variables réponses est supérieur à 1 DM : données manquantes LC : test de Lazraq-Cléroux([8]) J : intervalle de confiance jacknife B : intervalle de confiance bootstrap 1 A : intervalle de confiance par approximation K : matrice de Gram K0 : matrice de Gram centrée réduite Dans le cas où la variable réponse comporte plus de deux modalités, on adoptera comme régression logistique un modèle à rapport des chances proportionnelles. Dans le cas où la variable réponse contient plus de deux modalités non ordinales, l’exemple ne sera pas traité. Pour le principe de la régression logistique pénalisée, on se reportera aux références [4], [6] et [14]. Le package logistf développé sous R (disponible sur le site http ://cran.r-project.org/web/packages/) a été adapté en un programme matlab. 3 Principe des méthodes 3.1 Principe de la méthode 1 : la régression logistique PLS La régression logistique PLS peut être présentée comme une extension de l’algorithme PLS. Dans cette version, lorsqu’il existe des données manquantes, la variable explicative correspondante est supprimée. Les variables à k modalités sont divisées en k-1 variables indicatrices en prenant 1 comme modalité de référence ([7]). Dans le cas où la variable réponse est composée de deux modalités, on effectuera une régression logistique PLS nominale. Dans le cas où la variable réponse comporte plus de deux modalités, on effectuera une régression logistique PLS ordinale. Afin d’effectuer cet algorithme, on s’appuiera sur l’article de P. Bastien, V.E Vinzi et M. Tenenhaus ([1]). Les principales étapes de la régression logistique PLS sont les suivantes : 1. Centrage et réduction du tableau X 2. Recherche des composantes orthogonales th (composantes logistiques PLS) . Le principe est le même que celui de la régression PLS excepté le calcul du coefficient de régression. Dans le cas de la régression PLS, on effectue une régression linéaire simple de la variable réponse sur les variables explicatives E0j (j=1...M ) et les composantes th pour chaque variable. Dans le cas de la régression logistique PLS, on effectue une régression logistique à la place d’une régression linéaire généralisée. 3. Régressions de E0 et Y sur t1 . On exprime la régression de Y en fonction des variables explicatives. On obtient les matrices de résidus E1 et F1 . 4. On reprend les étapes 2 et 3 en remplaçant E0 par E1 et Y par Y1 jusqu’à convergence des composantes t1 ...th . Le nombre de composantes significatives A est déterminé soit a priori, soit par un test (du type validation croisée). 3.2 Principe de la méthode 2 : la régression logistique sur composantes PLS Deux cas sont à distinguer([1]) : 1. La réponse présente deux modalités : – On réalise alors directement la régression PLS1 sur les variables explicatives. S’il existe des variables explicatives qualitatives, on transforme celles-ci en variables indicatrices pour obtenir un tableau disjonctif complet. 2 – On réalise une régression logistique binaire (nominale) sur les composantes PLS obtenues. 2. La réponse présente trois modalités ou plus : – On transforme la réponse à k modalités en un tableau disjonctif complet (k variables réponses indicatrices) – On réalise la régression PLS2 – On réalise une régression logistique ordinale de la réponse sur les composantes PLS obtenues. 3.3 Le choix du nombre de composantes Dans le cas de la régression logistique PLS, on utilise le test du Q2 au sens du Khi2. On utilise le même type d’approche que le test du Q2 utilisé dans la régression PLS1 ([2], [8])en calculant ici le Khi2 de Pearson ([11]). La règle de la décision est la suivante : si Q2 χh est supérieur ou égal à 0.00975, alors la composante PLS sera considérée significative. Dans le cas de la régression logistique sur composantes PLS, on utilise le test du Q2 utilisé en régression logistique PLS2 ([12] page 138). Afin de sélectionner le nombre de composantes, la technique de régression logistique PLS pas à pas ascendante a également été adoptée ([1]) : 1. On part du modèle complet. 2. A chaque étape, on enlève la variable la moins significative selon le test de Wald. Les valeurs typiques du niveau de confiance sont 90, 95 et 99 %. On calcule la composante logistique PLS correspondante. 3. A l’étape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 composantes. 3.4 Principe de la méthode 3 : régression logistique PLS pas à pas de type backward Lorsque le nombre de variables explicatives est grand, voire considérable (cas des données métagénomiques), on cherche à sélectionner les variables intervenant le plus dans l’explication des variables réponses. La méthode 3 est une méthode de sélection de variables développée dans l’article de J-P Gauchi et P. Chagnon (Méthode BQ, [5]). Dans le cas de la régression logistique PLS, les étapes de cette méthode sont les suivantes : 1. Calcul d’un premier modèle de régression logistique PLS avec toutes les variables explicatives (les A composantes th retenues sont validées par le test du Q2 au sens du Khi2). 2. Calcul du Q2 χh cumulé du modèle (noté Q2 χcum ) et stockage de la valeur de ce Q2 χcum . 3. Elimination de la variable (logistique) présentant le plus petit coefficient (en valeur absolue) dans l’équation de ce modèle. 4. Retour en 1 avec une variable de moins. 5. On répète ces étapes jusqu’à obtenir une seule variable explicative, puis on trace la courbe des Q2 χcum en fonction des variables éliminées. 3 3.5 Principe de la méthode 4 : régression logistique PLS pas à pas de type forward Les étapes de la régression logistique PLS pas à pas de type forward sont les suivantes : 1. Centrage et réduction des variables explicatives 2. On part du modèle complet. On effectue la régression logistique de Y sur E0. On enlève la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule la première composante logistique PLS. Les valeurs typiques du niveau de confiance sont 90, 95 et 99 % 3. A chaque étape, on effectue la régression logistique de Y sur E0 et les composantes logistiques PLS calculées à chaque étape. 4. A l’étape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 composantes. 3.6 Principe de la méthode 5 : régression logistique pénalisée PLS pas à pas de type forward Les étapes de la régression logistique pénalisée PLS pas à pas de type forward sont identiques à la méthode 4 en remplaçant la régression logistique par la régression logistique pénalisée ([4], [6] et [14]). 3.7 Principe de la méthode 6 : régression kernel logistique pénalisée PLS pas à pas de type forward Afin d’accélérer l’algorithme de la méthode 5, on a développé la méthode de régression kernel logistique pénalisée PLS pas à pas de type forward. Pour l’algorithme kernel logistique PLS, on renverra le lecteur à la référence [10]. Les étapes sont les suivantes : 1. Centrage et réduction de la matrice de Gram. Ici on a adopté le noyau K(x, xi ) = exp(− kx − xi k22 /σ 2 ) . On prendra ici σ = 1. 2. On part du modèle complet. On effectue la régression logistique pénalisée de Y sur K0 . On enlève la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule la première composante logistique PLS. Les valeurs typiques du niveau de confiance sont 90, 95 et 99 % . 3. A chaque étape, on effectue la régression logistique pénalisée de Y sur K0 et les composantes logistiques PLS calculées à chaque étape. 4. A l’étape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 composantes. 4 Utilisation de l’interface de lancement L’interface de lancement s’obtient à partir de la fenêtre de commande de Matlab en tapant pour cette version MIAJ PLS PLUS V2009 1. Dans ce programme, les procédures de régressions PLS usuelles qui ont fait l’objet d’un rapport technique ([2]), sont également présentes. L’interface est modifiée selon la méthode adoptée (voir 4.3, 4.4, 4.5, 4.6). D’autres changements 4 Figure 4.1 – Interface de lancement de pré-traitement par régressions simples univariées interviennent lorqu’on effectue des méthodes avec sélection de variables. Après avoir cliqué sur le bouton LANCER, une nouvelle interface apparaı̂t (4.7). (1) A la question Choisissez une méthode , l’utilisateur dispose d’un menu déroulant lui permettant ainsi de choisir entre différentes méthodes : – pré-traitement : régressions simples Le tableau des variables sélectionnées concaténé à la variable réponse est directement enregistré dans le fichier regressions simples.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier regressions simples num.txt. – pré-traitement : régressions logistiques univariées Le tableau des variables sélectionnées concaténé à la variable réponse est directement enregistré dans le fichier logistiques univariees.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier logistiques univariees num.txt. – pré-traitement : régressions logistiques pénalisées univariées Le tableau des variables sélectionnées concaténé à la variable réponse est directement enregistré dans le fichier logistiques penalisees.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier logistiques penalisees num.txt. – PLS1 sans sélection de variables – PLS1 avec sélection de variables : méthode BQ Les numéros des variables sélectionnées seront directement enregistrés dans le fichier 5 Figure 4.2 – Interface de lancement de pré-traitement par régressions logistiques univariées Figure 4.3 – Interface de lancement de régression logistique PLS PLS1BQ num.txtet les Q2cum dans le fichier Q2cum.mat. La courbe des Q2cum en fonction des variables éliminées est également automatiquement enregistrée dans le fichier PLS1courbe au format .eps. – PLS1 avec sélection de variables : méthode forward Le tableau des variables sélectionnées concaténé à la variable réponse est directement en- 6 Figure 4.4 – Interface de lancement de régression PLS1 sans sélection de variables Figure 4.5 – Interface de lancement de régression PLS2 sans sélection de variables registré dans le fichier PLS1forward.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier PLS1forward num.txt. – PLS2 sans sélection de variables – PLS2 avec sélection de variables Les numéros des variables sélectionnées seront directement enregistrés dans le fichier PLS2BQ num.txt et les Q2cum dans le fichier Q2cum2.mat. La courbe des Q2cum en fonction des variables éliminées est également automatiquement enregistrée dans le fichier PLS2courbe au format .jpg. 7 Figure 4.6 – Interface de lancement de régression logistique PLS Figure 4.7 – Interface de lancement de pré-traitement par régressions simples univariées – régression logistique sur composantes PLS sans sélection de variables – régression logistique PLS sans sélection de variables – régression logistique PLS avec sélection de variables : méthode BQ Les numéros des variables sélectionnées seront directement enregistrés dans le fichier logistiqueP LSBQ num.txt et les Q2cum dans le fichier Q2cumlog.mat. La courbe des Q2cum en fonction des variables éliminées est également automatiquement enregistrée dans le fichier logPLScourbe au format .jpg. – régression logistique PLS avec sélection de variables : méthode forward Le tableau des variables sélectionnées est directement enregistré dans le fichier logisti- 8 quePLSforward.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier logistiqueP LSf orward num.txt. – régression logistique pénalisée PLS avec sélection de variables : méthode forward Le tableau des variables sélectionnées est directement enregistré dans le fichier logistiquepenPLSforward.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier logistiquepenP LSf orward num.txt. – régression kernel logistique pénalisée PLS avec sélection de variables : méthode forward Le tableau des variables sélectionnées est directement enregistré dans le fichier kernellogispenPLSforward.txt. De même, les numéros des variables sélectionnées seront enregistrés dans le fichier kernellogispenP LSf orward num.txt. (2) On inscrit le nom du fichier de données que l’on veut importer. Le fichier doit être au format excel (extension .xls) ou texte standard (.txt). Dans le cas de fichiers .txt, on indique le nombre de lignes et de colonnes. Le tableau des variables explicatives X doit être placé à gauche du tableau des variables réponses Y. Lorsqu’il existe des données manquantes dans le fichier, celles-ci doivent être codées par un espace dans un fichier au format excel et par NaN dans un fichier au format texte standard. (3) On peut faire défiler le nom des fichiers présents dans le répertoire dans lequel se trouve l’utilisateur. (4) Si l’utilisateur souhaite transposer le tableau de données, il coche la case correspondante. (5) Niveau de confiance en pourcentage des différents tests dans les cas de régressions simples, de régressions logistiques univariées, de régressions logistiques pénalisées univariées, de régressions PLS avec sélection de type forward, de régressions logistiques PLS avec sélection de type forward, de régressions logistiques pénalisées PLS avec sélection de type forward et de régressions kernel logistiques pénalisées PLS avec sélection de type forward. (6) Si l’utilisateur souhaite afficher les variables sélectionnées, 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 régressions logistiques univariées, de régressions logistiques pénalisées univariées, de régressions logistiques PLS, de régressions logistiques sur composantes PLS, de régressions logistiques PLS avec sélection BQ et forward, de régressions logistiques pénalisées PLS avec sélection forward et de régressions kernel logistiques pénalisées PLS avec sélection forward, l’utilisateur indique le nombre de modalités de la variable réponse. Dans le cas de régressions logistiques pénalisées, de régressions logistiques pénalisées PLS avec sélection forward et de régressions kernel logistiques pénalisées PLS avec sélection forward, le nombre de modalités est fixé seulement à deux modalités. Par défaut, le nombre est fixé à 2 dans tous les cas de régressions logistiques (pénalisées ou pas). Dans le cas où l’utilisateur indique 1, un message d’erreur est envoyé. (10) L’utilisateur indique s’il existe des variables explicatives qualitatives. (11) L’utilisateur indique le numéro de colonne de chaque variable qualitative. Chaque colonne sera séparée par un point-virgule. Dans le cas où on indique une plage de colonnes, on utilisera les deux points. (12) L’utilisateur indique le nombre de variables réponses dans de cas de régressions PLS. (13) S’il existe des données manquantes dans le tableau de données, on coche la case corres9 pondante. (14) Si on souhaite effectuer un test du Q2 afin d’obtenir le nombre de composantes PLS significatives, on coche la case correspondante. L’option n’est disponible que dans les cas de régressions PLS(I et II) sans sélection de variables et de régressions logistiques sur composantes PLS. (15) Si on souhaite effectuer un test de LC afin d’obtenir le nombre de composantes PLS significatives, on coche la case correspondante. L’option n’est disponible que dans les cas de régressions PLS I sans sélection de variables. (16) Si on souhaite effectuer un test forward afin d’obtenir le nombre de composantes PLS significatives, on coche la case correspondante. L’option n’est disponible que dans les cas de régressions logistiques PLS. (17) L’utilisateur donne le risque dans le calcul du test (LC et forward). Les valeurs typiques sont 90, 95 et 99 %. (18) Si on souhaite effectuer un test du R2 afin d’obtenir le nombre de composantes PLS significatives, on coche la case correspondante. L’option n’est disposible que dans les cas de régressions PLS I (19) L’utilisateur donne le nombre limite de composantes PLS qu’il souhaite conserver. Par défaut, ce nombre est fixé à 5 ou au nombre de variables explicatives si celui-ci est inférieur à 5. Dans le cas où on saisit un nombre limite supérieur au nombre de variables explicatives, un message d’erreur est envoyé. (20) Si l’utilisateur souhaite obtenir des intervalles de confiance, il coche la case correspondante. (21) On a le choix entre trois techniques pour obtenir des intervalles de confiance : l’approximation (dans le cas de la régression PLS1 sans données manquantes exclusivement), le jacknife ou le bootstrap. Dans le cas de la régression logistique PLS, aucun intervalle de confiance n’est calculé. (22) Dans le cas où l’utilisateur souhaite obtenir un intervalle de confiance, il donne un niveau de confiance. Les valeurs typiques sont 90, 95 et 99 %. Si les valeurs ne sont comprises entre 80 et 99 %, un message d’erreur est envoyé. (23) Si l’utilisateur souhaite effectuer une prédiction sur un jeu-test, il coche la case correspondante. (24) Pour le jeu-test éventuel, soit celui-ci existe déjà dans un fichier : il suffit alors de donner un nom avec une extension .txt ou .xls (en respectant X à gauche de Y, le nombre de variables réponses P et explicatives M), soit l’interface propose d’en construire un. Pour construire ce jeu-test, on donne le pourcentage de lignes à tirer aléatoirement parmi les N lignes des tableaux de départ. Notons également que le calcul sur le jeu-test n’est effectué que dans le cas où il n’y a pas de données manquantes dans celui-ci. (25) Dans le cas où on choisit d’effectuer un jeu-test avec tirage aléatoire, on choisit le taux des données du jeu que l’on veut conserver. Ce taux sera strictement supérieur à 0 et inférieur à 80 %. Dans le cas contraire, un message d’erreur sera envoyé. Dans le cas où on utilise un jeu test existant dans le fichier, la case fichier-test apparaı̂t. On saisit le nom du fichier-test sans oublier l’extension .txt ou .xls. (26) On peut faire défiler le nom des fichiers présents dans le répertoire dans lequel se trouve l’utilisateur. (27) Si l’utilisateur souhaite une sauvegarde, il coche la case correspondante. 10 (28) Il faut saisir le nom du fichier sans extension. Ce fichier sera automatiquement enregistré dans le répertoire courant en format .mat. (29) Nombre de lignes du tableau de données (observations) (30) Nombre de colonnes du tableau de données (variables) (31) Dans le cas de la régression logistique PLS, si on souhaite effectuer un test du Q2 au sens du χ2 afin d’obtenir le nombre de composantes PLS significatives, on coche la case correspondante. L’option n’est disposible que dans le cas de la régression logistique PLS. (32) Dans le cas de méthodes avec sélection de variables, au vu du graphique obtenu après avoir cliqué sur le bouton LANCER, on choisit le nombre de variables que l’on souhaite conserver (4.3). 5 5.1 Illustration des méthodes à l’aide d’exemples Description des jeux de données donnees cornell.xls On trouve dans le livre de Michel Tenenhaus ([10] page 78) l’exemple suivant tiré de Cornell (1990). On cherche à connaı̂tre l’influence des proportions de sept composants sur l’indice d’octane moteur de douze différents mélanges 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 : polymère (entre 0 et 0.12) – x6 : alkylat (entre 0 et 0.74) – x7 : essence naturelle (entre 0 et 0.08) Les données ont été regroupées dans le tableau 4.1. Table 4.1 – Données Cornell xj n°1 n°2 n°3 n°4 n°5 n°6 n°7 n°8 n°9 n°10 n°11 n°12 x1 0 0 0 0 0 0 0,17 0,17 0,17 0,17 0,21 0 x2 0,23 0,1 0 0,49 0 0,62 0,27 0,19 0,21 0,15 0,36 0 x3 0 0 0 0 0 0 0,1 0,1 0,1 0,1 0,12 0 x4 0 0 0,1 0 0,62 0 0,38 0,38 0,38 0,38 0,25 0,55 11 x5 0 0,12 0,12 0,12 0,12 0 0 0,02 0 0,02 0 0 x6 0,74 0,74 0,74 0,37 0,18 0,37 0 0,06 0,06 0,1 0 0,37 x7 0,03 0,04 0, 04 0,02 0,08 0,01 0,08 0,08 0,08 0,08 0,06 0,08 y 98,7 97,8 96,6 92 86,6 91,2 81,9 83,1 82,4 83,2 81,4 88,1 Notons que la somme de chaque ligne des xj est égale à 1. CHD.txt Ce jeu de données est une étude sur la présence (modalité 1) ou non (modalité 0) d’une maladie cardiaque coronaire en fonction de l’âge, la seule variable explicative. ([7] page 3). 100 individus ont été sélectionnés dans cette étude. dvirt.txt Ce jeu de données est un jeu de données virtuelles constitué de variables explicatives orthogonales et ne prenant que deux modalités 1 ou -1. Quant à la variable réponse, elle est composée de deux modalités (0 ou 1) avec quelques mal classés. On dispose de 64 observations. risque2.xls Ce jeu de données est une étude ([7] pages 247 à 252) qui consiste à identifier les facteurs de risque associés à la naissance d’un bébé de faible poids (moins de 2500 grammes). 189 femmmes ont été selectionnées dont 59 qui ont eu un bébé de faible poids et 130 qui ont eu un bébé de poids normal. Les facteurs de risque (variables explicatives) sont les suivants : – l’âge – le poids lors des dernières règles (LWT) – la race de l’individu (variable qualitative composée de trois modalités) – fumeur ou non fumeur – nombre de visites chez le médecin lors du premier trimestre de grossesse (FTV) La variable réponse (bébé de faible poids ou non) est composée de deux modalités. vins bordeaux.xls Ce jeu de données est une étude consistant à mesurer l’influence de différents facteurs sur la qualité du vin([11]). Les données ont été mesurées sur 34 années (de 1924 à 1957) et ont été regroupées dans le tableau 4.2. Les variables explicatives sont les suivantes : – Temperature : Somme des temperatures moyennes journalières (en degrés) – Soleil : Durée d’insolation (en heures) – Chaleur : Nombre de jours de grande chaleur – Pluie : Hauteur des pluies (en mm) La variable réponse - la qualité du vin - est composée de trois modalités (1 : bonne, 2 : moyenne, 3 : médiocre). vins bordeauxDM.xls Ce jeu de données reprend les données précédentes ([11])en enlevant la valeur de la variable Temperature pour l’année 1924. microobesFULLt0t6.xls Il comporte 11114 lignes et 78 colonnes à transposer. Ce sont des séquences de gènes comptées sur des malades obèses à t=0, puis, à t=6 semaines. On cherche les séquences qui 12 Table 4.2 – Données vins de Bordeaux Temperature 3064 3000 3155 3085 3245 3267 3080 2974 3038 3318 3317 3182 2998 3221 3019 3022 3094 3009 3227 3308 3212 3361 3061 3478 3126 3458 3252 3052 3270 3198 2904 3247 3083 3043 Soleil 1201 1053 1133 970 1258 1386 966 1189 1103 1310 1362 1171 1102 1424 1230 1285 1329 1210 1331 1366 1289 1444 1175 1317 1248 1508 1361 1186 1399 1259 1164 1277 1195 1208 Chaleur 10 11 19 4 36 35 13 12 14 29 25 28 9 21 16 9 11 15 21 24 17 25 12 42 11 43 26 14 24 20 6 19 5 14 Pluie 361 338 393 467 294 225 417 488 677 427 326 326 349 382 275 303 339 536 414 282 302 253 261 259 315 286 346 443 306 367 311 375 441 371 Qualité du vin 2 3 2 3 1 1 3 3 3 2 1 3 3 1 2 2 2 3 2 1 2 1 2 1 2 1 2 3 1 1 3 1 3 3 signent la transition t0-t6. microobesFULLt0t6.txt Ce fichier a été obtenu après pré-traitement par régressions logistiques univariées (seuil de 10%) du fichier microobesFULLt0t6.xls. 448 variables ont été sélectionnées. 13 microobesFULLt0t6pen.txt Ce fichier a été obtenu après pré-traitement par régressions logistiques pénalisées univariées (seuil de 10%) du fichier microobesFULLt0t6.xls. 349 variables ont été sélectionnées. microobesFULLt0t6pen2.txt Ce fichier a été obtenu après pré-traitement par régressions logistiques pénalisées univariées (seuil de 5%) du fichier microobesFULLt0t6.xls. 113 variables ont été sélectionnées. crohnbrutSC.txt Il comporte 2008 lignes (2007 volumes de protéines obtenus par électrophorèse 2D)et 24 colonnes (24 malades /24 personnes saines) à transposer. Figure 4.8 – Tableau récapitulatif des jeux de données utilisés 5.2 Illustration du pré-traitement par régressions logistiques univariées : utilisation du jeu de données 7 Le listing de sortie est le suivant : 14 ***************************************************************************************** ***************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : PRE−TRAITEMENT A L'AIDE DE REGRESSIONS LOGISTIQUES UNIVARIEES Nom du fichier traite microobesFULLt0t6.xls On a transpose le tableau de donnees Niveau de confiance (en pourcentage) : 90 Nombre de variables explicatives 11113 Nombre de variables reponses 1 Nombre d'observations 78 Nombre de modalites de la variable reponse 2 Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : Columns 1 through 11 151 10 153 63 181 67 220 110 112 122 129 263 384 278 291 316 343 485 622 493 494 500 508 641 729 650 651 665 676 797 880 804 827 851 858 957 1168 958 982 1063 1069 Columns 12 through 22 344 229 345 259 383 Columns 23 through 33 516 401 566 430 593 Columns 34 through 44 696 629 713 632 720 Columns 45 through 55 862 743 863 752 872 Columns 56 through 66 1096 884 1101 915 1166 Columns 67 through 77 15 1404 1190 1418 1261 1437 1285 1441 1344 1346 1379 1400 1492 1661 1555 1563 1614 1619 1716 1895 1720 1733 1777 1791 1986 2189 2007 2016 2041 2048 2204 2521 2205 2236 2238 2245 2637 2855 2669 2699 2715 2718 2888 3274 2894 2930 3022 3032 3332 3568 3333 3339 3359 3465 3616 3802 3625 3682 3724 3751 4058 4286 4063 4133 4182 4226 4336 4512 4364 4374 4408 4425 Columns 78 through 88 1629 1465 1649 1476 1655 Columns 89 through 99 1812 1663 1844 1688 1846 Columns 100 through 110 2109 1949 2122 1968 2174 Columns 111 through 121 2249 2192 2314 2199 2372 Columns 122 through 132 2756 2580 2760 2603 2828 Columns 133 through 143 3083 2865 3153 2881 3254 Columns 144 through 154 3484 3281 3541 3315 3552 Columns 155 through 165 3753 3578 3777 3589 3788 Columns 166 through 176 4248 3878 4282 3976 4285 Columns 177 through 187 4443 4310 4491 4320 4497 Columns 188 through 198 16 4716 4521 4719 4603 4722 4651 4724 4662 4667 4673 4687 4805 4932 4818 4845 4912 4915 4965 5316 5060 5065 5120 5143 5497 5594 5518 5527 5538 5547 5721 5935 5748 5775 5790 5824 5983 6158 5995 5998 6025 6087 6253 6350 6293 6296 6298 6300 6384 6698 6394 6417 6422 6474 6740 6806 6745 6750 6754 6756 6890 7151 6891 6903 6918 6954 7168 7426 7169 7326 7333 7384 Columns 199 through 209 4917 4754 4919 4775 4926 Columns 210 through 220 5170 4933 5182 4937 5307 Columns 221 through 231 5557 5405 5558 5409 5561 Columns 232 through 242 5832 5623 5855 5630 5858 Columns 243 through 253 6098 5947 6105 5950 6109 Columns 254 through 264 6303 6190 6310 6203 6323 Columns 265 through 275 6482 6361 6522 6366 6667 Columns 276 through 286 6758 6726 6775 6735 6805 Columns 287 through 297 7002 6808 7006 6839 7123 Columns 298 through 308 7399 7153 7405 7158 7416 Columns 309 through 319 17 7666 7428 7685 7521 7686 7557 7702 7578 7583 7584 7644 7741 8049 7817 7835 7926 7928 8144 8323 8204 8212 8241 8255 8430 8630 8435 8453 8492 8558 8701 8980 8704 8706 8746 8776 9097 9272 9131 9133 9165 9205 9302 9397 9314 9318 9321 9339 9451 9647 9505 9530 9536 9584 9709 9887 9726 9729 9734 9760 9968 10229 9988 9990 10103 10133 10250 10554 10263 10299 10357 10418 Columns 320 through 330 7960 7715 7989 7718 8047 Columns 331 through 341 8277 8058 8286 8121 8302 Columns 342 through 352 8567 8344 8568 8354 8621 Columns 353 through 363 8789 8634 8872 8640 8938 Columns 364 through 374 9215 9075 9235 9085 9260 Columns 375 through 385 9351 9279 9367 9295 9388 Columns 386 through 396 9624 9416 9639 9439 9643 Columns 397 through 407 9791 9657 9822 9670 9854 Columns 408 through 418 10184 9944 10208 9963 10209 Columns 419 through 429 10439 10232 10490 10241 10492 Columns 430 through 440 18 10734 10567 10735 10624 10763 10636 10776 10650 10653 10700 10725 10944 10961 11001 11069 11088 Columns 441 through 448 10794 10862 11102 Nombre de variables selectionnees 448 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Temps ecoule en secondes 13.3208 ***************************************************************************************** ***************************************************************************************** 5.3 Illustration du pré-traitement par régressions logistiques pénalisées univariées : utilisation des jeux 7 et 11 Utilisation du jeu 7 ***************************************************************************************** ***************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : PRE−TRAITEMENT A L'AIDE DE REGRESSIONS LOGISTIQUES PENALISEES UNIVARIEES Nom du fichier traite microobesFULLt0t6.xls On a transpose le tableau de donnees Niveau de confiance (en pourcentage) : 90 Nombre de variables explicatives 11113 Nombre de variables reponses 1 Nombre d'observations 78 Nombre de modalites de la variable reponse 2 Il n'existe pas de variables explicatives qualitatives −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Resultats des regressions logistiques penalisees univariees −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont) Columns 1 through 14 19 0.5670 0.4866 0.4314 0.4982 0.4981 −0.4932 0.4682 −0.4159 0.3998 −0.4282 −0.4334 0.4601 0.4769 0.7665 0.5205 0.4055 −0.4529 0.4206 −0.4367 0.5324 0.4074 0.4053 −0.5055 0.4163 −0.5263 0.4101 −0.4565 −0.4667 1.1652 −0.4661 0.5381 0.7347 0.6937 0.4273 Columns 15 through 28 0.4943 −0.5350 −0.4500 −0.4113 0.3962 −0.5173 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.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.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.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.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.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.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 0.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.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.4533 0.7395 −0.4143 0.4374 0.4512 −0.4893 Columns 155 through 168 20 0.5386 −0.4168 −0.4014 −0.4384 0.4853 0.4779 0.5155 −0.4211 0.4974 −0.4301 0.4879 0.6706 0.4576 0.4231 0.5311 −0.4121 0.6974 −0.4073 0.6754 0.6241 0.5153 0.5437 0.4633 −0.4650 0.6584 0.5471 0.6742 0.5917 0.4615 0.5019 −0.4600 −0.4679 −0.4301 0.7395 Columns 169 through 182 0.4539 0.8311 −0.4920 0.5719 0.6194 −0.4950 0.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.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.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.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.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.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.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.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.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.4690 0.5442 −0.5589 0.6807 −0.4365 −0.5428 Columns 309 through 322 21 0.4944 0.4619 0.6259 −0.4465 −0.4589 −0.4515 0.4725 0.4782 0.5750 0.6031 0.4564 0.4372 0.5602 −0.4057 0.4414 0.7323 0.7291 0.8629 Columns 323 through 336 0.6071 1.2531 −0.4534 −0.5435 0.5052 0.5227 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.5813 0.4665 0.7211 0.7103 0.7502 0.5086 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : Columns 1 through 12 181 10 220 67 229 110 259 112 263 129 151 153 316 500 343 508 383 384 401 632 797 641 804 651 665 676 862 1069 863 1096 872 884 915 1168 1418 1190 1437 1261 1285 1346 1492 1777 1563 1791 1619 1629 1655 1949 2192 1968 2199 1986 2007 2048 2238 2669 2245 2699 2249 2314 2372 Columns 13 through 24 430 278 493 291 494 Columns 25 through 36 713 516 720 593 752 Columns 37 through 48 957 851 982 858 1063 Columns 49 through 60 1379 1101 1400 1166 1404 Columns 61 through 72 1661 1465 1688 1476 1716 Columns 73 through 84 2109 1812 2122 1895 2189 Columns 85 through 96 2580 2204 2603 2205 2637 22 Columns 97 through 108 3022 2715 3083 2718 3153 2756 3254 2828 3274 2881 2888 2894 3332 3682 3333 3724 3359 3552 3568 3802 4285 3878 4286 3976 3978 4058 4374 4651 4408 4662 4425 4443 4491 4687 4912 4716 4915 4719 4724 4754 4926 5182 4932 5307 4933 4937 4965 5409 5594 5497 5775 5518 5527 5538 5855 6105 5858 6109 5947 5950 5983 6296 6384 6300 6394 6303 6310 6323 6474 6750 6482 6754 6522 6667 6698 6775 6954 6805 7002 6806 6839 6890 Columns 109 through 120 3589 3281 3616 3315 3625 Columns 121 through 132 4063 3777 4133 3788 4248 Columns 133 through 144 4497 4320 4521 4336 4603 Columns 145 through 156 4775 4667 4805 4673 4818 Columns 157 through 168 5065 4917 5143 4919 5170 Columns 169 through 180 5547 5316 5557 5405 5558 Columns 181 through 192 5995 5790 6025 5824 6087 Columns 193 through 204 6350 6253 6361 6293 6366 Columns 205 through 216 6735 6417 6740 6422 6745 Columns 217 through 228 6891 6756 6903 6758 6918 23 Columns 229 through 240 7326 7006 7333 7123 7384 7151 7399 7153 7416 7158 7168 7169 7521 7715 7557 7741 7578 7584 7644 7989 8323 8047 8344 8121 8144 8204 8558 8706 8567 8746 8568 8621 8630 8938 9302 9097 9314 9144 9165 9205 9339 9530 9351 9536 9367 9388 9397 9639 9734 9643 9760 9647 9657 9670 9854 10241 9887 10299 9963 9990 10133 10439 10650 10490 10653 10492 10554 10567 10763 11088 10776 11102 10794 10862 10944 Columns 241 through 252 7666 7426 7685 7428 7686 Columns 253 through 264 8255 7928 8277 7960 8286 Columns 265 through 276 8634 8435 8640 8492 8701 Columns 277 through 288 9215 8776 9260 8789 9295 Columns 289 through 300 9416 9318 9451 9321 9505 Columns 301 through 312 9709 9584 9726 9624 9729 Columns 313 through 324 10184 9791 10209 9822 10229 Columns 325 through 336 10624 10357 10636 10418 10638 Columns 337 through 348 10961 10700 11001 10725 11069 Nombre de variables selectionnees 348 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Temps ecoule en secondes 24 383.8629 ************************************************************************************* ************************************************************************************* Utilisation du jeu 11 ***************************************************************************************** ***************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : PRE−TRAITEMENT A L'AIDE DE REGRESSIONS LOGISTIQUES PENALISEES UNIVARIEES Nom du fichier traite crohnbrutSC.txt On n'a pas transpose le tableau de donnees Niveau de confiance (en pourcentage) : 90 Nombre de variables explicatives 2007 Nombre de variables reponses 1 Nombre d'observations 24 Nombre de modalites de la variable reponse 2 Il n'existe pas de variables explicatives qualitatives −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Resultats des regressions logistiques penalisees univariees −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont) 1.0e−05 * Columns 1 through 14 −0.0168 −0.0423 −0.0079 −0.0249 −0.0776 0.0191 −0.0623 −0.0885 −0.0597 0.0240 −0.0514 −0.1204 −0.0291 0.0074 −0.0935 −0.0792 −0.0541 −0.0688 Columns 15 through 28 −0.0342 −0.0149 −0.0055 −0.1055 −0.0381 −0.0497 0.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.4063 −0.0083 −0.0949 −0.0193 0.0840 −0.0447 Columns 43 through 56 25 0.0559 0.0070 0.0124 −0.0422 0.0342 −0.1730 0.0780 0.0083 −0.1188 −0.3922 0.0332 −0.1102 0.1030 −0.0547 0.0219 0.0036 0.0067 0.0114 0.0220 0.0284 Columns 57 through 70 0.1084 −0.0251 −0.0172 0.0444 0.0459 −0.0598 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.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.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 31 29 2 32 4 34 7 35 8 37 9 40 10 42 12 45 14 46 15 20 21 25 26 51 76 52 78 53 79 54 80 55 82 56 83 57 58 59 61 63 85 87 91 92 93 94 99 100 101 103 118 119 121 122 126 127 128 130 131 104 105 108 114 159 164 167 171 Columns 25 through 48 48 67 64 49 68 50 72 Columns 49 through 72 117 Columns 73 through 96 174 133 135 138 142 145 146 150 151 154 158 176 179 182 184 187 191 194 195 204 Columns 97 through 102 222 232 241 263 532 533 Nombre de variables selectionnees 102 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Temps ecoule en secondes 1.1032 26 ***************************************************************************************** ***************************************************************************************** 5.4 Illustration de la régression PLS avec sélection 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 régression logistique PLS et de la régression logistique sur composantes PLS sans sélection de variables Illustration de la régression logistique PLS : utilisation des jeux 2,3,4,5 et 6 Utilisation du jeu 2 *********************************************************************** 27 *********************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS Nom du fichier traite CHD.txt Nombre de variables explicatives 1 Nombre de modalites de la variable reponse 2 Nombre d'observations 100 Il n'existe pas de donnees manquantes On n'a pas transpose le tableau de donnees Il n'existe pas de variables explicatives qualitatives *********************************************************************** PARTIE I : Calcul des composantes −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− TT : composantes PLS 2.0800 1.8240 1.7387 1.6534 1.6534 1.5681 1.5681 1.3975 1.3975 1.3121 1.2268 1.2268 1.2268 1.2268 1.2268 1.2268 1.0562 1.0562 0.9709 0.9709 0.8856 0.8856 0.8856 0.8856 0.8856 0.8003 0.8003 0.7149 0.7149 0.7149 0.6296 0.6296 0.6296 0.5443 28 0.5443 0.4590 0.4590 0.3737 0.3737 0.2884 0.2884 0.2030 0.2030 0.2030 0.2030 0.1177 0.1177 0.1177 0.0324 0.0324 0.0324 0.0324 −0.0529 −0.0529 −0.1382 −0.1382 −0.2235 −0.2235 −0.2235 −0.3088 −0.3088 −0.3088 −0.3942 −0.3942 −0.3942 −0.4795 −0.4795 −0.5648 −0.6501 −0.6501 −0.7354 −0.7354 −0.8207 −0.9060 −0.9060 −0.9060 −0.9914 −0.9914 −0.9914 −1.0767 −1.0767 −1.0767 −1.0767 −1.0767 −1.0767 −1.1620 −1.1620 −1.1620 −1.2473 29 −1.2473 −1.3326 −1.3326 −1.4179 −1.5032 −1.5032 −1.5886 −1.6739 −1.6739 −1.7592 −2.1004 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− PP : coefficients de regression de E0 sur TT −1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− CC : coefficients de regression de F0 sur TT −0.2557 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WW : vecteurs propres −1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WWS : W tilde −1 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− BETA : coefficients de regression de Y sur X pour les donnees centrees reduites 0.2557 *********************************************************************************************** PARTIE II : Resultats pour le nombre de composantes choisi a priori *********************************************************************************************** II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 3 Deviance 107.3531 Constante(s) SE 5.3081 1.1335 Coefficients de regression logistique estimes −0.1109 SE 0.0241 30 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 1.0000 0.9565 0.0435 1.0000 1.0000 0.9403 0.0597 1.0000 1.0000 0.9338 0.0662 1.0000 1.0000 0.9266 0.0734 1.0000 2.0000 0.9266 0.0734 1.0000 1.0000 0.9187 0.0813 1.0000 1.0000 0.9187 0.0813 1.0000 1.0000 0.9005 0.0995 1.0000 1.0000 0.9005 0.0995 1.0000 1.0000 0.8901 0.1099 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 2.0000 0.8788 0.1212 1.0000 1.0000 0.8531 0.1469 1.0000 1.0000 0.8531 0.1469 1.0000 1.0000 0.8387 0.1613 1.0000 1.0000 0.8387 0.1613 1.0000 1.0000 0.8231 0.1769 1.0000 1.0000 0.8231 0.1769 1.0000 2.0000 0.8231 0.1769 1.0000 1.0000 0.8231 0.1769 1.0000 1.0000 0.8231 0.1769 1.0000 1.0000 0.8064 0.1936 1.0000 1.0000 0.8064 0.1936 1.0000 1.0000 0.7885 0.2115 1.0000 2.0000 0.7885 0.2115 1.0000 1.0000 0.7885 0.2115 1.0000 1.0000 0.7694 0.2306 1.0000 2.0000 0.7694 0.2306 1.0000 1.0000 0.7694 0.2306 1.0000 1.0000 0.7492 0.2508 1.0000 1.0000 0.7492 0.2508 1.0000 1.0000 0.7277 0.2723 1.0000 2.0000 0.7277 0.2723 1.0000 1.0000 0.7052 0.2948 1.0000 2.0000 0.7052 0.2948 1.0000 1.0000 0.6817 0.3183 1.0000 1.0000 0.6817 0.3183 1.0000 1.0000 0.6571 0.3429 1.0000 1.0000 0.6571 0.3429 1.0000 1.0000 0.6571 0.3429 1.0000 2.0000 0.6571 0.3429 1.0000 1.0000 0.6317 0.3683 1.0000 1.0000 0.6317 0.3683 1.0000 31 2.0000 1.0000 1.0000 2.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 0.6317 0.6056 0.6056 0.6056 0.6056 0.5788 0.5788 0.5516 0.5516 0.5240 0.5240 0.5240 0.4963 0.4963 0.4963 0.4686 0.4686 0.4686 0.4411 0.4411 0.4140 0.3874 0.3874 0.3614 0.3614 0.3362 0.3119 0.3119 0.3119 0.2886 0.2886 0.2886 0.2664 0.2664 0.2664 0.2664 0.2664 0.2664 0.2453 0.2453 0.2453 0.2254 0.2254 0.2066 0.2066 0.1890 0.1726 0.1726 0.1573 0.1432 0.1432 0.1301 0.0876 0.3683 0.3944 0.3944 0.3944 0.3944 0.4212 0.4212 0.4484 0.4484 0.4760 0.4760 0.4760 0.5037 0.5037 0.5037 0.5314 0.5314 0.5314 0.5589 0.5589 0.5860 0.6126 0.6126 0.6386 0.6386 0.6638 0.6881 0.6881 0.6881 0.7114 0.7114 0.7114 0.7336 0.7336 0.7336 0.7336 0.7336 0.7336 0.7547 0.7547 0.7547 0.7746 0.7746 0.7934 0.7934 0.8110 0.8274 0.8274 0.8427 0.8568 0.8568 0.8699 0.9124 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 Le pourcentage de bien classes est : 32 74 Qualite de la prevision du modele en utilisant la regression logistique usuelle : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 45 12 57 14 29 43 59 41 100 *********************************************************************************************** II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 3 Deviance 107.3531 Constante(s) SE 0.3866 0.2397 Coefficients de regression logistique estimes 1.2998 SE 0.2820 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Coefficients de regression logistique PLS en se ramenant aux variables d'origine −1.2998 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 1.0000 0.9565 0.0435 1.0000 1.0000 0.9403 0.0597 1.0000 1.0000 0.9338 0.0662 1.0000 1.0000 0.9266 0.0734 1.0000 2.0000 0.9266 0.0734 1.0000 1.0000 0.9187 0.0813 1.0000 1.0000 0.9187 0.0813 1.0000 1.0000 0.9005 0.0995 1.0000 1.0000 0.9005 0.0995 1.0000 33 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 2.0000 1.0000 1.0000 0.8901 0.8788 0.8788 0.8788 0.8788 0.8788 0.8788 0.8531 0.8531 0.8387 0.8387 0.8231 0.8231 0.8231 0.8231 0.8231 0.8064 0.8064 0.7885 0.7885 0.7885 0.7694 0.7694 0.7694 0.7492 0.7492 0.7277 0.7277 0.7052 0.7052 0.6817 0.6817 0.6571 0.6571 0.6571 0.6571 0.6317 0.6317 0.6317 0.6056 0.6056 0.6056 0.6056 0.5788 0.5788 0.5516 0.5516 0.5240 0.5240 0.5240 0.4963 0.4963 0.4963 0.4686 0.4686 0.1099 0.1212 0.1212 0.1212 0.1212 0.1212 0.1212 0.1469 0.1469 0.1613 0.1613 0.1769 0.1769 0.1769 0.1769 0.1769 0.1936 0.1936 0.2115 0.2115 0.2115 0.2306 0.2306 0.2306 0.2508 0.2508 0.2723 0.2723 0.2948 0.2948 0.3183 0.3183 0.3429 0.3429 0.3429 0.3429 0.3683 0.3683 0.3683 0.3944 0.3944 0.3944 0.3944 0.4212 0.4212 0.4484 0.4484 0.4760 0.4760 0.4760 0.5037 0.5037 0.5037 0.5314 0.5314 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 34 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 0.4686 0.4411 0.4411 0.4140 0.3874 0.3874 0.3614 0.3614 0.3362 0.3119 0.3119 0.3119 0.2886 0.2886 0.2886 0.2664 0.2664 0.2664 0.2664 0.2664 0.2664 0.2453 0.2453 0.2453 0.2254 0.2254 0.2066 0.2066 0.1890 0.1726 0.1726 0.1573 0.1432 0.1432 0.1301 0.0876 0.5314 0.5589 0.5589 0.5860 0.6126 0.6126 0.6386 0.6386 0.6638 0.6881 0.6881 0.6881 0.7114 0.7114 0.7114 0.7336 0.7336 0.7336 0.7336 0.7336 0.7336 0.7547 0.7547 0.7547 0.7746 0.7746 0.7934 0.7934 0.8110 0.8274 0.8274 0.8427 0.8568 0.8568 0.8699 0.9124 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 Le pourcentage de bien classes est : 74 Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 45 12 57 14 29 43 59 41 100 *********************************************************************************************** 35 Temps ecoule en secondes : 0.3583 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 3 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS Nom du fichier traite dvirt.txt Nombre de variables explicatives 5 Nombre de modalites de la variable reponse 2 Nombre d'observations 64 Il n'existe pas de donnees manquantes On n'a pas transpose le tableau de donnees Il n'existe pas de variables explicatives qualitatives *********************************************************************************************** PARTIE I : Calcul des composantes −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− TT : composantes PLS −1.2124 0.3394 −0.8861 −0.1799 1.0066 −0.7465 0.1799 −1.0066 −0.9149 1.2124 −0.3394 −0.7754 −1.2124 0.3394 −0.9967 −0.1799 1.0066 −0.8572 0.1799 −1.0066 −1.0256 1.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.0635 0.5295 −1.2070 0.0760 −0.5295 1.2070 −0.0760 0.5031 1.8742 0.0635 0.8628 −0.1389 −0.1049 1.8954 0.5282 0.0346 −0.5295 1.2070 −0.1867 0.5031 1.8742 −0.0472 0.8628 −0.1389 −0.2156 1.8954 0.5282 −0.0760 −1.2124 0.3394 0.8861 36 −0.1799 0.1799 1.2124 −1.2124 −0.1799 0.1799 1.2124 −1.2124 −0.1799 0.1799 1.2124 −1.2124 −0.1799 0.1799 1.2124 −1.8954 −0.8628 −0.5031 0.5295 −1.8954 −0.8628 −0.5031 0.5295 −0.5295 0.5031 0.8628 1.8954 −0.5295 0.5031 0.8628 1.8954 −1.2124 −0.1799 0.1799 1.2124 −1.2124 −0.1799 0.1799 1.2124 1.0066 −1.0066 −0.3394 0.3394 1.0066 −1.0066 −0.3394 0.3394 1.0066 −1.0066 −0.3394 0.3394 1.0066 −1.0066 −0.3394 −0.5282 0.1389 −1.8742 −1.2070 −0.5282 0.1389 −1.8742 −1.2070 1.2070 1.8742 −0.1389 0.5282 1.2070 1.8742 −0.1389 0.5282 0.3394 1.0066 −1.0066 −0.3394 0.3394 1.0066 −1.0066 −0.3394 1.0256 0.8572 0.9967 0.7754 0.9149 0.7465 0.8861 −0.8861 −0.7465 −0.9149 −0.7754 −0.9967 −0.8572 −1.0256 −0.8861 0.0760 0.2156 0.0472 0.1867 −0.0346 0.1049 −0.0635 0.0760 −0.0760 0.0635 −0.1049 0.0346 −0.1867 −0.0472 −0.2156 −0.0760 0.8861 1.0256 0.8572 0.9967 0.7754 0.9149 0.7465 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.1360 0.7017 −0.7099 −0.0355 0.5204 0.3519 0.1715 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− CC : coefficients de regression de F0 sur TT −0.1809 −0.0015 0.0000 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WW : vecteurs propres 0.3442 0.3647 0.8373 37 −0.3442 0 0.7017 0.5204 −0.3647 −0.0000 −0.8263 0.2265 0.0558 −0.0558 0.0000 0.5410 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WWS : W tilde 0.3442 0.4373 0.4082 −0.3442 −0.4373 0.4849 0 −0.0000 −0.0558 0.7017 −0.6783 −0.0146 0.5204 0.3362 0.0703 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− BETA : coefficients de regression de Y sur X pour les donnees centrees reduites −0.0623 −0.0629 −0.0629 0.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.2968 0.0000 0.5761 0.4399 SE 0.2751 0.2751 0.2736 0.2779 0.2766 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. 38 La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 0.3598 0.6402 2.0000 2.0000 0.5753 0.4247 1.0000 2.0000 0.6402 0.3598 1.0000 1.0000 0.8109 0.1891 1.0000 1.0000 0.3598 0.6402 2.0000 1.0000 0.5753 0.4247 1.0000 1.0000 0.6402 0.3598 1.0000 2.0000 0.8109 0.1891 1.0000 1.0000 0.2369 0.7631 2.0000 2.0000 0.4280 0.5720 2.0000 1.0000 0.4956 0.5044 2.0000 1.0000 0.7032 0.2968 1.0000 2.0000 0.2369 0.7631 2.0000 1.0000 0.4280 0.5720 2.0000 2.0000 0.4956 0.5044 2.0000 1.0000 0.7032 0.2968 1.0000 2.0000 0.5044 0.4956 1.0000 1.0000 0.7104 0.2896 1.0000 1.0000 0.7631 0.2369 1.0000 1.0000 0.8859 0.1141 1.0000 1.0000 0.5044 0.4956 1.0000 1.0000 0.7104 0.2896 1.0000 1.0000 0.7631 0.2369 1.0000 1.0000 0.8859 0.1141 1.0000 2.0000 0.3598 0.6402 2.0000 2.0000 0.5753 0.4247 1.0000 1.0000 0.6402 0.3598 1.0000 1.0000 0.8109 0.1891 1.0000 2.0000 0.3598 0.6402 2.0000 2.0000 0.5753 0.4247 1.0000 1.0000 0.6402 0.3598 1.0000 2.0000 0.8109 0.1891 1.0000 2.0000 0.3598 0.6402 2.0000 1.0000 0.5753 0.4247 1.0000 2.0000 0.6402 0.3598 1.0000 1.0000 0.8109 0.1891 1.0000 1.0000 0.3598 0.6402 2.0000 2.0000 0.5753 0.4247 1.0000 1.0000 0.6402 0.3598 1.0000 2.0000 0.8109 0.1891 1.0000 1.0000 0.2369 0.7631 2.0000 2.0000 0.4280 0.5720 2.0000 2.0000 0.4956 0.5044 2.0000 1.0000 0.7032 0.2968 1.0000 2.0000 0.2369 0.7631 2.0000 1.0000 0.4280 0.5720 2.0000 2.0000 0.4956 0.5044 2.0000 1.0000 0.7032 0.2968 1.0000 2.0000 0.5044 0.4956 1.0000 1.0000 0.7104 0.2896 1.0000 1.0000 0.7631 0.2369 1.0000 1.0000 0.8859 0.1141 1.0000 39 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 0.5044 0.7104 0.7631 0.8859 0.3598 0.5753 0.6402 0.8109 0.3598 0.5753 0.6402 0.8109 0.4956 0.2896 0.2369 0.1141 0.6402 0.4247 0.3598 0.1891 0.6402 0.4247 0.3598 0.1891 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 Le pourcentage de bien classes est : 68.7500 Qualite de la prevision du modele en utilisant la regression logistique usuelle : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 31 7 38 13 13 26 44 20 64 *********************************************************************************************** II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 3 Deviance 77.4036 Constante(s) SE 0.4399 0.2766 Coefficients de regression logistique estimes 0.8441 0.0175 −0.0005 SE 0.3060 0.2711 0.4247 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 40 Coefficients de regression logistique PLS en se ramenant aux variables d'origine 0.2980 −0.2984 0.0000 0.5804 0.4451 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 0.3596 0.6404 2.0000 2.0000 0.5759 0.4241 1.0000 2.0000 0.6398 0.3602 1.0000 1.0000 0.8112 0.1888 1.0000 1.0000 0.3596 0.6404 2.0000 1.0000 0.5759 0.4241 1.0000 1.0000 0.6398 0.3602 1.0000 2.0000 0.8112 0.1888 1.0000 1.0000 0.2370 0.7630 2.0000 2.0000 0.4290 0.5710 2.0000 1.0000 0.4956 0.5044 2.0000 1.0000 0.7038 0.2962 1.0000 2.0000 0.2370 0.7630 2.0000 1.0000 0.4290 0.5710 2.0000 2.0000 0.4956 0.5044 2.0000 1.0000 0.7038 0.2962 1.0000 2.0000 0.5035 0.4965 1.0000 1.0000 0.7104 0.2896 1.0000 1.0000 0.7624 0.2376 1.0000 1.0000 0.8858 0.1142 1.0000 1.0000 0.5036 0.4964 1.0000 1.0000 0.7104 0.2896 1.0000 1.0000 0.7624 0.2376 1.0000 1.0000 0.8858 0.1142 1.0000 2.0000 0.3594 0.6406 2.0000 2.0000 0.5757 0.4243 1.0000 1.0000 0.6396 0.3604 1.0000 1.0000 0.8110 0.1890 1.0000 2.0000 0.3594 0.6406 2.0000 2.0000 0.5757 0.4243 1.0000 1.0000 0.6396 0.3604 1.0000 2.0000 0.8111 0.1889 1.0000 2.0000 0.3596 0.6404 2.0000 1.0000 0.5759 0.4241 1.0000 2.0000 0.6398 0.3602 1.0000 1.0000 0.8112 0.1888 1.0000 1.0000 0.3596 0.6404 2.0000 2.0000 0.5759 0.4241 1.0000 1.0000 0.6398 0.3602 1.0000 2.0000 0.8112 0.1888 1.0000 1.0000 0.2370 0.7630 2.0000 41 2.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 0.4290 0.4956 0.7038 0.2370 0.4290 0.4956 0.7038 0.5035 0.7104 0.7624 0.8858 0.5036 0.7104 0.7624 0.8858 0.3594 0.5757 0.6396 0.8110 0.3594 0.5757 0.6396 0.8111 0.5710 0.5044 0.2962 0.7630 0.5710 0.5044 0.2962 0.4965 0.2896 0.2376 0.1142 0.4964 0.2896 0.2376 0.1142 0.6406 0.4243 0.3604 0.1890 0.6406 0.4243 0.3604 0.1889 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 Le pourcentage de bien classes est : 68.7500 Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 31 7 38 13 13 26 44 20 64 *********************************************************************************************** Temps ecoule en secondes : 2.0155 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 4 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE NOMINALE PLS 42 Nom du fichier traite risque2.xls Nombre de variables explicatives 5 Nombre de modalites de la variable reponse 2 Nombre d'observations 189 Il n'existe pas de donnees manquantes On n'a pas transpose le tableau de donnees Il existe des variables explicatives qualitatives Les eventuelles variables qualitatives seront placees à droite du tableau *********************************************************************************************** PARTIE I : Calcul des composantes −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− TT : composantes PLS 0.1281 −1.0647 −0.9877 1.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.4287 0.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.6091 0.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.4961 1.6212 −0.1237 0.0751 0.3967 −1.6544 0.0337 −1.4349 −2.0073 −0.8339 −1.4349 −2.0073 −0.8339 −0.4372 −0.1909 0.3956 0.2875 −3.0315 1.3322 1.1720 0.4742 −0.1593 −0.6967 −2.0735 0.3584 1.3867 −0.2355 0.1797 43 0.4872 0.3905 3.3156 0.7757 0.8196 1.6829 −0.5247 0.7229 −1.1741 −1.1741 1.9055 −0.8249 0.3743 −1.6710 0.0956 −0.5776 0.1048 0.4170 −1.2235 −1.5965 −1.1702 0.6054 −1.4195 −1.3002 −1.3002 −0.3380 −0.9144 0.8509 −0.2046 0.3531 −0.3465 4.0608 0.4175 0.2718 −0.3172 1.0709 −0.6571 −1.7689 −0.2896 1.1448 0.8204 1.0124 −0.2767 1.5968 0.3535 1.1745 −0.4027 −0.8569 −0.6948 −1.2768 −0.7371 0.1901 2.3536 0.2129 −0.3751 0.3608 0.2983 0.4796 −0.5353 −1.7439 0.9312 −2.1883 1.0722 0.4748 0.4748 −1.0996 0.8334 −0.2058 0.1221 0.2684 0.5412 0.6747 −0.8007 0.6433 0.7729 0.4636 0.3877 0.4472 0.8117 0.8117 −0.1485 0.2780 0.4153 0.4115 0.8909 −0.2551 −0.1707 0.6270 −2.1078 0.4734 −0.2967 0.1013 −1.6621 1.1019 −0.4771 0.3065 −3.5840 0.6978 1.2840 0.3914 0.4541 −0.0933 0.7156 0.4852 0.8229 0.5807 0.6129 0.3119 0.3243 0.5352 −1.0493 0.7328 −0.3548 1.3217 −1.4049 −1.5827 −0.2618 −0.3936 −0.0365 −0.0365 0.0025 −0.1641 −0.1838 0.7024 −0.1682 0.3777 0.0451 0.7753 0.0137 −0.3090 0.3159 0.9911 0.2642 −0.2781 −0.2781 −0.1640 0.6909 0.6905 0.7003 −0.7440 0.0028 −2.1807 −0.6378 −0.9975 0.2334 0.5117 0.1957 −0.6305 −0.7571 −1.6042 −0.0024 −0.1324 −0.1107 −0.4574 −0.2832 1.0633 1.4408 0.0132 0.4300 −0.2886 −0.0683 0.1701 1.3243 −0.2205 0.4503 44 0.5639 2.3107 −0.4600 −0.2896 1.0442 1.4897 0.2476 0.2476 1.1764 0.0317 1.1150 −0.9144 −0.0535 −1.0210 2.0230 0.5902 1.0192 −0.0201 0.4921 2.7210 −0.9662 1.1523 0.9633 0.8721 0.2147 −0.4601 −0.1044 0.5767 −1.7229 0.8160 0.4284 −0.1068 0.0814 0.8112 1.0883 2.3764 −0.3854 0.1724 2.1271 −0.3388 1.1523 1.5243 −0.9463 −1.4152 0.2793 −1.0791 −0.4863 −0.3986 1.0654 0.3713 −1.0654 −0.7119 −0.9023 −0.5303 0.8538 0.1923 2.0348 0.0976 1.1019 0.0030 0.2156 1.0505 1.0505 −0.0365 0.0328 1.4643 0.2780 0.0946 0.6373 −0.7760 −0.3161 1.1109 0.2213 −2.1914 0.0934 0.4665 −0.3474 −0.4458 1.2459 0.0044 1.2256 0.2542 −0.2118 0.3107 0.8171 0.7135 0.2743 0.6635 −0.0999 −0.5830 0.0233 0.7485 0.0999 −1.1211 0.1423 −0.3474 −1.9369 0.1602 −0.0635 0.5398 −0.1001 −2.2726 0.5240 0.8336 −0.2236 0.4241 0.2720 0.7021 0.0641 0.4332 −0.7575 −1.4280 0.7862 −0.7571 0.5499 0.3512 −0.5076 −0.5076 0.6539 0.1864 −0.8946 0.6909 0.0614 0.0864 −0.8548 0.9154 −0.3628 −0.9860 −2.5087 0.0735 −0.4815 0.2843 1.2381 −0.6232 0.6219 −1.0070 0.9817 −0.1111 −0.4700 −0.8156 0.4179 −0.2409 0.0556 −0.2157 0.6388 0.9337 −0.2252 0.1236 2.6752 1.0863 0.2843 0.8348 0.8682 1.0774 0.6475 0.3840 −0.1159 0.4608 −0.7638 1.5565 0.0781 0.7636 −0.8361 0.8175 −1.0498 45 1.1712 0.8615 −1.3343 −0.9037 −1.0961 −0.3569 −0.5730 0.1411 0.4629 −1.0423 −0.5644 0.3301 −0.4089 −1.9588 −0.7904 −0.7210 −1.2789 −0.5350 −1.6452 −0.2767 −0.5034 −1.0721 0.4410 −0.9610 0.8117 −1.1933 −1.2508 −1.5645 −0.7652 1.0683 0.3301 0.1199 −0.2788 −1.0454 0.5131 −0.6968 1.8526 −1.9780 0.2464 −1.5509 −1.3747 −0.9802 0.6954 −1.5761 0.8306 0.3853 0.6932 −0.3133 −0.0419 0.6590 0.2818 0.6405 0.9348 −2.7036 0.3802 −2.1413 0.1899 0.7604 −0.1343 0.5143 1.0742 −1.8082 0.6978 −0.8263 −0.0024 −0.4898 0.8841 −1.5508 −1.7977 −2.2353 0.8907 0.4517 0.3140 0.3802 −0.0113 0.3892 −2.2235 0.3519 −0.4140 1.0983 0.7960 −0.6770 0.1958 0.1609 −1.3884 −0.1469 −1.5617 0.0336 0.3892 0.0341 0.7176 −0.6728 −0.1416 0.6811 0.2114 −0.3932 −1.1679 −0.2727 0.5561 0.5047 −0.3706 0.5503 0.2014 −0.4565 −0.3596 −0.1107 −0.8510 1.0873 1.1450 −0.6206 −0.8579 −0.2352 0.4426 −0.4863 0.4613 0.9195 −0.2727 −1.4289 0.3793 −1.2250 0.1628 −0.7104 −0.0824 −0.4648 0.5253 −1.0902 0.7333 −0.8193 −1.0335 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− PP : coefficients de regression de E0 sur TT 0.5729 −0.2848 0.9684 0.6883 0.0522 −0.5063 0.3778 −0.4398 −0.4621 −0.0705 −0.8751 −0.4079 −0.3893 0.2544 0.2797 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− CC : coefficients de regression de F0 sur TT −0.0981 −0.0446 0.0014 46 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WW : vecteurs propres 0.4518 −0.5409 0.9787 0.7169 0.0040 −0.1105 0.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.3198 0.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.0100 0.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.0667 0.3635 0.2205 SE 0.1778 0.2002 0.1774 0.1719 0.1728 47 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 1.0000 0.7328 0.2672 1.0000 1.0000 0.5618 0.4382 1.0000 1.0000 0.7274 0.2726 1.0000 1.0000 0.7003 0.2997 1.0000 1.0000 0.7443 0.2557 1.0000 1.0000 0.7690 0.2310 1.0000 1.0000 0.6771 0.3229 1.0000 1.0000 0.8248 0.1752 1.0000 1.0000 0.6186 0.3814 1.0000 1.0000 0.6836 0.3164 1.0000 1.0000 0.8423 0.1577 1.0000 1.0000 0.6934 0.3066 1.0000 1.0000 0.8315 0.1685 1.0000 1.0000 0.7475 0.2525 1.0000 1.0000 0.7631 0.2369 1.0000 1.0000 0.7631 0.2369 1.0000 1.0000 0.9113 0.0887 1.0000 1.0000 0.6307 0.3693 1.0000 1.0000 0.7837 0.2163 1.0000 1.0000 0.6349 0.3651 1.0000 1.0000 0.6964 0.3036 1.0000 1.0000 0.6542 0.3458 1.0000 1.0000 0.3006 0.6994 2.0000 1.0000 0.7457 0.2543 1.0000 1.0000 0.7367 0.2633 1.0000 1.0000 0.4840 0.5160 2.0000 1.0000 0.7063 0.2937 1.0000 1.0000 0.5074 0.4926 1.0000 1.0000 0.7363 0.2637 1.0000 1.0000 0.8805 0.1195 1.0000 1.0000 0.8805 0.1195 1.0000 1.0000 0.7490 0.2510 1.0000 1.0000 0.8032 0.1968 1.0000 1.0000 0.5315 0.4685 1.0000 1.0000 0.8423 0.1577 1.0000 1.0000 0.5435 0.4565 1.0000 1.0000 0.6147 0.3853 1.0000 1.0000 0.6422 0.3578 1.0000 1.0000 0.2761 0.7239 2.0000 1.0000 0.6412 0.3588 1.0000 1.0000 0.6871 0.3129 1.0000 1.0000 0.4327 0.5673 2.0000 1.0000 0.8310 0.1690 1.0000 1.0000 0.5553 0.4447 1.0000 1.0000 0.7882 0.2118 1.0000 1.0000 0.7882 0.2118 1.0000 1.0000 0.5213 0.4787 1.0000 1.0000 0.7576 0.2424 1.0000 48 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.6611 0.8508 0.6708 0.7488 0.6525 0.6898 0.7999 0.8231 0.8030 0.6331 0.8225 0.7991 0.7991 0.7496 0.7902 0.5810 0.7192 0.6260 0.7554 0.2344 0.6131 0.7597 0.7090 0.6075 0.7716 0.8910 0.6717 0.5879 0.5849 0.7519 0.6927 0.4342 0.6347 0.5614 0.7628 0.7660 0.7622 0.7968 0.7448 0.6465 0.4036 0.6546 0.7298 0.6160 0.3078 0.7422 0.6717 0.5769 0.5087 0.6137 0.6137 0.5633 0.6907 0.4819 0.7902 0.3389 0.1492 0.3292 0.2512 0.3475 0.3102 0.2001 0.1769 0.1970 0.3669 0.1775 0.2009 0.2009 0.2504 0.2098 0.4190 0.2808 0.3740 0.2446 0.7656 0.3869 0.2403 0.2910 0.3925 0.2284 0.1090 0.3283 0.4121 0.4151 0.2481 0.3073 0.5658 0.3653 0.4386 0.2372 0.2340 0.2378 0.2032 0.2552 0.3535 0.5964 0.3454 0.2702 0.3840 0.6922 0.2578 0.3283 0.4231 0.4913 0.3863 0.3863 0.4367 0.3093 0.5181 0.2098 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 49 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0.6964 0.7837 0.4992 0.6494 0.5164 0.6801 0.7330 0.3612 0.7819 0.5791 0.6142 0.5259 0.6922 0.6832 0.7173 0.6386 0.8444 0.5534 0.6341 0.6922 0.6557 0.6046 0.6014 0.4122 0.7014 0.6719 0.5154 0.7457 0.5791 0.6320 0.7977 0.8405 0.6611 0.8142 0.8314 0.7326 0.5217 0.6743 0.7813 0.7734 0.7658 0.7504 0.5664 0.6387 0.5536 0.8186 0.7711 0.8236 0.7287 0.7250 0.6710 0.6133 0.7723 0.8443 0.6381 0.3036 0.2163 0.5008 0.3506 0.4836 0.3199 0.2670 0.6388 0.2181 0.4209 0.3858 0.4741 0.3078 0.3168 0.2827 0.3614 0.1556 0.4466 0.3659 0.3078 0.3443 0.3954 0.3986 0.5878 0.2986 0.3281 0.4846 0.2543 0.4209 0.3680 0.2023 0.1595 0.3389 0.1858 0.1686 0.2674 0.4783 0.3257 0.2187 0.2266 0.2342 0.2496 0.4336 0.3613 0.4464 0.1814 0.2289 0.1764 0.2713 0.2750 0.3290 0.3867 0.2277 0.1557 0.3619 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 50 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0.8250 0.8660 0.7410 0.7874 0.8094 0.7180 0.8887 0.6927 0.7855 0.8140 0.6758 0.7510 0.6831 0.8642 0.8799 0.8163 0.7699 0.5610 0.6381 0.6721 0.7095 0.8621 0.6396 0.7884 0.4149 0.8482 0.7010 0.8332 0.8298 0.8376 0.6147 0.1750 0.1340 0.2590 0.2126 0.1906 0.2820 0.1113 0.3073 0.2145 0.1860 0.3242 0.2490 0.3169 0.1358 0.1201 0.1837 0.2301 0.4390 0.3619 0.3279 0.2905 0.1379 0.3604 0.2116 0.5851 0.1518 0.2990 0.1668 0.1702 0.1624 0.3853 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 Le pourcentage de bien classes est : 62.9630 Qualite de la prevision du modele en utilisant la regression logistique usuelle : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 118 12 130 58 1 59 176 13 189 *********************************************************************************************** II.I : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 51 3 Deviance 222.0938 Constante(s) SE 0.8582 0.1670 Coefficients de regression logistique estimes −0.5250 −0.2157 0.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.0701 0.3558 0.1898 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 1.0000 0.7281 0.2719 1.0000 1.0000 0.5456 0.4544 1.0000 1.0000 0.7358 0.2642 1.0000 1.0000 0.7081 0.2919 1.0000 1.0000 0.7529 0.2471 1.0000 1.0000 0.7636 0.2364 1.0000 1.0000 0.6844 0.3156 1.0000 1.0000 0.8222 0.1778 1.0000 1.0000 0.6249 0.3751 1.0000 1.0000 0.6918 0.3082 1.0000 1.0000 0.8408 0.1592 1.0000 1.0000 0.6830 0.3170 1.0000 1.0000 0.8297 0.1703 1.0000 1.0000 0.7417 0.2583 1.0000 1.0000 0.7720 0.2280 1.0000 1.0000 0.7720 0.2280 1.0000 1.0000 0.9138 0.0862 1.0000 1.0000 0.6367 0.3633 1.0000 1.0000 0.7790 0.2210 1.0000 1.0000 0.6417 0.3583 1.0000 1.0000 0.6877 0.3123 1.0000 1.0000 0.6618 0.3382 1.0000 52 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.2951 0.7397 0.7297 0.4848 0.7139 0.5091 0.7326 0.8823 0.8823 0.7583 0.8037 0.5337 0.8435 0.5468 0.6193 0.6492 0.2692 0.6489 0.6799 0.4297 0.8315 0.5581 0.7975 0.7975 0.5238 0.7513 0.6681 0.8500 0.6779 0.7424 0.6591 0.6985 0.7961 0.8203 0.7996 0.6207 0.8200 0.7951 0.7951 0.7430 0.7864 0.5859 0.7114 0.6115 0.7494 0.2116 0.6179 0.7566 0.7173 0.5935 0.7665 0.8931 0.6781 0.5750 0.5894 0.7049 0.2603 0.2703 0.5152 0.2861 0.4909 0.2674 0.1177 0.1177 0.2417 0.1963 0.4663 0.1565 0.4532 0.3807 0.3508 0.7308 0.3511 0.3201 0.5703 0.1685 0.4419 0.2025 0.2025 0.4762 0.2487 0.3319 0.1500 0.3221 0.2576 0.3409 0.3015 0.2039 0.1797 0.2004 0.3793 0.1800 0.2049 0.2049 0.2570 0.2136 0.4141 0.2886 0.3885 0.2506 0.7884 0.3821 0.2434 0.2827 0.4065 0.2335 0.1069 0.3219 0.4250 0.4106 2.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 53 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 0.7493 0.7004 0.4320 0.6406 0.5454 0.7580 0.7603 0.7566 0.7926 0.7535 0.6530 0.4021 0.6612 0.7223 0.6209 0.3004 0.7516 0.6781 0.5816 0.5106 0.6185 0.6185 0.5676 0.6987 0.4812 0.7864 0.7044 0.7790 0.4832 0.6569 0.5176 0.6869 0.7275 0.3572 0.7769 0.5838 0.6209 0.5273 0.6829 0.6898 0.7096 0.6450 0.8427 0.5558 0.6212 0.6998 0.6625 0.6097 0.6072 0.4108 0.7091 0.6793 0.5200 0.7397 0.5838 0.2507 0.2996 0.5680 0.3594 0.4546 0.2420 0.2397 0.2434 0.2074 0.2465 0.3470 0.5979 0.3388 0.2777 0.3791 0.6996 0.2484 0.3219 0.4184 0.4894 0.3815 0.3815 0.4324 0.3013 0.5188 0.2136 0.2956 0.2210 0.5168 0.3431 0.4824 0.3131 0.2725 0.6428 0.2231 0.4162 0.3791 0.4727 0.3171 0.3102 0.2904 0.3550 0.1573 0.4442 0.3788 0.3002 0.3375 0.3903 0.3928 0.5892 0.2909 0.3207 0.4800 0.2603 0.4162 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 54 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0.6239 0.7944 0.8394 0.6499 0.8116 0.8320 0.7253 0.5229 0.6830 0.7907 0.7687 0.7596 0.7599 0.5692 0.6288 0.5568 0.8160 0.7657 0.8216 0.7370 0.7334 0.6787 0.6189 0.7667 0.8450 0.6441 0.8256 0.8657 0.7495 0.7834 0.8063 0.7091 0.8908 0.7004 0.7808 0.8117 0.6843 0.7594 0.6761 0.8658 0.8822 0.8130 0.7648 0.5654 0.6441 0.6783 0.7180 0.8632 0.6269 0.7838 0.4124 0.8466 0.7097 0.8307 0.8280 0.3761 0.2056 0.1606 0.3501 0.1884 0.1680 0.2747 0.4771 0.3170 0.2093 0.2313 0.2404 0.2401 0.4308 0.3712 0.4432 0.1840 0.2343 0.1784 0.2630 0.2666 0.3213 0.3811 0.2333 0.1550 0.3559 0.1744 0.1343 0.2505 0.2166 0.1937 0.2909 0.1092 0.2996 0.2192 0.1883 0.3157 0.2406 0.3239 0.1342 0.1178 0.1870 0.2352 0.4346 0.3559 0.3217 0.2820 0.1368 0.3731 0.2162 0.5876 0.1534 0.2903 0.1693 0.1720 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 55 2.0000 2.0000 0.8379 0.6195 0.1621 0.3805 1.0000 1.0000 Le pourcentage de bien classes est : 62.9630 Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 118 12 130 58 1 59 176 13 189 *********************************************************************************************** Temps ecoule en secondes : 2.3122 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 5 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE ORDINALE PLS Nom du fichier traite vins bordeaux.xls Nombre de variables explicatives 4 Nombre de modalites de la variable reponse 3 Nombre d'observations 34 Il n'existe pas de donnees manquantes On n'a pas transpose le tableau de donnees Il n'existe pas de variables explicatives qualitatives *********************************************************************************************** PARTIE I : Calcul des composantes −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− TT : composantes PLS −0.9679 0.5294 0.0143 −1.8376 0.1081 −0.0064 −0.6945 −0.6003 0.0310 −2.6690 −0.4782 0.1623 56 1.3446 2.2858 −2.1602 −1.7793 −2.5684 1.1226 1.5896 0.2154 −1.7231 1.1428 −0.4439 −0.5445 −0.0875 −1.5900 0.5852 1.6957 0.5682 2.4456 −0.6587 2.9494 −0.2733 3.7610 1.2892 −1.2327 1.6182 0.2431 −1.7736 0.4602 −1.4195 −0.8929 −0.8753 0.0215 −0.8473 −0.2969 −1.8519 −0.9932 0.0418 −0.7490 0.3648 0.3070 0.7228 1.2566 1.0152 −0.7301 −0.2084 0.3801 0.5635 0.7091 0.8565 −1.0730 0.8360 −0.5983 −0.0948 −0.2574 0.3926 −0.1092 1.0833 −0.0563 0.4005 0.2308 −0.0883 −0.0966 0.0729 −0.0892 −0.0291 0.0260 0.0512 −0.0417 −0.0048 −0.0203 −0.0920 −0.0395 −0.0079 −0.0947 0.0138 0.0530 0.0566 0.0683 0.0040 0.0508 0.0484 −0.0396 −0.0190 −0.0341 0.0065 0.0216 −0.0808 0.0706 0.0796 −0.0468 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− PP : coefficients de regression de E0 sur TT 0.5562 −0.3738 4.9154 0.5381 0.3074 −2.4930 0.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.0405 0.4050 −0.7105 −0.0978 −0.3382 −0.5113 −0.0034 57 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− BETA : coefficients de regression de Y sur X pour les donnees centrees reduites −0.2479 −0.2340 −0.4358 −0.2749 −0.3327 −0.2700 −0.1765 −0.0856 0.0658 0.1474 0.2128 0.2180 *********************************************************************************************** PARTIE II : Resultats pour le nombre de composantes choisi a priori *********************************************************************************************** II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 6 Deviance 26.1580 Constante(s) SE −85.5071 35.2125 −80.5493 34.2299 Coefficients de regression logistique estimes 0.0243 0.0138 −0.0888 −0.0259 SE 0.0128 0.0085 0.1197 0.0122 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 0.0081 0.5282 0.4637 2.0000 3.0000 0.0004 0.0497 0.9499 3.0000 2.0000 0.0057 0.4417 0.5526 3.0000 3.0000 0.0001 0.0086 0.9914 3.0000 1.0000 0.4486 0.5428 0.0086 2.0000 1.0000 0.9814 0.0184 0.0001 1.0000 3.0000 0.0001 0.0118 0.9881 3.0000 3.0000 0.0000 0.0034 0.9966 3.0000 3.0000 0.0000 0.0000 1.0000 3.0000 2.0000 0.3682 0.6199 0.0119 2.0000 58 1.0000 3.0000 3.0000 1.0000 2.0000 2.0000 2.0000 3.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 3.0000 1.0000 1.0000 3.0000 1.0000 3.0000 3.0000 0.9578 0.0451 0.0006 0.6349 0.0217 0.0438 0.1372 0.0000 0.1959 0.9851 0.7109 0.9993 0.0556 0.9987 0.1740 0.9997 0.7161 0.0004 0.9569 0.1414 0.0005 0.3813 0.0023 0.0029 0.0418 0.8253 0.0809 0.3611 0.7374 0.8232 0.8204 0.0024 0.7761 0.0148 0.2863 0.0007 0.8378 0.0013 0.7937 0.0003 0.2811 0.0552 0.0428 0.8176 0.0687 0.6075 0.2467 0.2899 0.0003 0.1296 0.9185 0.0040 0.2410 0.1330 0.0423 0.9976 0.0280 0.0001 0.0029 0.0000 0.1066 0.0000 0.0323 0.0000 0.0028 0.9443 0.0003 0.0409 0.9308 0.0113 0.7510 0.7072 1.0000 2.0000 3.0000 1.0000 2.0000 2.0000 2.0000 3.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 3.0000 1.0000 2.0000 3.0000 2.0000 3.0000 3.0000 Le pourcentage de bien classes est : 79.4118 Qualite de la prevision du modele en utilisant la regression logistique usuelle : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 3 −−−−−−−−−−−−−−−−−−−−−−−− 8 3 0 11 2 8 1 11 0 1 11 12 10 12 12 34 *********************************************************************************************** II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 6 Deviance 26.5794 Constante(s) SE −2.6944 0.9516 59 2.3497 0.9782 Coefficients de regression logistique estimes 3.1702 1.4302 10.3022 SE 0.9231 0.8970 10.5007 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Coefficients de regression logistique PLS en se ramenant aux variables d'origine 2.9923 2.2286 −0.7400 −1.8381 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 0.0077 0.5385 0.4538 2.0000 3.0000 0.0002 0.0325 0.9673 3.0000 2.0000 0.0043 0.3991 0.5966 3.0000 3.0000 0.0000 0.0059 0.9941 3.0000 1.0000 0.3560 0.6325 0.0115 2.0000 1.0000 0.9731 0.0267 0.0002 1.0000 3.0000 0.0000 0.0069 0.9930 3.0000 3.0000 0.0001 0.0095 0.9904 3.0000 3.0000 0.0000 0.0002 0.9998 3.0000 2.0000 0.4285 0.5630 0.0085 2.0000 1.0000 0.9494 0.0502 0.0003 1.0000 3.0000 0.0290 0.7933 0.1777 2.0000 3.0000 0.0005 0.0661 0.9334 3.0000 1.0000 0.7611 0.2369 0.0020 1.0000 2.0000 0.0177 0.7188 0.2635 2.0000 2.0000 0.0461 0.8362 0.1178 2.0000 2.0000 0.1678 0.8012 0.0310 2.0000 3.0000 0.0001 0.0089 0.9911 3.0000 2.0000 0.2700 0.7129 0.0171 2.0000 1.0000 0.9775 0.0224 0.0001 1.0000 2.0000 0.6216 0.3745 0.0039 1.0000 1.0000 0.9989 0.0011 0.0000 1.0000 2.0000 0.0288 0.7928 0.1784 2.0000 1.0000 0.9965 0.0035 0.0000 1.0000 2.0000 0.1340 0.8260 0.0400 2.0000 1.0000 0.9997 0.0003 0.0000 1.0000 2.0000 0.7429 0.2548 0.0022 1.0000 3.0000 0.0007 0.0923 0.9070 3.0000 1.0000 0.9554 0.0443 0.0003 1.0000 60 1.0000 3.0000 1.0000 3.0000 3.0000 0.1350 0.0005 0.3568 0.0030 0.0034 0.8253 0.0715 0.6317 0.3163 0.3434 0.0397 0.9280 0.0115 0.6807 0.6532 2.0000 3.0000 2.0000 3.0000 3.0000 Le pourcentage de bien classes est : 79.4118 Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 3 −−−−−−−−−−−−−−−−−−−−−−−− 8 3 0 11 2 8 1 11 0 1 11 12 10 12 12 34 *********************************************************************************************** Choix du nombre de composantes significatives par le test du Q2 au sens du khi2 *********************************************************************************************** La premiere colonne donne la valeur du Q2 au sens du khi2 pour chaque composante La deuxieme colonne indique si la composante est significative −0.1950 0 0.2640 1.0000 0.1084 1.0000 Nombre de composantes PLS significatives 2 *********************************************************************************************** Temps ecoule en secondes : 2.5725 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 6 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE ORDINALE PLS Nom du fichier traite vins bordeaux DM.xls Nombre de variables explicatives 4 61 Nombre de modalites de la variable reponse 3 Nombre d'observations 33 Il existe des donnees manquantes On n'a pas transpose le tableau de donnees Il n'existe pas de variables explicatives qualitatives *********************************************************************************************** PARTIE I : Calcul des composantes −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− TT : composantes PLS −1.8552 0.1721 −0.0953 −0.7093 −0.5839 −0.0069 −2.6709 −0.5108 0.1592 1.3177 −0.7997 −0.1988 2.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.0539 1.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.0328 0.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.0594 2.9098 −1.0591 −0.0350 −0.3152 0.8425 0.0662 3.7106 −0.5917 −0.0330 1.2514 −0.0881 0.0054 −1.2458 −0.2390 −0.0149 1.5690 0.3918 0.0442 0.2134 −0.1067 0.0328 −1.8057 1.1641 −0.1226 0.4273 −0.0816 0.1107 −1.4431 0.3659 0.1621 −0.9178 0.2714 −0.0554 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− PP : coefficients de regression de E0 sur TT 0.5560 −0.3729 2.4936 0.5366 0.2972 1.3696 0.5324 −0.5633 −2.6307 −0.3797 −0.7854 3.5881 62 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− CC : coefficients de regression de F0 sur TT −0.4443 −0.1153 −1.0352 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WW : vecteurs propres 0.5686 −0.3251 0.4961 0.6284 0.2746 0.7046 0.4156 −0.7833 −0.1865 −0.3303 −0.4532 −0.4718 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− WWS : W tilde 0.5686 −0.1668 0.1623 0.6284 0.4494 0.0188 0.4156 −0.6676 −0.1577 −0.3303 −0.5451 0.0431 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− UU : composantes associees au tableau Y −6.7522 −26.0199 −2.8980 −4.5015 −17.3466 −1.9320 −6.7522 −26.0199 −2.8980 −2.2507 −8.6733 −0.9660 −2.2507 −8.6733 −0.9660 −6.7522 −26.0199 −2.8980 −6.7522 −26.0199 −2.8980 −6.7522 −26.0199 −2.8980 −4.5015 −17.3466 −1.9320 −2.2507 −8.6733 −0.9660 −6.7522 −26.0199 −2.8980 −6.7522 −26.0199 −2.8980 −2.2507 −8.6733 −0.9660 −4.5015 −17.3466 −1.9320 −4.5015 −17.3466 −1.9320 −4.5015 −17.3466 −1.9320 −6.7522 −26.0199 −2.8980 −4.5015 −17.3466 −1.9320 −2.2507 −8.6733 −0.9660 −4.5015 −17.3466 −1.9320 −2.2507 −8.6733 −0.9660 −4.5015 −17.3466 −1.9320 −2.2507 −8.6733 −0.9660 −4.5015 −17.3466 −1.9320 −2.2507 −8.6733 −0.9660 −4.5015 −17.3466 −1.9320 −6.7522 −26.0199 −2.8980 −2.2507 −8.6733 −0.9660 −2.2507 −8.6733 −0.9660 −6.7522 −26.0199 −2.8980 −2.2507 −8.6733 −0.9660 −6.7522 −26.0199 −2.8980 −6.7522 −26.0199 −2.8980 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 63 BETA : coefficients de regression de Y sur X pour les donnees centrees reduites −0.2526 −0.2334 −0.4014 −0.2792 −0.3310 −0.3505 −0.1846 −0.1077 0.0555 0.1468 0.2096 0.1649 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− LEV : matrice des leviers 0.0396 0.0413 0.0739 0.0058 0.0258 0.0260 0.0821 0.0974 0.1881 0.0200 0.0575 0.1990 0.0575 0.0581 0.1632 0.0537 0.0934 0.0939 0.0367 0.0409 0.0502 0.0743 0.2832 0.2987 0.0139 0.0748 0.0894 0.0275 0.0275 0.0540 0.0004 0.0281 0.1013 0.0350 0.0451 0.0555 0.0140 0.0189 0.0387 0.0027 0.0409 0.1275 0.0040 0.1027 0.1043 0.0002 0.0615 0.0715 0.0291 0.0592 0.0631 0.0036 0.0067 0.0311 0.0311 0.0393 0.0576 0.0032 0.0217 0.0393 0.0653 0.0930 0.1398 0.0056 0.0546 0.0672 0.0974 0.1632 0.1676 0.0011 0.0428 0.0584 0.1584 0.1789 0.1828 0.0180 0.0185 0.0186 0.0179 0.0212 0.0220 0.0283 0.0373 0.0443 0.0005 0.0012 0.0050 0.0375 0.1170 0.1708 0.0021 0.0025 0.0464 0.0240 0.0318 0.1259 0.0097 0.0140 0.0250 *********************************************************************************************** PARTIE II : Resultats pour le nombre de composantes choisi a priori *********************************************************************************************** II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 6 Deviance 24.7168 64 Constante(s) SE −83.1844 35.2352 −78.5087 34.3050 Coefficients de regression logistique estimes 0.0235 0.0137 −0.0721 −0.0259 SE 0.0128 0.0085 0.1209 0.0122 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 3.0000 0.0004 0.0381 0.9615 3.0000 2.0000 0.0057 0.3760 0.6183 3.0000 3.0000 0.0001 0.0055 0.9945 3.0000 1.0000 0.5009 0.4899 0.0092 1.0000 1.0000 0.9842 0.0156 0.0001 1.0000 3.0000 0.0001 0.0087 0.9912 3.0000 3.0000 0.0000 0.0027 0.9973 3.0000 3.0000 0.0000 0.0000 1.0000 3.0000 2.0000 0.3763 0.6085 0.0152 2.0000 1.0000 0.9563 0.0433 0.0004 1.0000 3.0000 0.0512 0.8016 0.1472 2.0000 3.0000 0.0006 0.0605 0.9389 3.0000 1.0000 0.6283 0.3663 0.0055 1.0000 2.0000 0.0230 0.6934 0.2836 2.0000 2.0000 0.0414 0.7810 0.1776 2.0000 2.0000 0.1273 0.8127 0.0601 2.0000 3.0000 0.0000 0.0019 0.9981 3.0000 2.0000 0.1918 0.7704 0.0378 2.0000 1.0000 0.9843 0.0155 0.0001 1.0000 2.0000 0.6938 0.3021 0.0041 1.0000 1.0000 0.9992 0.0008 0.0000 1.0000 2.0000 0.0537 0.8053 0.1409 2.0000 1.0000 0.9988 0.0012 0.0000 1.0000 2.0000 0.1590 0.7941 0.0470 2.0000 1.0000 0.9997 0.0003 0.0000 1.0000 2.0000 0.7227 0.2738 0.0036 1.0000 3.0000 0.0004 0.0425 0.9570 3.0000 1.0000 0.9561 0.0435 0.0004 1.0000 1.0000 0.1395 0.8062 0.0544 2.0000 3.0000 0.0005 0.0523 0.9472 3.0000 1.0000 0.3640 0.6200 0.0160 2.0000 65 3.0000 3.0000 0.0020 0.0029 0.1728 0.2374 0.8253 0.7596 3.0000 3.0000 Le pourcentage de bien classes est : 81.8182 Qualite de la prevision du modele en utilisant la regression logistique usuelle : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 3 −−−−−−−−−−−−−−−−−−−−−−−− 9 2 0 11 2 7 1 10 0 1 11 12 11 10 12 33 *********************************************************************************************** II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 6 Deviance 25.7748 Constante(s) SE −2.5579 0.9127 2.0668 0.9638 Coefficients de regression logistique estimes 3.1146 1.3263 2.8951 SE 0.8794 0.8731 5.7121 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Coefficients de regression logistique PLS en se ramenant aux variables d'origine 2.0195 2.6078 −0.0475 −1.6269 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 66 La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 3.0000 0.0002 0.0225 0.9772 3.0000 2.0000 0.0038 0.2777 0.7185 3.0000 3.0000 0.0000 0.0015 0.9985 3.0000 1.0000 0.4776 0.5118 0.0106 2.0000 1.0000 0.9827 0.0172 0.0002 1.0000 3.0000 0.0000 0.0030 0.9969 3.0000 3.0000 0.0002 0.0178 0.9820 3.0000 3.0000 0.0000 0.0003 0.9997 3.0000 2.0000 0.4266 0.5604 0.0130 2.0000 1.0000 0.9266 0.0726 0.0008 1.0000 3.0000 0.0365 0.7577 0.2058 2.0000 3.0000 0.0005 0.0481 0.9514 3.0000 1.0000 0.8133 0.1844 0.0022 1.0000 2.0000 0.0312 0.7352 0.2336 2.0000 2.0000 0.0610 0.8078 0.1312 2.0000 2.0000 0.1886 0.7709 0.0405 2.0000 3.0000 0.0002 0.0191 0.9807 3.0000 2.0000 0.2903 0.6863 0.0234 2.0000 1.0000 0.9632 0.0364 0.0004 1.0000 2.0000 0.5054 0.4851 0.0095 1.0000 1.0000 0.9978 0.0022 0.0000 1.0000 2.0000 0.0243 0.6928 0.2829 2.0000 1.0000 0.9933 0.0066 0.0001 1.0000 2.0000 0.0970 0.8193 0.0836 2.0000 1.0000 0.9997 0.0003 0.0000 1.0000 2.0000 0.7753 0.2219 0.0028 1.0000 3.0000 0.0011 0.1011 0.8978 3.0000 1.0000 0.9515 0.0480 0.0005 1.0000 1.0000 0.1256 0.8105 0.0639 2.0000 3.0000 0.0009 0.0847 0.9144 3.0000 1.0000 0.2661 0.7076 0.0263 2.0000 3.0000 0.0022 0.1842 0.8135 3.0000 3.0000 0.0054 0.3508 0.6438 3.0000 Le pourcentage de bien classes est : 78.7879 Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 3 −−−−−−−−−−−−−−−−−−−−−−−− 8 3 0 11 2 7 1 10 0 1 11 12 10 11 12 33 67 *********************************************************************************************** Temps ecoule en secondes : 2.5012 *********************************************************************************************** *********************************************************************************************** Résultats obtenus lors d’une régression logistique sur composantes PLS On reprend les jeux de données précédents. Utilisation du jeu 2 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION DE VARIABLES Nom du fichier traite CHD.txt On n'a pas transpose le tableau de donnees Nombre de variables explicatives 1 Nombre de modalites de la variable reponse 1 Nombre d'observations 100 Il n'existe pas de donnees manquantes Il n'existe pas de variables explicatives qualitatives *********************************************************************************************** PARTIE I : calcul des composantes TT : composantes PLS −2.0800 −1.8240 −1.7387 −1.6534 −1.6534 −1.5681 −1.5681 −1.3975 −1.3975 −1.3121 −1.2268 −1.2268 −1.2268 −1.2268 −1.2268 −1.2268 −1.0562 −1.0562 −0.9709 68 −0.9709 −0.8856 −0.8856 −0.8856 −0.8856 −0.8856 −0.8003 −0.8003 −0.7149 −0.7149 −0.7149 −0.6296 −0.6296 −0.6296 −0.5443 −0.5443 −0.4590 −0.4590 −0.3737 −0.3737 −0.2884 −0.2884 −0.2030 −0.2030 −0.2030 −0.2030 −0.1177 −0.1177 −0.1177 −0.0324 −0.0324 −0.0324 −0.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 69 0.9060 0.9060 0.9914 0.9914 0.9914 1.0767 1.0767 1.0767 1.0767 1.0767 1.0767 1.1620 1.1620 1.1620 1.2473 1.2473 1.3326 1.3326 1.4179 1.5032 1.5032 1.5886 1.6739 1.6739 1.7592 2.1004 *********************************************************************************************** PP : coefficients de regression de E0 sur TT 1 *********************************************************************************************** CC : coefficients de regression de F0 sur TT 0.5138 *********************************************************************************************** WW : vecteurs propres 1 *********************************************************************************************** WWS : W tilde 1 *********************************************************************************************** Choix du nombre de composantes PLS significatives par le test du Q2 *********************************************************************************************** Le premier vecteur donne le Q2cum 0.2523 Le deuxieme vecteur donne le resultat du test qui est egal à 1 si on conserve la composante 1 Nombre de composantes PLS significatives 1 70 PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 3 Deviance 107.3531 Constante(s) SE 0.3866 0.2397 Coefficients de regression logistique estimes −1.2998 SE 0.2820 Coefficients de regression logistique PLS en se ramenant aux variables d'origine −1.2998 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 1.0000 0.9565 0.0435 1.0000 1.0000 0.9403 0.0597 1.0000 1.0000 0.9338 0.0662 1.0000 1.0000 0.9266 0.0734 1.0000 2.0000 0.9266 0.0734 1.0000 1.0000 0.9187 0.0813 1.0000 1.0000 0.9187 0.0813 1.0000 1.0000 0.9005 0.0995 1.0000 1.0000 0.9005 0.0995 1.0000 1.0000 0.8901 0.1099 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 1.0000 0.8788 0.1212 1.0000 2.0000 0.8788 0.1212 1.0000 1.0000 0.8531 0.1469 1.0000 1.0000 0.8531 0.1469 1.0000 1.0000 0.8387 0.1613 1.0000 1.0000 0.8387 0.1613 1.0000 1.0000 0.8231 0.1769 1.0000 1.0000 0.8231 0.1769 1.0000 2.0000 0.8231 0.1769 1.0000 1.0000 0.8231 0.1769 1.0000 1.0000 0.8231 0.1769 1.0000 1.0000 0.8064 0.1936 1.0000 1.0000 0.8064 0.1936 1.0000 71 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 1.0000 2.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 1.0000 2.0000 0.7885 0.7885 0.7885 0.7694 0.7694 0.7694 0.7492 0.7492 0.7277 0.7277 0.7052 0.7052 0.6817 0.6817 0.6571 0.6571 0.6571 0.6571 0.6317 0.6317 0.6317 0.6056 0.6056 0.6056 0.6056 0.5788 0.5788 0.5516 0.5516 0.5240 0.5240 0.5240 0.4963 0.4963 0.4963 0.4686 0.4686 0.4686 0.4411 0.4411 0.4140 0.3874 0.3874 0.3614 0.3614 0.3362 0.3119 0.3119 0.3119 0.2886 0.2886 0.2886 0.2664 0.2664 0.2664 0.2115 0.2115 0.2115 0.2306 0.2306 0.2306 0.2508 0.2508 0.2723 0.2723 0.2948 0.2948 0.3183 0.3183 0.3429 0.3429 0.3429 0.3429 0.3683 0.3683 0.3683 0.3944 0.3944 0.3944 0.3944 0.4212 0.4212 0.4484 0.4484 0.4760 0.4760 0.4760 0.5037 0.5037 0.5037 0.5314 0.5314 0.5314 0.5589 0.5589 0.5860 0.6126 0.6126 0.6386 0.6386 0.6638 0.6881 0.6881 0.6881 0.7114 0.7114 0.7114 0.7336 0.7336 0.7336 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 72 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 0.2664 0.2664 0.2664 0.2453 0.2453 0.2453 0.2254 0.2254 0.2066 0.2066 0.1890 0.1726 0.1726 0.1573 0.1432 0.1432 0.1301 0.0876 0.7336 0.7336 0.7336 0.7547 0.7547 0.7547 0.7746 0.7746 0.7934 0.7934 0.8110 0.8274 0.8274 0.8427 0.8568 0.8568 0.8699 0.9124 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 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 ecoulé en secondes 0.0383 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 3 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION DE VARIABLES Nom du fichier traite dvirt.txt On n'a pas transpose le tableau de donnees Nombre de variables explicatives 5 73 Nombre de modalites de la variable reponse 1 Nombre d'observations 64 Il n'existe pas de donnees manquantes Il n'existe pas de variables explicatives qualitatives *********************************************************************************************** PARTIE I : calcul des composantes TT : composantes PLS 1.2090 0.4913 0.4850 0.1727 −0.5216 0.0663 −0.1727 0.6644 −0.0655 −1.2090 −0.3484 −0.4842 1.2090 1.6339 −0.2674 0.1727 0.6211 −0.6861 −0.1727 1.8071 −0.8179 −1.2090 0.7942 −1.2366 1.8998 −0.7380 −0.0037 0.8636 −1.7508 −0.4224 0.5181 −0.5648 −0.5543 −0.5181 −1.5777 −0.9730 1.8998 0.4047 −0.7561 0.8636 −0.6081 −1.1748 0.5181 0.5778 −1.3066 −0.5181 −0.4350 −1.7253 0.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 1.2090 0.4913 0.4850 0.1727 −0.5216 0.0663 −0.1727 0.6644 −0.0655 −1.2090 −0.3484 −0.4842 1.2090 1.6339 −0.2674 0.1727 0.6211 −0.6861 −0.1727 1.8071 −0.8179 −1.2090 0.7942 −1.2366 1.8998 −0.7380 −0.0037 0.8636 −1.7508 −0.4224 0.5181 −0.5648 −0.5543 74 −0.5181 1.8998 0.8636 0.5181 −0.5181 0.5181 −0.5181 −0.8636 −1.8998 0.5181 −0.5181 −0.8636 −1.8998 1.2090 0.1727 −0.1727 −1.2090 1.2090 0.1727 −0.1727 −1.2090 −1.5777 0.4047 −0.6081 0.5778 −0.4350 0.4350 −0.5778 0.6081 −0.4047 1.5777 0.5648 1.7508 0.7380 −0.7942 −1.8071 −0.6211 −1.6339 0.3484 −0.6644 0.5216 −0.4913 −0.9730 −0.7561 −1.1748 −1.3066 −1.7253 1.7253 1.3066 1.1748 0.7561 0.9730 0.5543 0.4224 0.0037 1.2366 0.8179 0.6861 0.2674 0.4842 0.0655 −0.0663 −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.2463 0 0.5759 −0.3792 −0.6963 0.0873 −0.2774 −0.5222 −0.5104 −0.2110 *********************************************************************************************** Choix du nombre de composantes PLS significatives par le test du Q2 *********************************************************************************************** Le premier vecteur donne le Q2cum 0.1059 75 0.1059 0.1059 Le deuxieme vecteur donne le resultat du test qui est egal à 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.8439 0.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.0027 0.5854 0.4384 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 0.3599 0.6401 2.0000 2.0000 0.5730 0.4270 1.0000 2.0000 0.6424 0.3576 1.0000 1.0000 0.8109 0.1891 1.0000 1.0000 0.3587 0.6413 2.0000 1.0000 0.5717 0.4283 1.0000 1.0000 0.6412 0.3588 1.0000 2.0000 0.8101 0.1899 1.0000 76 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 1.0000 1.0000 2.0000 2.0000 1.0000 2.0000 2.0000 1.0000 2.0000 1.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 0.2379 0.4270 0.4993 0.7042 0.2369 0.4257 0.4980 0.7031 0.5045 0.7084 0.7648 0.8859 0.5031 0.7073 0.7639 0.8853 0.3611 0.5743 0.6436 0.8117 0.3599 0.5730 0.6424 0.8109 0.3599 0.5730 0.6424 0.8109 0.3587 0.5717 0.6412 0.8101 0.2379 0.4270 0.4993 0.7042 0.2369 0.4257 0.4980 0.7031 0.5045 0.7084 0.7648 0.8859 0.5031 0.7073 0.7639 0.8853 0.3611 0.5743 0.6436 0.8117 0.3599 0.5730 0.6424 0.7621 0.5730 0.5007 0.2958 0.7631 0.5743 0.5020 0.2969 0.4955 0.2916 0.2352 0.1141 0.4969 0.2927 0.2361 0.1147 0.6389 0.4257 0.3564 0.1883 0.6401 0.4270 0.3576 0.1891 0.6401 0.4270 0.3576 0.1891 0.6413 0.4283 0.3588 0.1899 0.7621 0.5730 0.5007 0.2958 0.7631 0.5743 0.5020 0.2969 0.4955 0.2916 0.2352 0.1141 0.4969 0.2927 0.2361 0.1147 0.6389 0.4257 0.3564 0.1883 0.6401 0.4270 0.3576 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 2.0000 2.0000 1.0000 2.0000 2.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 77 2.0000 0.8109 0.1891 1.0000 Le pourcentage de bien classes est : 68.7500 Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS : tableau de classification −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 1 2 −−−−−−−−−−−−−−−−−−−−−−−− 31 7 38 13 13 26 44 20 64 *********************************************************************************************** Temps ecoulé 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 à 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.4224 0.7077 −0.7352 −0.9810 78 0.8704 −0.1136 1.4440 −0.8358 −0.1238 1.6742 0.2502 1.4111 −0.0148 0.8594 0.8594 2.2471 −0.8410 1.0448 −0.6831 −0.4936 −0.9771 −3.1615 0.3432 0.1419 −1.4693 0.4704 −1.6530 −0.2344 1.5145 1.5145 0.3178 −0.2373 −1.1784 0.7851 −1.4363 −0.5161 −0.4499 −3.2369 −0.8831 −0.6287 −1.6213 0.6200 −0.7038 1.0761 1.0761 −1.9904 0.8724 −0.4561 1.6278 −0.1569 0.6083 −0.1414 −0.5489 1.2408 1.6122 1.1738 −0.5472 1.4131 1.3295 −0.6283 −0.2982 −0.3099 −0.0120 −0.4103 −0.4913 −0.5898 −0.3516 0.6017 −0.6796 −0.6796 1.8710 0.5175 −0.6431 −0.0348 0.5837 0.9397 −0.3131 −0.2707 0.2657 −0.7458 −0.9008 0.1117 1.8276 2.1831 2.1831 0.0171 2.9577 −0.4522 2.1223 0.1911 −0.2586 −0.4511 −0.3110 0.2853 2.1359 −0.6634 2.3275 −1.0161 −0.6003 −0.6003 1.0703 −0.7849 0.1567 −0.2722 −0.3141 −0.5669 −0.7315 0.5948 −0.6500 −0.7500 −0.5172 −0.4394 −0.5082 −0.7749 0.5145 −0.4657 0.2555 0.4856 0.1027 0.5708 −0.0150 1.0040 2.1537 −0.8977 −0.8977 −1.3555 0.1049 0.4177 0.3769 2.2759 1.1855 0.5563 1.5729 1.2770 −0.2511 −1.3039 0.2330 −0.6001 −1.1765 −1.1765 0.1563 1.3275 −0.4728 −0.2328 0.3520 −1.0682 0.1162 −0.2517 1.2298 −1.3870 −1.6751 −0.5124 −1.1786 −0.7788 −0.7788 1.0178 0.1305 −0.0725 1.1230 −0.4895 0.7557 −0.6772 1.0319 0.3328 −0.0409 0.6811 1.4690 0.6200 −0.0036 79 1.3295 0.3390 0.9107 −0.8843 0.2369 −0.2492 0.3380 −3.8669 −0.4366 −0.1313 0.2486 −1.0343 0.6579 1.8560 0.2764 −0.8547 −0.8534 −0.9525 0.2290 −1.5293 −0.3953 −1.0910 0.3846 0.8931 0.7167 1.3078 0.6634 −0.2291 −2.3442 −0.2653 0.4123 −0.6048 −2.1537 0.3539 0.2764 −1.0958 −1.5075 −0.2467 −0.2467 −1.2268 −0.1156 −1.0485 0.9107 −0.0279 1.0448 −1.7286 −0.6851 −0.9865 −0.0383 −0.3296 −2.6962 0.9880 −1.2196 −1.0565 −0.8328 −0.7749 0.1805 −0.3775 −0.5315 −0.4670 −0.6940 0.2588 0.7257 −0.5739 2.3968 −0.5886 0.3070 −0.1258 1.8065 −1.0505 0.9710 −0.3332 3.7289 −0.7532 −1.1611 −0.4014 −0.4813 −0.0982 −0.6987 −0.5273 −0.7828 −0.6728 −0.6849 −0.4368 −0.3538 −0.5601 −0.1338 −1.7045 −0.3141 −1.0505 −0.1073 −0.2580 −1.0061 −1.0061 −0.0766 −0.1416 −1.2997 −0.3775 −0.1882 −0.6431 1.2017 0.1218 −1.0410 −0.1623 2.6982 −0.0343 −0.3982 0.2705 0.2218 −1.1421 −0.0036 1.0002 1.1143 0.0702 1.1294 −0.0967 1.1922 0.4380 −1.0282 −0.9213 −0.4630 1.7864 0.9791 −1.3777 −1.6030 −2.4812 −0.2943 0.9456 −0.8589 −1.2468 −0.6204 1.5555 1.9807 0.3344 0.8152 −0.0155 −0.8129 −0.5328 0.8089 −0.5490 0.8406 −0.7318 −2.3598 0.1725 −1.6030 0.3428 0.1167 −1.3126 −1.3126 0.4634 −0.0817 −1.7529 1.1143 −0.2261 0.4177 −1.6132 0.7609 −1.1413 −0.9984 −1.7931 0.2378 0.1976 0.4710 1.1346 −1.4419 80 −0.1923 0.4517 0.1266 −0.6522 1.7051 −0.8050 −0.3482 0.0391 −0.1198 −0.8689 −1.1783 −2.3804 0.3383 −0.2456 −2.2388 0.3432 −1.2196 −1.3476 0.9314 1.3648 −0.2192 1.0479 0.5756 0.4340 −1.0444 −0.4766 0.9668 0.7147 0.9466 0.4190 −0.8638 −0.9537 −0.8585 1.3255 0.9364 1.0459 0.2640 0.5117 −0.2105 −0.4902 1.0911 0.6354 −0.3736 0.5014 1.9116 0.7304 0.6992 1.2831 0.6134 1.7240 0.2290 0.4617 1.0387 −0.5561 0.9058 −0.0438 −1.1436 −0.3500 0.1636 −0.2929 −0.7088 −0.6812 −0.3210 −0.7236 0.0842 0.4429 −0.1057 −0.7918 −0.1893 0.7329 −0.2707 0.2705 2.0493 −0.2913 −0.1326 −0.5553 0.0171 2.3900 −0.5521 −0.7178 −0.0675 −0.5617 −0.3707 −0.5707 −0.2902 −0.3073 2.0169 −0.8368 −0.4617 −0.6828 0.1737 0.0271 −0.7283 −0.4421 −0.7019 −0.8622 2.9433 −0.3935 2.1757 −0.3257 −0.8056 0.0467 −0.5558 −0.9585 1.9154 −0.7532 0.9142 −0.1733 0.2478 −0.8987 1.4750 −1.8918 1.4539 0.0124 0.2063 −1.2305 0.8081 −0.5744 −0.6653 −0.1066 0.8788 0.7927 −0.9914 −0.1531 2.7959 1.5729 0.4710 0.3290 1.3182 1.5562 1.0715 1.1933 −0.3442 0.8525 −1.1694 1.0643 −0.6463 1.1992 −0.2102 0.2082 −1.0666 −1.5655 −0.6859 0.7644 0.3582 1.5773 −0.6398 −0.8962 0.0551 −0.4836 −0.1345 −0.6892 −0.6085 −0.0035 0.8937 −1.1611 1.3869 0.5486 −0.2043 −1.0651 −0.8589 1.0748 1.5697 1.0243 −1.4499 81 −0.6152 1.2886 1.3062 1.5916 0.7817 −1.1030 −0.3736 −0.1828 0.2043 1.1306 −0.4503 0.6732 −1.7924 1.9826 −0.3735 1.5399 1.3451 1.1183 −0.7503 1.8752 1.9133 2.2345 −0.8362 −0.5035 −0.4543 −0.3935 0.1291 −0.5262 2.4656 −0.2956 0.4900 −1.0214 −0.7717 0.5017 −0.0877 −0.2971 1.6149 0.2360 −1.1907 −0.9191 −0.1392 −0.2448 0.8509 0.3352 −0.6085 −1.0741 −0.2948 −1.1911 0.9482 0.8023 −0.8136 −0.2226 0.7431 −0.0733 1.1603 −1.5903 −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.3386 0.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.0302 0.3734 0.8035 −0.2824 0.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.0167 0.3809 0.0490 0.6066 *********************************************************************************************** UU : composantes associees au tableau Y −3.1232 −8.0599 −34.8726 −3.1232 −3.9629 −17.2003 −3.1232 −8.7336 −31.1639 −3.1232 −7.7640 −28.9172 −3.1232 −9.6512 −32.9003 82 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −10.0610 −7.5821 −11.5061 −5.7628 −7.5564 −12.0860 −8.4985 −11.4233 −7.8310 −10.0334 −10.0334 −13.5293 −5.7495 −10.5003 −6.1475 −6.6249 −5.4067 0.0964 −8.7330 −8.2258 −4.1666 −9.0533 −3.7039 −7.2778 −11.6837 −11.6837 −8.6689 −7.2705 −4.8995 −9.8462 −4.2498 −6.5681 −6.7350 0.2864 −5.6434 −6.2845 −3.7839 −9.4301 −6.0951 −10.5793 −10.5793 −2.8539 −10.0661 −6.7191 −11.9692 −7.4729 −9.4008 −7.5120 −6.4855 −10.9942 −11.9299 −10.8253 −6.4896 −11.4284 −11.2176 −34.8068 −26.8777 −41.3145 −21.2204 −26.3690 −42.7847 −29.1834 −40.8546 −31.1166 −34.5154 −34.5154 −56.8275 −23.1253 −36.3731 −22.5560 −26.5996 −23.4182 1.5108 −31.2262 −31.3340 −12.6228 −30.0827 −14.0796 −33.5993 −51.1686 −51.1686 −32.0514 −37.7421 −16.4105 −44.1641 −16.3869 −23.2820 −23.1876 2.2046 −21.8772 −31.0714 −11.5148 −43.3860 −18.7415 −36.8227 −36.8227 −14.4803 −34.2477 −25.3720 −43.1619 −26.4162 −32.5972 −25.0201 −26.1264 −38.1701 −41.2539 −38.0370 −22.3253 −40.2955 −38.5339 83 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −11.2176 −8.7223 −10.1626 −5.6406 −8.4651 −7.2403 −8.7197 1.8736 −6.7683 −7.5375 −8.4946 −5.2626 −9.5256 −12.5441 −8.5645 −5.7150 −5.7184 −5.4687 −8.4451 −4.0155 −6.8724 −5.1198 −8.8371 −10.1181 −9.6738 −11.1630 −9.5395 −7.2911 −1.9626 −7.2000 −8.9069 −6.3446 −2.4426 −8.7599 −8.5645 −5.1077 −4.0704 −7.2466 −7.2466 −4.7776 −7.5770 −5.2267 −10.1626 −7.7979 −10.5003 −3.5136 −6.1424 −5.3829 −7.7716 −7.0380 −1.0758 −10.3572 −4.7957 −5.2067 −5.7701 −38.5339 −32.8514 −36.1069 −18.8525 −29.5134 −24.1562 −33.1310 4.2357 −22.8576 −36.6578 −29.1732 −20.5518 −34.6855 −52.9539 −27.7266 −24.6717 −19.8715 −33.9393 −28.3834 −10.5329 −23.8782 −17.1162 −32.2467 −34.7580 −33.7508 −38.3032 −32.7184 −24.3767 −5.6300 −25.2626 −30.8001 −22.9182 −2.7235 −31.1655 −27.7266 −18.4517 −14.0678 −23.0277 −23.0277 −17.3468 −27.4368 −14.4907 −36.1069 −28.0801 −36.3731 −17.3993 −23.1151 −16.0216 −28.0785 −35.9269 −3.8432 −36.7487 −18.6942 −20.0313 −17.0776 84 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 −3.1232 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 −7.3838 −9.0063 −8.1871 −6.2253 −12.1638 −5.8403 −6.9911 −7.9668 −7.5666 −5.6793 −4.8998 −1.8715 −8.7206 −7.2495 −2.2282 16.4721 20.4094 20.7318 14.9905 13.8986 17.8889 14.6969 15.8867 16.2436 19.9679 18.5375 14.9013 15.5364 14.9520 16.2814 19.5130 19.7395 19.4997 13.9977 14.9778 14.7020 16.6717 16.0477 17.8671 18.5717 14.5880 15.7362 18.2781 16.0737 12.5211 15.4967 15.5754 14.1043 15.7916 12.9936 16.7600 16.1737 14.7201 18.7377 15.0549 −27.0848 −29.0133 −28.9189 −23.5749 −43.8037 −18.9352 −23.2837 −28.2132 −25.2508 −21.2676 −19.7147 −6.5159 −29.2575 −26.0524 −10.9265 61.7811 74.3131 68.9388 56.3901 51.7755 68.0597 54.1686 49.8032 61.9764 76.3306 68.6527 57.0587 58.6974 57.2792 61.1496 73.1374 65.3968 75.0422 53.3551 57.7878 53.6095 61.4190 61.9040 67.5612 71.1198 57.0114 47.2062 68.8984 51.2836 47.4050 60.1558 57.3012 54.0962 61.8079 40.8787 64.6239 56.3076 54.9569 68.2283 58.8691 85 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 6.8817 18.8867 14.0906 14.0461 13.3273 15.3675 20.1155 18.2781 17.7975 16.8222 14.4885 18.4713 15.6408 21.8523 12.3421 18.2778 13.4574 13.9482 14.5197 19.2270 62.7729 44.9342 43.5853 52.2637 58.5643 75.9029 68.8984 65.1966 64.0160 44.3649 69.2504 55.9067 84.4045 48.3901 65.5942 49.9817 52.5653 47.6187 70.0773 *********************************************************************************************** LEV : matrice des leviers 0.0000 0.0107 0.0271 0.0107 0.0134 0.0360 0.0005 0.0010 0.0029 0.0000 0.0000 0.0010 0.0022 0.0052 0.0102 0.0034 0.0056 0.0069 0.0001 0.0005 0.0017 0.0093 0.0099 0.0102 0.0031 0.0031 0.0043 0.0001 0.0010 0.0011 0.0125 0.0139 0.0156 0.0003 0.0022 0.0022 0.0089 0.0096 0.0148 0.0000 0.0020 0.0261 0.0033 0.0058 0.0100 0.0033 0.0058 0.0100 0.0226 0.0419 0.0514 0.0032 0.0046 0.0047 0.0049 0.0072 0.0081 0.0021 0.0021 0.0028 0.0011 0.0030 0.0299 0.0043 0.0091 0.0164 0.0447 0.0452 0.0468 0.0005 0.0009 0.0138 0.0001 0.0005 0.0090 0.0097 0.0127 0.0130 0.0010 0.0055 0.0143 0.0122 0.0123 0.0126 0.0002 0.0187 0.0205 0.0103 0.0365 0.0437 0.0103 0.0365 0.0437 0.0005 0.0005 0.0006 0.0003 0.0485 0.0577 86 0.0062 0.0028 0.0092 0.0012 0.0009 0.0468 0.0035 0.0018 0.0117 0.0017 0.0022 0.0052 0.0052 0.0177 0.0034 0.0009 0.0118 0.0001 0.0017 0.0001 0.0013 0.0069 0.0116 0.0062 0.0013 0.0089 0.0079 0.0079 0.0005 0.0037 0.0035 0.0003 0.0003 0.0005 0.0668 0.0009 0.0001 0.0003 0.0048 0.0019 0.0154 0.0003 0.0033 0.0033 0.0041 0.0002 0.0105 0.0007 0.0053 0.0007 0.0036 0.0023 0.0076 0.0020 0.0002 0.0073 0.0276 0.0094 0.0016 0.0020 0.0474 0.0039 0.0269 0.0142 0.0316 0.0079 0.0072 0.0072 0.0240 0.0068 0.0011 0.0123 0.0007 0.0034 0.0030 0.0033 0.0092 0.0147 0.0076 0.0024 0.0104 0.0112 0.0112 0.0007 0.0045 0.0051 0.0015 0.0029 0.0009 0.0697 0.0027 0.0318 0.0022 0.0053 0.0020 0.0334 0.0064 0.0085 0.0039 0.0807 0.0034 0.0179 0.0016 0.0066 0.0007 0.0063 0.0038 0.0110 0.0045 0.0028 0.0085 0.0279 0.0101 0.0075 0.0021 0.0477 0.0118 0.0369 0.0288 0.0330 0.0151 0.0103 0.0103 0.0294 0.0069 0.0011 0.0188 0.0019 0.0064 0.0054 0.0088 0.0098 0.0147 0.0100 0.0136 0.0123 0.0112 0.0112 0.0059 0.0109 0.0051 0.0081 0.0030 0.0083 0.0707 0.0082 0.0362 0.0033 0.0219 0.0070 0.0433 0.0198 0.0405 0.0043 0.0854 0.0072 0.0260 0.0036 0.0192 0.0211 0.0068 0.0073 0.0110 0.0079 0.0043 87 0.0246 0.0003 0.0008 0.0016 0.0207 0.0006 0.0003 0.0054 0.0102 0.0003 0.0003 0.0067 0.0001 0.0049 0.0037 0.0000 0.0049 0.0134 0.0021 0.0044 0.0000 0.0005 0.0325 0.0044 0.0066 0.0050 0.0031 0.0002 0.0009 0.0001 0.0019 0.0130 0.0029 0.0005 0.0000 0.0001 0.0034 0.0062 0.0253 0.0005 0.0003 0.0224 0.0005 0.0066 0.0081 0.0039 0.0083 0.0002 0.0049 0.0015 0.0008 0.0049 0.0010 0.0042 0.0023 0.0256 0.0010 0.0025 0.0017 0.0368 0.0011 0.0064 0.0054 0.0105 0.0059 0.0059 0.0068 0.0002 0.0142 0.0045 0.0002 0.0072 0.0213 0.0022 0.0103 0.0002 0.0406 0.0325 0.0052 0.0071 0.0053 0.0103 0.0002 0.0081 0.0007 0.0020 0.0135 0.0057 0.0031 0.0006 0.0030 0.0034 0.0073 0.0254 0.0040 0.0005 0.0254 0.0009 0.0071 0.0313 0.0043 0.0084 0.0019 0.0049 0.0330 0.0025 0.0077 0.0010 0.0059 0.0030 0.0290 0.0026 0.0062 0.0045 0.0657 0.0013 0.0198 0.0060 0.0106 0.0148 0.0148 0.0079 0.0002 0.0302 0.0109 0.0005 0.0081 0.0348 0.0052 0.0171 0.0053 0.0574 0.0328 0.0054 0.0082 0.0120 0.0211 0.0115 0.0267 0.0117 0.0020 0.0137 0.0135 0.0065 0.0023 0.0053 0.0035 0.0113 0.0287 0.0091 0.0006 0.0660 0.0138 0.0082 0.0318 0.0134 0.0210 0.0079 0.0123 0.0336 0.0063 0.0148 0.0069 0.0081 0.0105 88 0.0040 0.0008 0.0033 0.0041 0.0033 0.0079 0.0039 0.0049 0.0003 0.0012 0.0002 0.0011 0.0053 0.0018 0.0006 0.0011 0.0163 0.0024 0.0022 0.0074 0.0017 0.0133 0.0002 0.0010 0.0048 0.0014 0.0037 0.0017 0.0074 0.0076 0.0113 0.0027 0.0054 0.0006 0.0001 0.0002 0.0057 0.0009 0.0020 0.0144 0.0176 0.0006 0.0106 0.0081 0.0056 0.0025 0.0058 0.0012 0.0039 0.0265 0.0072 0.0090 0.0065 0.0051 0.0003 0.0041 0.0013 0.0038 0.0094 0.0496 0.0015 0.0272 0.0169 0.0060 0.0022 0.0091 0.0067 0.0335 0.0034 0.0056 0.0050 0.0017 0.0081 0.0211 0.0276 0.0352 0.0152 0.0041 0.0066 0.0015 0.0002 0.0017 0.0392 0.0014 0.0034 0.0201 0.0209 0.0020 0.0106 0.0086 0.0200 0.0028 0.0060 0.0015 0.0098 0.0392 0.0096 0.0121 0.0072 0.0180 0.0024 0.0083 0.0013 0.0050 0.0095 0.0521 0.0034 0.0272 0.0211 0.0130 0.0122 0.0106 0.0070 0.0394 0.0072 0.0116 0.0178 0.0072 0.0190 0.0285 0.0320 0.0353 0.0155 0.0079 0.0072 0.0034 0.0062 0.0022 0.0466 0.0061 0.0067 0.0236 0.0211 0.0049 0.0107 0.0156 0.0331 0.0048 Choix du nombre de composantes PLS significatives par le test du Q2 *********************************************************************************************** Le premier vecteur donne le Q2cum 0.0472 0.0472 0.0472 Le deuxieme vecteur donne le resultat du test qui est egal ? 1 si on conserve la composante 89 0 0 0 Nombre de composantes PLS significatives 0 PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 3 Deviance 222.0968 Constante(s) SE 0.8565 0.1668 Coefficients de regression logistique estimes −0.5245 −0.1864 −0.0605 SE 0.1666 0.1596 0.1637 Coefficients de regression logistique PLS en se ramenant aux variables d'origine 0.1515 0.4148 0.0579 −0.3670 −0.2456 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 1.0000 0.6603 0.3397 1.0000 1.0000 0.8043 0.1957 1.0000 1.0000 0.6827 0.3173 1.0000 1.0000 0.7089 0.2911 1.0000 1.0000 0.6641 0.3359 1.0000 1.0000 0.6192 0.3808 1.0000 1.0000 0.7310 0.2690 1.0000 1.0000 0.5353 0.4647 1.0000 1.0000 0.7804 0.2196 1.0000 1.0000 0.7294 0.2706 1.0000 1.0000 0.5089 0.4911 1.0000 1.0000 0.6977 0.3023 1.0000 1.0000 0.5303 0.4697 1.0000 90 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.6507 0.6426 0.6426 0.3569 0.7676 0.5994 0.7683 0.7045 0.7544 0.9269 0.6529 0.6582 0.8559 0.7019 0.8440 0.6626 0.4320 0.4320 0.6631 0.5865 0.8303 0.5158 0.8253 0.7756 0.7631 0.9326 0.7671 0.7052 0.8734 0.5321 0.8155 0.6109 0.6109 0.8375 0.6312 0.7448 0.4964 0.7363 0.6451 0.7518 0.7253 0.5761 0.5382 0.5735 0.7571 0.5430 0.5754 0.5754 0.6421 0.5943 0.8046 0.6794 0.7544 0.6362 0.9384 0.3493 0.3574 0.3574 0.6431 0.2324 0.4006 0.2317 0.2955 0.2456 0.0731 0.3471 0.3418 0.1441 0.2981 0.1560 0.3374 0.5680 0.5680 0.3369 0.4135 0.1697 0.4842 0.1747 0.2244 0.2369 0.0674 0.2329 0.2948 0.1266 0.4679 0.1845 0.3891 0.3891 0.1625 0.3688 0.2552 0.5036 0.2637 0.3549 0.2482 0.2747 0.4239 0.4618 0.4265 0.2429 0.4570 0.4246 0.4246 0.3579 0.4057 0.1954 0.3206 0.2456 0.3638 0.0616 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 91 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 0.7781 0.6305 0.7035 0.7745 0.6167 0.4084 0.7319 0.7814 0.7996 0.6465 0.7168 0.8755 0.7643 0.8060 0.6349 0.6220 0.6294 0.5787 0.6644 0.7570 0.8927 0.7493 0.6668 0.7761 0.9203 0.6724 0.7319 0.8070 0.8440 0.7778 0.7778 0.8155 0.7208 0.8525 0.5943 0.7150 0.5994 0.8371 0.7590 0.8371 0.7246 0.6536 0.9057 0.5988 0.8049 0.7860 0.8311 0.7061 0.7205 0.6830 0.7627 0.5011 0.8154 0.7535 0.7172 0.2219 0.3695 0.2965 0.2255 0.3833 0.5916 0.2681 0.2186 0.2004 0.3535 0.2832 0.1245 0.2357 0.1940 0.3651 0.3780 0.3706 0.4213 0.3356 0.2430 0.1073 0.2507 0.3332 0.2239 0.0797 0.3276 0.2681 0.1930 0.1560 0.2222 0.2222 0.1845 0.2792 0.1475 0.4057 0.2850 0.4006 0.1629 0.2410 0.1629 0.2754 0.3464 0.0943 0.4012 0.1951 0.2140 0.1689 0.2939 0.2795 0.3170 0.2373 0.4989 0.1846 0.2465 0.2828 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 92 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0.7492 0.7863 0.7923 0.8886 0.7082 0.7369 0.8488 0.6529 0.8049 0.7616 0.5848 0.5178 0.7331 0.5576 0.5324 0.6638 0.8332 0.7417 0.6209 0.6173 0.6175 0.6634 0.8071 0.7456 0.8182 0.5501 0.6156 0.5449 0.6795 0.6853 0.7400 0.7814 0.6114 0.5041 0.7618 0.5469 0.4652 0.6668 0.5980 0.5631 0.6739 0.4157 0.7168 0.5936 0.5620 0.7389 0.6540 0.7113 0.4699 0.4411 0.5480 0.6198 0.8175 0.7618 0.7297 0.2508 0.2137 0.2077 0.1114 0.2918 0.2631 0.1512 0.3471 0.1951 0.2384 0.4152 0.4822 0.2669 0.4424 0.4676 0.3362 0.1668 0.2583 0.3791 0.3827 0.3825 0.3366 0.1929 0.2544 0.1818 0.4499 0.3844 0.4551 0.3205 0.3147 0.2600 0.2186 0.3886 0.4959 0.2382 0.4531 0.5348 0.3332 0.4020 0.4369 0.3261 0.5843 0.2832 0.4064 0.4380 0.2611 0.3460 0.2887 0.5301 0.5589 0.4520 0.3802 0.1825 0.2382 0.2703 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 1.0000 2.0000 2.0000 1.0000 1.0000 1.0000 1.0000 1.0000 93 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 2.0000 0.7038 0.4690 0.7485 0.5899 0.8845 0.4935 0.7138 0.5174 0.5340 0.5163 0.7761 0.2962 0.5310 0.2515 0.4101 0.1155 0.5065 0.2862 0.4826 0.4660 0.4837 0.2239 1.0000 2.0000 1.0000 1.0000 1.0000 2.0000 1.0000 1.0000 1.0000 1.0000 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 ecoulé en secondes 0.0348 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 5 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION DE VARIABLES Nom du fichier traite vins bordeaux.xls On n'a pas transpose le tableau de donnees Nombre de variables explicatives 4 Nombre de modalites de la variable reponse 3 Nombre d'observations 34 Il n'existe pas de donnees manquantes Il n'existe pas de variables explicatives qualitatives 94 *********************************************************************************************** PARTIE I : calcul des composantes *********************************************************************************************** *********************************************************************************************** TT : composantes PLS −0.9953 −0.5479 0.1188 −1.7386 −0.2768 −0.9006 −0.6398 0.5984 −0.3957 −2.6632 0.5919 −0.0077 1.5036 0.7105 −1.1476 2.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.5006 1.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.5895 3.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.4447 0.4241 0.1645 0.4311 −1.5367 −0.2519 0.8324 −0.9001 −0.2893 −0.1254 *********************************************************************************************** PP : coefficients de regression de E0 sur TT 0.5488 0.3673 0.1639 0.5193 −0.2317 0.6866 0.5309 0.5069 −0.3611 −0.3886 0.8005 0.7331 *********************************************************************************************** CC : coefficients de regression de F0 sur TT 0.4537 0.1047 0.0909 −0.0055 −0.4304 0.1851 −0.4388 0.3188 −0.2702 *********************************************************************************************** WW : vecteurs propres 95 0.5564 0.5473 0.4798 −0.4007 0.2619 −0.3797 0.6415 0.6130 0.4327 0.4416 −0.4971 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.7320 0.0058 −3.2701 5.1357 −2.2357 1.3680 −0.2865 2.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.0954 2.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.2576 0.0058 −2.9246 3.2304 2.4332 1.2191 −1.0802 0.0058 −2.9068 1.9159 2.4332 1.4370 −2.4786 0.0058 −3.2537 2.8472 2.4332 1.6486 −1.1514 0.0058 −3.1669 2.7041 2.4332 1.8530 −2.6187 0.0058 −2.6931 1.8846 −2.2357 1.7874 −2.5956 2.4332 1.1851 −0.9298 2.4332 0.7777 1.6056 −2.2357 1.6415 −4.0727 2.4332 0.8345 1.3708 −2.2357 1.7085 −2.9758 −2.2357 1.9008 −3.9011 *********************************************************************************************** LEV : matrice des leviers 0.0108 0.0259 0.0272 0.0329 0.0368 0.1103 0.0045 0.0225 0.0367 0.0773 0.0950 0.0950 96 0.0246 0.0627 0.0458 0.0378 0.0804 0.0131 0.0269 0.0014 0.0307 0.0114 0.0016 0.0038 0.0004 0.0315 0.0028 0.0314 0.0034 0.0637 0.0037 0.1060 0.0010 0.1569 0.0176 0.0177 0.0274 0.0006 0.0337 0.0020 0.0257 0.0088 0.0501 0.0648 0.0785 0.0438 0.3151 0.0802 0.0269 0.0203 0.0426 0.0130 0.0462 0.0958 0.0507 0.0681 0.0090 0.0377 0.0193 0.0854 0.0581 0.1601 0.0376 0.1775 0.0185 0.0221 0.0338 0.0017 0.1174 0.0033 0.0289 0.0131 0.1695 0.1153 0.1453 0.0498 0.3669 0.0912 0.0409 0.1191 0.0653 0.0917 0.0849 0.0992 0.0856 0.0879 0.0493 0.0436 0.0228 0.1138 0.0896 0.2180 0.0424 0.1780 0.0235 0.0235 0.0491 0.0029 0.1353 0.0202 0.0917 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.4846 1.0222 −0.1786 −0.3829 −0.9408 −0.5914 −1.3505 −0.1795 −0.9994 97 −1.7010 0.5035 1.6965 0.5623 2.4176 −0.5853 3.1178 −0.2982 3.7941 1.2694 −1.2754 1.5842 0.2362 −1.7583 0.4241 −1.5367 −0.9001 0.8515 0.3513 −0.3549 −0.5608 −0.6562 −1.0382 1.0364 −0.8524 0.6387 0.1344 0.2946 −0.3579 0.1472 −1.2880 0.1645 −0.2519 −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.2631 0.7057 SE 0.8175 0.8283 0.9519 Coefficients de regression logistique PLS en se ramenant aux variables d'origine 1.6338 2.5546 0.1840 −1.7048 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 0.0087 0.4848 0.5065 3.0000 98 3.0000 2.0000 3.0000 1.0000 1.0000 3.0000 3.0000 3.0000 2.0000 1.0000 3.0000 3.0000 1.0000 2.0000 2.0000 2.0000 3.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 3.0000 1.0000 1.0000 3.0000 1.0000 3.0000 3.0000 0.0003 0.0041 0.0000 0.5574 0.9871 0.0000 0.0002 0.0000 0.3811 0.9140 0.0475 0.0007 0.7998 0.0491 0.0780 0.2005 0.0002 0.2653 0.9586 0.4939 0.9972 0.0323 0.9925 0.0998 0.9997 0.7748 0.0013 0.9488 0.1247 0.0015 0.2339 0.0020 0.0070 0.0351 0.3110 0.0014 0.4356 0.0128 0.0038 0.0253 0.0003 0.6046 0.0852 0.8003 0.0696 0.1980 0.8031 0.8263 0.7650 0.0250 0.7105 0.0410 0.4970 0.0027 0.7563 0.0075 0.8254 0.0003 0.2226 0.1261 0.0507 0.8161 0.1446 0.7376 0.1788 0.4330 0.9646 0.6849 0.9985 0.0071 0.0001 0.9962 0.9745 0.9997 0.0143 0.0008 0.1522 0.9297 0.0022 0.1477 0.0957 0.0345 0.9748 0.0242 0.0004 0.0091 0.0000 0.2114 0.0001 0.0748 0.0000 0.0026 0.8725 0.0005 0.0592 0.8538 0.0285 0.8193 0.5600 3.0000 3.0000 3.0000 1.0000 1.0000 3.0000 3.0000 3.0000 2.0000 1.0000 2.0000 3.0000 1.0000 2.0000 2.0000 2.0000 3.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 3.0000 1.0000 2.0000 3.0000 2.0000 3.0000 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 ecoulé en secondes 0.0866 99 *********************************************************************************************** *********************************************************************************************** Utilisation du jeu 6 *********************************************************************************************** *********************************************************************************************** Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : REGRESSION LOGISTIQUE SUR COMPOSANTES PLS SANS SELECTION DE VARIABLES Nom du fichier traite vins bordeaux DM.xls On n'a pas transpose le tableau de donnees Nombre de variables explicatives 4 Nombre de modalites de la variable reponse 3 Nombre d'observations 34 Il existe des donnees manquantes Il n'existe pas de variables explicatives qualitatives *********************************************************************************************** TT : composantes PLS −0.9029 −0.5480 0.1329 −1.7435 −0.2826 −0.9045 −0.6527 0.5893 −0.3981 −2.6766 0.5679 −0.0032 1.4902 0.7156 −1.1530 2.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.5073 1.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.5947 3.0930 1.0322 −0.7938 −0.3074 −0.8599 0.2224 3.7725 0.6431 0.0666 1.2553 0.1333 0.2261 −1.2829 0.2898 0.1097 1.5700 −0.3596 0.4016 100 0.2230 −1.7563 0.4082 −1.5465 −0.9057 0.1409 −1.2861 0.1543 −0.2661 −0.2909 0.1074 −0.4593 0.4267 0.8240 −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.6765 0.0156 −3.2729 5.0759 −2.2303 1.3523 −0.2685 2.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.0356 2.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.2191 0.0156 −2.9293 3.1902 2.4175 1.2281 −1.0658 101 0.0156 2.4175 0.0156 2.4175 0.0156 2.4175 0.0156 −2.2303 2.4175 2.4175 −2.2303 2.4175 −2.2303 −2.2303 −2.9110 1.4447 −3.2543 1.6533 −3.1690 1.8578 −2.6986 1.7718 1.1949 0.7895 1.6293 0.8452 1.6924 1.8853 1.8917 −2.4501 2.8202 −1.1436 2.6745 −2.5907 1.8605 −2.5440 −0.9146 1.5933 −3.9950 1.3579 −2.9237 −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.4904 1.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.3601 0.5495 −0.5679 2.3998 −0.6609 −0.5908 −1.0414 3.0930 1.0322 −0.3074 −0.8599 3.7725 0.6431 1.2553 0.1333 −1.2829 0.2898 1.5700 −0.3596 0.2230 0.1409 −1.7563 −1.2861 0.4082 0.1543 −1.5465 −0.2661 102 −0.9057 −0.2909 *********************************************************************************************** PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS *********************************************************************************************** Resultats de l'algorithme (Levenberg modified Newton's method) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− Nombre d'iterations 6 Deviance 27.2302 Constante(s) SE −2.5448 0.8922 2.1904 0.9381 Coefficients de regression logistique estimes 3.0320 −1.2648 0.7180 SE 0.8328 0.8349 0.9601 Coefficients de regression logistique PLS en se ramenant aux variables d'origine 1.6748 2.5828 0.1883 −1.7239 Tableau des predictions −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− La premiere colonne donne la variable reponse. La derniere colonne donne l'estimation de la variable reponse. Les autres colonnes donnent les estimations des probabilites pour chaque reponse 2.0000 NaN NaN NaN 1.0000 3.0000 0.0003 0.0324 0.9673 3.0000 2.0000 0.0039 0.3020 0.6941 3.0000 3.0000 0.0000 0.0013 0.9987 3.0000 1.0000 0.5598 0.4333 0.0069 1.0000 1.0000 0.9878 0.0121 0.0001 1.0000 3.0000 0.0000 0.0034 0.9966 3.0000 3.0000 0.0002 0.0232 0.9766 3.0000 3.0000 0.0000 0.0003 0.9997 3.0000 2.0000 0.3822 0.6038 0.0140 2.0000 1.0000 0.9167 0.0825 0.0008 1.0000 3.0000 0.0461 0.8002 0.1537 2.0000 3.0000 0.0006 0.0650 0.9344 3.0000 1.0000 0.8025 0.1953 0.0022 1.0000 2.0000 0.0471 0.8021 0.1508 2.0000 2.0000 0.0752 0.8273 0.0975 2.0000 2.0000 0.1968 0.7686 0.0346 2.0000 103 3.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 3.0000 1.0000 1.0000 3.0000 1.0000 3.0000 3.0000 0.0002 0.2635 0.9603 0.4941 0.9974 0.0309 0.9930 0.0971 0.9997 0.7781 0.0012 0.9507 0.1224 0.0014 0.2322 0.0018 0.0066 0.0230 0.7125 0.0394 0.4970 0.0025 0.7531 0.0069 0.8274 0.0003 0.2194 0.1194 0.0489 0.8184 0.1359 0.7396 0.1703 0.4224 0.9768 0.0240 0.0004 0.0089 0.0000 0.2160 0.0001 0.0755 0.0000 0.0025 0.8794 0.0005 0.0592 0.8627 0.0282 0.8278 0.5711 3.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 2.0000 1.0000 1.0000 3.0000 1.0000 2.0000 3.0000 2.0000 3.0000 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 ecoulé en secondes 0.0608 *********************************************************************************************** *********************************************************************************************** 5.6 Illustration de la régression logistique PLS avec sélection de variables de type forward : utilisation du jeu de données 8 ************************************************************************************* ************************************************************************************* Nom du programme : MIAJ PLS PLUS V2009 1 Methode mise en oeuvre : regression logistique PLS avec selection de variables : methode forward Nom du fichier traite microobesFULLt0t6.txt On n'a pas transpose le tableau de donnees 104 Nombre de variables explicatives 448 Nombre de variables reponses 1 Nombre d'observations 78 Niveau de confiance (en pourcentage) 95 ************************************************************************************* Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : 128 153 155 194 216 248 266 270 283 323 328 358 361 422 ************************************************************************************* Temps ecoule en secondes : 221.2380 ************************************************************************************* ************************************************************************************* 5.7 Illustration de la régression kernel logistique pénalisée PLS avec sélection de variables de type forward : utilisation du jeu de données 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 28 3 29 5 30 10 32 13 34 19 39 20 25 26 27 49 52 58 59 60 62 Columns 17 through 32 40 41 43 45 105 66 67 68 69 71 72 Column 33 73 *********************************************************************************************** Le nombre de variables significatives est : 33 Temps ecoule en secondes : 8.3669e+03 *********************************************************************************************** *********************************************************************************************** 6 6.1 Récapitulatifs Récapitulatifs des méthodes utilisées Régression PLS (I et II) 1. Centrage et réduction des tableaux X et Y 2. Recherche des composantes orthogonales th (composantes PLS) . On construit des combinaisons linéaires des colonnes de F0 (notées u1 ) et des combinaisons linéaires des colonnes de E0 (notées t1 ) telle que la covariance entre u1 et t1 soit maximale. 3. Régressions de E0 et F0 sur t1 . On exprime la régression de F0 en fonction des variables explicatives. On obtient les matrices de résidus E1 et F1 . 4. On reprend les étapes 2 et 3 en remplaçant E0 par E1 et F0 par F1 jusqu’à convergence des composantes t1 ...th . Le nombre de composantes significatives A est déterminé soit a priori, soit par un test (du type validation croisée ou inférentiel). Régression PLS I avec selection 1. Calcul d’un premier modèle de régression PLS1 avec toutes les variables explicatives (les A composantes th retenues sont validées par le test du Q2 ). 2. Calcul du Q2 cumulé du modèle (noté Q2cum ) et stockage de la valeur de ce Q2cum . 3. Elimination de la variable présentant le plus petit coefficient (en valeur absolue) dans l’équation de ce modèle. 4. Retour en 1 avec une variable de moins. On répète ces étapes jusqu’à obtenir une seule variable explicative, puis on trace la courbe des Q2cum en fonction des variables éliminées. 106 Régression PLS II avec selection 1. Calcul d’un premier modèle de régression PLS1 avec toutes les variables explicatives (les A composantes th retenues sont validées par le test du Q2 ). 2. Calcul du VIP et stockage de la valeur de ce Q2cum . 3. Elimination de la variable présentant le plus petit VIP (en valeur absolue) dans l’équation de ce modèle. 4. Retour en 1 avec une variable de moins. On répète ces étapes jusqu’à obtenir une seule variable explicative, puis on trace la courbe des Q2cum en fonction des variables éliminées. Régression logistique PLS 1. Centrage et réduction du tableau X 2. Recherche des composantes orthogonales th (composantes logistiques PLS) . On effectue une régression logistique de la variable réponse sur les variables explicatives E0j (j=1...M ) et les composantes th pour chaque variable. 3. Régressions de E0 et Y sur t1 . On exprime la régression de Y en fonction des variables explicatives. On obtient les matrices de résidus E1 et F1 . 4. On reprend les étapes 2 et 3 en remplaçant E0 par E1 et Y par Y1 jusqu’à convergence des composantes t1 ...th . Le nombre de composantes significatives A est déterminé soit a priori, soit par un test (du type validation croisée). Régression logistique sur composantes PLS 1. La réponse présente deux modalités : – On réalise alors directement la régression PLS1 sur les variables explicatives. S’il existe des variables explicatives qualitatives, on transforme celles-ci en variables indicatrices pour obtenir un tableau disjonctif complet. – On réalise une régression logistique binaire (nominale) sur les composantes PLS obtenues. 2. La réponse présente trois modalités ou plus : – On transforme la réponse à k modalités en un tableau disjonctif complet (k variables réponses indicatrices) – On réalise la régression PLS2 – On réalise une régression logistique ordinale de la réponse sur les composantes PLS obtenues. Régression logistique PLS avec sélection de type backward 1. Calcul d’un premier modèle de régression logistique PLS avec toutes les variables explicatives (les A composantes th retenues sont validées par le test du Q2 au sens du Khi2). 2. Calcul du Q2 χh cumulé du modèle (noté Q2 χcum ) et stockage de la valeur de ce Q2cum . 3. Elimination de la variable (logistique) présentant le plus petit coefficient (en valeur absolue) dans l’équation de ce modèle. 4. Retour en 1 avec une variable de moins. On répète ces étapes jusqu’à obtenir une seule variable explicative, puis on trace la courbe des Q2cum en fonction des variables éliminées. 107 Régression logistique PLS avec sélection de type forward 1. Centrage et réduction des variables explicatives 2. On part du modèle complet. On effectue la régression logistique de Y sur E0. On enlève la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule la première composante logistique PLS. Les valeurs typiques du niveau de confiance sont 90, 95 et 99 % 3. A chaque étape, on effectue la régression logistique de Y sur E0 et les composantes logistiques PLS calculées à chaque étape. 4. A l’étape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 composantes. Régression logistique pénalisée PLS avec sélection de type forward 1. Centrage et réduction des variables explicatives 2. On part du modèle complet. On effectue la régression logistique pénalisée de Y sur E0. On enlève la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule la première composante logistique PLS. Les valeurs typiques du niveau de confiance sont 90, 95 et 99 % 3. A chaque étape, on effectue la régression logistique pénalisée de Y sur E0 et les composantes logistiques PLS calculées à chaque étape. 4. A l’étape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 composantes. Régression kernel logistique pénalisée PLS avec sélection de type forward 1. Centrage et réduction de la matrice de Gram. Ici on a adopté le noyau K(x, xi ) = exp(− kx − xi k22 /σ 2 ) . 2. On part du modèle complet. On effectue la régression logistique pénalisée de Y sur K0 . On enlève la(les) variable(s) la(les) moins significative(s) selon le test de Wald. On calcule la première composante logistique PLS. Les valeurs typiques du niveau de confiance sont 90, 95 et 99 % . 3. A chaque étape, on effectue la régression logistique pénalisée de Y sur K0 et les composantes logistiques PLS calculées à chaque étape. 4. A l’étape h, lorsqu’aucune variable explicative n’est significative, on obtient les h-1 composantes. 6.2 Tableau récapitulatif des options programmées selon les méthodes et exemples traités 108 Figure 4.9 – Tableau récapitulatif des options programmées selon les méthodes et exemples traités 109 Bibliographie [1] Bastien, P., Esposito Vinzi, V., Tenenhaus, M., 2004, PLS generalised linear regression, 48(1) :17-46 Computational statistics and Data Analysis. [2] Blin Amandine, Gauchi Jean-Pierre, M IAJ RP LS V 2009 1 Programme de régression PLS avec ou sans sélection de variables, Rapport technique 2009-1, INRA, UR341 Mathématiques et Informatique Appliquées (F-78350 Jouy-en-Josas, France), 2009, version 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 variables in PLS regression with application to manufactoring process data, Chemometrics And Intelligent Laboratory Systems, 58 (2), 171-193. [6] Heinze, G., and M. Schemper. 2002. A solution to the problem of separation in logistic regression, Stat. Med.,21 :2409-2419 [7] Hosmer, D-W, Lemeshow, S., 1989, Applied Logistic Regression, New York, John Wiley & Sons, Inc. [8] Lazraq, A., Cléroux, R., 2001, The PLS multivariate regression model : testing the significance of successive PLS components, Journal of chemometrics, 523-536. [9] Lazraq, A., Cléroux, R., Gauchi, J-P, 2003, Selecting both latent and explanatory variables in the PLS1 regression model, Chemometrics And Intelligent Laboratory Systems, 66, 117126. [10] Tenenhaus, A., Giron, A., Saporta, G. and Fertil, B., 2005, Kernel Logistic PLS : a new tool for complex classification in 11th International Symposium on Applied Stochastic Models and Data Analysis, Brest. [11] Tenenhaus, M., 1998, La régression PLS, Editions Technip. [12] Tenenhaus, M., Mai 2000, La régression logistique PLS, Journées SFDS, Fès. [13] Tenenhaus, M., 2007, Statistique : Méthodes pour décrire, expliquer et prévoir, Dunod. [14] Zhue Ji, Hastie Trevor, Classification of gene microarray by penalized logistic regression, Biostatistics, 5,3, pp 427-443, 2004. 110 Annexe A Programmation de l’interface On se reportera également aux programmes du premier rapport. %% %INTERFACE GRAPHIQUE de MIAJ PLS PLUS V2009 1 Cette interface permet %d'effectuer des regressions PLS logistiques et des regressions logistiques %sur composantes PLS avec ou sans donnees manquantes et avec ou sans %selection de variables. %AUTEURS : Amandine Blin & Jean−Pierre Gauchi %BIBLIOGRAPHIE : Bastien P., Esposito Vinzi V., Tenenhaus M., PLS %generalised linear regression, Computational Statistics & Data Analysis, %2004 %Copyright© INRA 2009 %% function varargout = MIAJ PLS PLUS V2009 1(varargin) % Begin initialization code − DO NOT EDIT gui Singleton = 1; gui State = struct('gui Name', mfilename, ... 'gui Singleton', gui Singleton, ... 'gui OpeningFcn', @MIAJ PLS PLUS V2009 1 OpeningFcn, ... 'gui OutputFcn', @MIAJ PLS PLUS V2009 1 OutputFcn, ... 'gui LayoutFcn', [] , ... []); 'gui Callback', if nargin && ischar(varargin{1}) gui State.gui Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui mainfcn(gui State, varargin{:}); else gui mainfcn(gui State, varargin{:}); end 111 % End initialization code − DO NOT EDIT %% function MIAJ PLS PLUS V2009 1 OpeningFcn(hObject, eventdata, handles, varargin) handles.output = hObject; %set ma position(hObject); guidata(hObject, handles); %% function varargout = MIAJ PLS PLUS V2009 1 OutputFcn(hObject, eventdata, handles) varargout{1} = handles.output; %% %Menu defilant qui permet de choisir les differentes regressions% function popupmenu choixfct Callback(hObject, eventdata, handles) a1=get(hObject,'Value'); switch a1; % suivant le choix de l'utilisateur case 1 %cas des regressions simples %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','off'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox affichage,'Visible','on'); set(handles.edit nblim,'Visible','off'); set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','off'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit nblim,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','off'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text9,'Visible','off'); set(handles.text35,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text14,'Visible','off'); set(handles.text17,'Visible','off'); 112 set(handles.text4,'Visible','off'); set(handles.text15,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); set(handles.edit nbY,'Visible','off'); case 2 %cas regressions logistiques univariees %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox affichage,'Visible','on'); set(handles.edit nblim,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit nblim,'Visible','off'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','off'); 113 set(handles.text8,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','off'); set(handles.text14,'Visible','on'); set(handles.text15,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); case 3 %cas regressions logistiques penalisees univariees %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox affichage,'Visible','on'); set(handles.edit nblim,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit nblim,'Visible','off'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); 114 set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','off'); set(handles.text14,'Visible','on'); set(handles.text15,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); case 4 % Cas de la regression PLS1 sans selection de variables %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); 115 set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','on'); set(handles.checkbox jeu,'Visible','on'); set(handles.checkbox Q2,'Visible','on'); set(handles.checkbox R2,'Visible','on'); set(handles.checkbox LC,'Visible','on'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','on'); set(handles.checkbox transposition,'Visible','on'); set(handles.checkbox qualit,'Visible','off'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text9,'Visible','off'); set(handles.text35,'Visible','on'); set(handles.text5,'Visible','on'); set(handles.text4,'Visible','on'); set(handles.text14,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','on'); set(handles.text18,'Visible','on'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','on'); set(handles.popupmenu choix jeu,'Visible','on'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','1'); set(handles.edit nblim,'String','5'); case 5 % Cas de la regression PLS1 avec selection de variables (BQ) %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); 116 set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text9,'Visible','off'); set(handles.text35,'Visible','on'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','1'); set(handles.edit nblim,'String','5'); case 6 % Cas de la regression PLS1 avec selection de variables (forward) set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox affichage,'Visible','on'); set(handles.edit nblim,'Visible','on'); 117 set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit nblim,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text5,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text9,'Visible','off'); set(handles.text35,'Visible','on'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text26,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','off'); set(handles.text15,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text10,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); 118 set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','1'); set(handles.edit nblim,'String','5'); case 7 % Cas de la regression PLS2 sans selection de variables set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.text9,'Visible','off'); set(handles.text35,'Visible','on'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','on'); set(handles.checkbox jeu,'Visible','on'); set(handles.checkbox Q2,'Visible','on'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text5,'Visible','on'); set(handles.text11,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','on'); set(handles.text18,'Visible','on'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); 119 set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','on'); set(handles.popupmenu choix jeu,'Visible','on'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 8 % Cas de la regression PLS2 avec selection de variables %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox qualit,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text9,'Visible','off'); set(handles.text35,'Visible','on'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text31,'Visible','off'); 120 set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 9 % Cas de la regression logistique sur composantes PLS %sans selection de variables %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','on'); set(handles.edit nblim,'Visible','on'); set(handles.checkbox affichage,'Visible','off'); set(handles.pushbutton calcul,'Visible','on'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','on'); set(handles.checkbox Q2,'Visible','on'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','off'); set(handles.text5,'Visible','on'); set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','on'); set(handles.text18,'Visible','off'); 121 set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','on'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 10 %regression logistique PLS sans selection de variables %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','on'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','on'); set(handles.checkbox forward,'Visible','on'); set(handles.checkbox transposition,'Visible','on'); set(handles.checkbox qualit,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','off'); set(handles.text5,'Visible','on'); set(handles.text11,'Visible','off'); 122 set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text26,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text19,'Visible','on'); set(handles.text18,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','on'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 11 %regression logistique PLS avec selection de variables : methode BQ %On modifie la visibilite de certains elements: set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.edit conf reg,'Visible','off'); set(handles.text44,'Visible','off'); set(handles.text45,'Visible','off'); set(handles.text46,'Visible','off'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox transposition,'Visible','on'); 123 set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text5,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text26,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text18,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text10,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 12 %regression logistique PLS avec selection de variables : methode forward set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit nblim,'Visible','off'); set(handles.edit7,'Visible','off'); 124 set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text5,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text26,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','off'); set(handles.text15,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text10,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 13 %regression logistique penalisee PLS avec %selection de variables : methode forward set(handles.checkbox donnmanquante,'Visible','on'); 125 set(handles.checkbox affichage,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit nblim,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text5,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text26,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.fichiertest,'Visible','off'); set(handles.text5,'Visible','off'); set(handles.text4,'Visible','off'); set(handles.text15,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text10,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); 126 set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); case 14 %regression logistique penalisee à noyau PLS %avec selection de variables : methode forward set(handles.checkbox donnmanquante,'Visible','on'); set(handles.checkbox affichage,'Visible','off'); set(handles.edit nblim,'Visible','on'); set(handles.pushbutton calcul,'Visible','on'); set(handles.pushbutton quit,'Visible','on'); set(handles.edit conf reg,'Visible','on'); set(handles.text44,'Visible','on'); set(handles.text45,'Visible','on'); set(handles.text46,'Visible','on'); set(handles.edit nbY,'Visible','on'); set(handles.edit sauvegarde,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.edit nblim,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); set(handles.edit varcons,'Visible','off'); set(handles.checkbox choix sauvegarde,'Visible','on'); set(handles.checkbox intervalle,'Visible','off'); set(handles.checkbox jeu,'Visible','off'); set(handles.checkbox Q2,'Visible','off'); set(handles.checkbox LC,'Visible','off'); set(handles.checkbox khi2,'Visible','off'); set(handles.checkbox forward,'Visible','off'); set(handles.checkbox qualit,'Visible','on'); set(handles.checkbox R2,'Visible','off'); set(handles.checkbox transposition,'Visible','on'); set(handles.text10,'Visible','on'); set(handles.text8,'Visible','on'); set(handles.text5,'Visible','off'); set(handles.text11,'Visible','off'); set(handles.text9,'Visible','on'); set(handles.text35,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.text20,'Visible','off'); set(handles.text4,'Visible','on'); set(handles.text15,'Visible','on'); set(handles.text26,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text27,'Visible','off'); set(handles.text19,'Visible','off'); set(handles.fichiertest,'Visible','off'); 127 set(handles.text5,'Visible','off'); set(handles.text4,'Visible','off'); set(handles.text15,'Visible','off'); set(handles.text18,'Visible','off'); set(handles.text8,'Visible','off'); set(handles.text10,'Visible','off'); set(handles.text31,'Visible','off'); set(handles.text32,'Visible','off'); set(handles.edit quant,'Visible','off'); set(handles.text38,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.edit conf,'Visible','off'); set(handles.text24,'Visible','off'); set(handles.text37,'Visible','off'); set(handles.text25,'Visible','off'); set(handles.text fichier sauvegarde,'Visible','off'); set(handles.popupmenu choix intervalle,'Visible','off'); set(handles.popupmenu choix jeu,'Visible','off'); %On modifie les valeurs initiales dans les champs: set(handles.edit nbY,'String','2'); set(handles.edit nblim,'String','5'); end %fin pour la programmation du bouton choix des menus %% %Menu deroulant permettant de choisir la methode de regression function popupmenu choixfct CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %Boite de dialogue des repertoires du disque dur pour l'importation des %donnees function pushbutton5 Callback(hObject, eventdata, handles) [filename,pathname]=uigetfile({'*.xls';'*.txt'},'File Selection'); set(handles.edit fichier,'String',filename) %importation de fichiers excel if (all(filename(end−2:end)=='xls')) set(handles.edit col,'Visible','off'); set(handles.edit row,'Visible','off'); set(handles.text42,'Visible','off'); set(handles.text43,'Visible','off'); %importation de fichiers textes else if (all(filename(end−2:end)=='txt')) set(handles.edit col,'Visible','on'); set(handles.edit row,'Visible','on'); set(handles.text42,'Visible','on'); set(handles.text43,'Visible','on'); end; 128 end %% %Boite de dialogue des repertoires du disque dur pour importer le fichier−test %des donnees function pushbutton6 Callback(hObject, eventdata, handles) [filename1,pathname1]=uigetfile({'*.*'},'File Selection'); set(handles.edit7,'String',filename1) %fichiers excel if (all(filename1(end−2:end)=='xls')) set(handles.edit col,'Visible','off'); set(handles.edit row,'Visible','off'); %fichiers textes else if (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 à 2'); end; case 3 %pre−traitement : regressions logistiques penalisees if tailleY<2 warndlg('Le nombre de modalites doit etre egal au moins à 2'); 129 end; case 4 %PLS1 sans selection if tailleY>2 warndlg('Le nombre de variables reponses doit etre egal à 1'); end; case 5 %PLS1 avec selection BQ if tailleY>2 warndlg('Le nombre de variables reponses doit etre egal à 1'); end; case 6 %PLS1 avec selection forward if tailleY>2 warndlg('Le nombre de variables reponses doit etre egal à 1'); end; case 7 %PLS2 sans selection if tailleY<2 warndlg('Le nombre de variables reponses doit etre egal au moins à 2'); end; case 8 %PLS2 avec selection BQ if tailleY<2 warndlg('Le nombre de variables reponses doit etre egal au moins à 2'); end; case 9 %regression logistique PLS if tailleY<2 warndlg('Le nombre de modalites doit etre egal au moins à 2'); end; case 10 %regression logistique sur composantes PLS if tailleY<2 warndlg('Le nombre de modalites doit etre egal au moins à 2'); end; case 11 %regression logistique PLS avec selection BQ if tailleY<2 warndlg('Le nombre de modalites doit etre egal au moins à 2'); end; case 12 %regression logistique PLS avec selection forward if tailleY<2 warndlg('Le nombre de modalites doit etre egal au moins à 2'); end; case 13 %regression logistique penalisee PLS avec selection forward if tailleY<2 warndlg('Le nombre de modalites doit etre egal à 2'); end; case 14 %regression kernel logistique penalisee PLS avec selection forward if tailleY<2 warndlg('Le nombre de modalites doit etre egal à 2'); end; end; 130 %% function edit nbY CreateFcn(hObject, eventdata, handles) %% %Choix du nombre de composantes choisi a priori% function edit nblim Callback(hObject, eventdata, handles) %% function edit nblim CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %Taux pour le tirage aleatoire% function edit tjeu Callback(hObject, eventdata, handles) tal=str2double(get(hObject,'String')); if ((tal)>80) warndlg('Choisissez un taux inferieur'); end if ((tal)==0) warndlg('Choisissez un taux superieur'); end function edit tjeu CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %On rentre le nombre de variables que l'on veut conserver apres selection %de variables function edit varcons Callback(hObject, eventdata, handles) %% function edit varcons CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %Choix de sauvegarde des resultats% function checkbox choix sauvegarde Callback(hObject, eventdata, handles) if (get(hObject,'Value')==1)%on sauvegarde %visibilite du cadre pour le nom du fichier set(handles.text fichier sauvegarde,'Visible','on'); set(handles.edit sauvegarde,'Visible','on'); set(handles.text20,'Visible','on'); else %visibilite du cadre pour le nom du fichier set(handles.text fichier sauvegarde,'Visible','off'); set(handles.edit sauvegarde,'Visible','off'); set(handles.text20,'Visible','off'); end %% %Nom du fichier de sauvegarde function edit sauvegarde Callback(hObject, eventdata, handles) %% function edit sauvegarde CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) 131 set(hObject,'BackgroundColor','white'); end %% %Nom du fichier−test que l'on veut importer function edit7 Callback(hObject, eventdata, handles) %% function edit7 CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %niveau de confiance pour IC function edit conf Callback(hObject, eventdata, handles) niv=str2double(get(hObject,'String')); if ((niv)>99) warndlg('Choisissez un pourcentage inferieur pour le seuil de confiance'); end if ((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−traitements function edit conf reg Callback(hObject, eventdata, handles) function edit conf reg CreateFcn(hObject, eventdata, handles) 132 if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %Cas où 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 où l'on veut effectuer un jeu−test function checkbox jeu Callback(hObject, eventdata, handles) if (get(hObject,'Value')==1) switch get(handles.popupmenu choix jeu,'Value'); case 1 %visibilite du cadre pour le nom du fichier set(handles.text11,'Visible','off'); set(handles.text17,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.fichiertest,'Visible','on'); set(handles.edit7,'Visible','on'); set(handles.pushbutton6,'Visible','on'); case 2 set(handles.text11,'Visible','on'); set(handles.text17,'Visible','on'); set(handles.edit tjeu,'Visible','on'); 133 set(handles.fichiertest,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); end else set(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 où on veut effectuer un test du Q2 function checkbox Q2 Callback(hObject, eventdata, handles) %% % Cas où on veut effectuer un test du R2 function checkbox R2 Callback(hObject, eventdata, handles) %% %Cas où on veut effectuer un test de LC function checkbox LC Callback(hObject, eventdata, handles) %% %cas où on veut effectuer un test du khi2 function checkbox khi2 Callback(hObject, eventdata, handles) %% % Cas où on veut effectuer une regression logistique PLS pas à 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'); else set(handles.text37,'Visible','off'); set(handles.edit tauxsign,'Visible','off'); set(handles.text signif,'Visible','off'); set(handles.text38,'Visible','off'); end %% %Cas où l'on veut transposer le tableau de donnees function checkbox transposition Callback(hObject, eventdata, handles) %% %choix du jeu−test function popupmenu choix jeu Callback(hObject, eventdata, handles) switch get(handles.popupmenu choix jeu,'Value'); case 1 %visibilite du cadre pour le nom du fichier set(handles.text11,'Visible','off'); 134 set(handles.text17,'Visible','off'); set(handles.edit tjeu,'Visible','off'); set(handles.fichiertest,'Visible','on'); set(handles.edit7,'Visible','on'); set(handles.pushbutton6,'Visible','on'); case 2 %visibilite du cadre pour le nom du fichier set(handles.text11,'Visible','on'); set(handles.text17,'Visible','on'); set(handles.edit tjeu,'Visible','on'); set(handles.fichiertest,'Visible','off'); set(handles.edit7,'Visible','off'); set(handles.pushbutton6,'Visible','off'); end %% function popupmenu choix jeu CreateFcn(hObject, eventdata, handles) if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor')) set(hObject,'BackgroundColor','white'); end %% %Presence de variables explicatives qualitatives function checkbox qualit Callback(hObject, eventdata, handles) if (get(hObject,'Value')==1)%on sauvegarde set(handles.text31,'Visible','on'); set(handles.text32,'Visible','on'); set(handles.edit quant,'Visible','on'); else set(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 où on effectue un pre−traitement function checkbox traitement Callback(hObject, eventdata, handles) if (get(hObject,'Value')==1)%on sauvegarde set(handles.checkbox pre qual,'Visible','on'); else set(handles.checkbox pre qual,'Visible','off'); end 135 %% % function edit tauxsign Callback(hObject, eventdata, handles) %% % function edit tauxsign CreateFcn(hObject, eventdata, handles) %% %%%%%%%%%%%%%%%%%%Realisation des differents algorithmes%%%%%%%%%%%%%%%%%% function pushbutton calcul Callback(hObject, eventdata, handles) global TT Don TAB Xnew %Initialisation : on recupere tout ce que contiennent les boites: %debut de l'horloge tic %DM donmanquante=get(handles.checkbox donnmanquante,'Value'); %affichage affichage=get(handles.checkbox affichage,'Value'); %composantes composantes=str2double(get(handles.edit nblim,'String')); %modalite modalite=str2double(get(handles.edit nbY,'String')); %numeros variables qualitatives vecteur=str2num(get(handles.edit quant,'String')); %niveau de confiance pour le jeu de donnees tal=(str2double(get(handles.edit tjeu,'String')))/100; %IC conf=str2double(get(handles.edit conf,'String')); %niveau de confiance pour IC confreg=(str2double(get(handles.edit conf reg,'String')))/100; %sauvegarde choix sauvegarde=get(handles.checkbox choix sauvegarde, 'Value'); %intervalle intervalle=get(handles.checkbox intervalle,'Value'); sauvegarde=get(handles.edit sauvegarde,'String'); %jeu de donnees jeu=get(handles.checkbox jeu,'Value'); %test Q2 Q2=get(handles.checkbox Q2,'Value'); %test LC LC=get(handles.checkbox LC,'Value'); %test khi2 khi2=get(handles.checkbox khi2,'Value'); %test forward forward=get(handles.checkbox forward,'Value'); %test R2 R2=get(handles.checkbox R2,'Value'); %seuil seuil1=(str2double(get(handles.edit tauxsign,'String')))/100; %variables qualitatives 136 qualitatif=get(handles.checkbox qualit,'Value'); %transposition transposition=get(handles.checkbox transposition,'Value'); vmiss=999999; %remplacement des valeurs manquantes alpha=0.05; %seuil=0.05; %Importation des donnees:% fichier=get(handles.edit fichier,'String'); %importation de fichier excel if (all(fichier(end−2:end)=='xls')) Don=xlsread(fichier(1:end−4)); %importation de fichiers texte else if (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; else warndlg('Seuls les formats .xls ou .txt sont acceptes', 'ATTENTION!!'); end end %Cas où on veut transposer les donnees du tableaux if transposition==1 Don=Don'; %transposition du fichier end; %Calculs selon la regression choisie% switch get(handles.popupmenu choixfct,'Value') %%%%%%%%%%%%%Pre−traitement : Regressions simples%%%%%%%%%%%%% case 1 clc; tic; disp('********************************************************************************* disp('********************************************************************************* disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : PRE−TRAITEMENT A L''AIDE DE REGRESSIONS SIMPLES') disp('Nom du fichier traite') 137 disp(fichier) if transposition==1 disp('On a transpose le tableau de donnees') else disp('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 où on a plus d'une variable reponse if q>1 for k=1:q disp('Resultats pour la variable reponse numero : ') disp(k) [Coefficients, S err, XTXI, R sq, F val, Coef stats, Y hat, residuals, covariance]=mregress(Y(:,k), X, 0); disp('Les coefficients de regression sont'); disp(Coefficients) disp('*********************************************************************'); p value=Coef stats(:,end); X1=X(:,find(p value<seuil)); 138 indice1=indice(find(p value<seuil)); disp('*********************************************************************'); Don1=[X1 Y]; disp('*********************************************************************'); disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : '); disp(indice1) save('regressions simples num.txt','indice1','−ascii'); end %cas où on a une variable reponse else Coefficients1=zeros(size(X,2),1); pvalue=zeros(size(X,2),1); for k=1:size(X,2) [Coefficients, S err, XTXI, R sq, F val, Coef stats, Y hat, residuals, covariance]=mregress(Y,X(:,k), 0); pvalue(k)=Coef stats(:,end); Coefficients1(k)=Coefficients; end X=X(:,find(pvalue<seuil)); Coefficients1=Coefficients1(find(pvalue<seuil)); indice1=indice(find(pvalue<seuil)); disp('***************************************************************************** disp('Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont)'); disp(Coefficients1); disp('***************************************************************************** Don1=[X Y]; disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : '); disp(indice1) disp('Nombre de variables selectionnees'); disp(size(X,2)); save('regressions simples num.txt','indice1','−ascii'); end %enregistrement des resultats save('regressions simples.txt','Don1','−ascii'); if affichage==1 disp('Tableau des variables selectionnees'); disp(X) end; disp('********************************************************************************* disp('Temps ecoule en secondes : '); t=toc; disp(t); disp('********************************************************************************* disp('********************************************************************************* %%%%%%%%%%%%%Pre−traitement : Regressions logistiques univariees%%%%%%%%%%%%% case 2 clc; tic; disp('********************************************************************************* disp('********************************************************************************* 139 disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : PRE−TRAITEMENT A L''AIDE DE REGRESSIONS LOGISTIQUES UNIVARIEES') disp('Nom du fichier traite') disp(fichier) if transposition==1 disp('On a transpose le tableau de donnees') else disp('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,:) = []; end Don=[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 où les variables explicatives sont %qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 %cas où on a un codage 0/1 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); else %autres cas de codage mod1=max(Xqual); end %disp(Xqual); m=mod1−min(Xqual); for j=1:length(m) tab=[zeros(1,mod1(j)−1);eye(mod1(j)−1)]; 140 Xqual1=Xqual(:,j); maxi=max(Xqual1); diff=maxi−min(Xqual1); tab2=zeros(size(Xqual1,1),diff); for k=1:length(Xqual1) tab2(k,:)=tab(Xqual1(k),:); end tab3=[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 à droite du tableau') else disp('Il n''existe pas de variables explicatives qualitatives'); end; for i=1:p %regression logistique [beta,theta,nz,nx,xstd,iter,dev,se]=logistic ordinal(Y,X(:,i),1); beta1(i)=beta; SE(i)=se((nz+1):(nz+nx),1)./(xstd'); end; W=(beta1./SE).ˆ2; p value=1−chi2cdf(W,1); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Resultats des regressions logistiques univariees') disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− tableauwald=[beta1' W' SE' p value']; %disp(tableauwald); p value1=p value'; save('p value pretraitement logistique.txt','p value1','−ascii'); indice=indice(find(p value<seuil)); X=X(:,find(p value<seuil)); beta1=beta1'; Coefficients=beta1(find(p value<seuil)); %size(indice) 141 save('indice logistiques univariees.txt','indice','−ascii'); Don1=[X Y]; disp('Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont)'); disp(Coefficients'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : '); disp(indice) save('logistiques univariees num.txt','indice','−ascii'); disp('Nombre de variables selectionnees'); disp(length(indice)); indice1=indice'; p value2=p value1(find(p value1<seuil)); pvaluenum=[indice1 p value2]; save('logistiques univariees num.txt','pvaluenum(:,1)','−ascii'); indicequal1=0; numero1=zeros(2,size(indice,2)); numero1(1,:)=indice; numero1(2,:)=[1:size(indice,2)]; for j=1:length(indice) for i=1:length(indicesqual) if find(indicesqual(i)==indice(j)) indicequal1(i)=numero1(2,j); end end end if 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 à la variable reponse save('logistiques univariees.txt','Don1','−ascii'); if affichage==1 disp('Tableau des variables selectionnees'); disp(X) end; disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− t=toc; disp('Temps ecoule en secondes'); disp(t); disp('*********************************************************************************** disp('*********************************************************************************** %%%%%%%%%%%%%Pre−traitement : Regressions logistiques penalisees univariees%%%%%%%%%%%%% case 3 clc; tic; disp('********************************************************************************* disp('********************************************************************************* disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : PRE−TRAITEMENT A L''AIDE DE REGRESSIONS LOGISTIQUES PENALISEES UNIVARIEES') disp('Nom du fichier traite') 142 disp(fichier) if transposition==1 disp('On a transpose le tableau de donnees') else disp('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; else Y=Y−1; end X=Don(:,1:(end−1)); wasnan = (isnan(Y) | any(isnan(X),2)); havenans = any(wasnan); if havenans Y(wasnan) = []; X(wasnan,:) = []; end Don=[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); else moyX=mean(X); %donnees sans valeurs manquantes stdX=std(X); end [Xc]=centrage(vmiss,X,moyX); [E0]=reduction(Xc,stdX,vmiss); 143 indice=[1:p+q]; %disp(indice) %Recodage dans le cas où les variables explicatives sont %qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 %cas où 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),:); end tab3=[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 à droite du tableau') else disp('Il n''existe pas de variables explicatives qualitatives'); end; 144 beta1=zeros(p,1); p value=zeros(p,1); for i=1:p %regression logistique [beta,prob,ci lower,ci upper]= penalizedlogisticregression(E0(:,i),Y,firth, epsilon,maxstep,maxhs,alpha); beta1(i)=beta; p value(i)=prob; end; disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Resultats des regressions logistiques penalisees univariees') disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− tableauwald=[beta1 p value]; %disp(tableauwald); save('p value pretraitement logistique penalisee.txt','p value','−ascii'); indice=indice(find(p value<seuil)); X=X(:,find(p value<seuil)); Coefficients=beta1(find(p value<seuil)); %size(indice) save('indice pretraitement logistique penalisee.txt','indice','−ascii'); Don1=[X Y]; disp('Le(s) coefficient(s) de regression de(s) variable(s) selectionnee(s) est (sont)'); disp(Coefficients'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : '); disp(indice) disp('Nombre de variables selectionnees'); disp(length(indice)); indice1=indice'; p value2=p value(find(p value<seuil)); pvaluenum=[indice1 p value2]; save('logistiques penalisees num.txt','pvaluenum(:,1)', '−ascii'); indicequal1=0; numero1=zeros(2,size(indice,2)); numero1(1,:)=indice; numero1(2,:)=[1:size(indice,2)]; for j=1:length(indice) for i=1:length(indicesqual) if find(indicesqual(i)==indice(j)) indicequal1(i)=numero1(2,j); end end end if 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 à la variable reponse save('logistiques penalisees.txt','Don1','−ascii'); 145 if affichage==1 disp('Tableau des variables selectionnees'); disp(X) end; disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− t=toc; disp('Temps ecoule en secondes'); disp(t); disp('*********************************************************************************** disp('*********************************************************************************** %%%%%%%%%%%%%Regression PLS1 sans selection de variables%%%%%%%%%%%%% case 4 clc; disp('*********************************************************') disp('*********************************************************') disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : REGRESSSION PLS1 SANS SELECTION DE VARIABLES') disp('Nom du fichier traite') disp(fichier) if transposition==1 disp('On a transpose le tableau de donnees') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2) ; disp('Nombre de variables explicatives') disp(p) disp('Nombre de variables reponses') disp(q) disp('Nombre d''observations') disp(n) %identification des donnees manquantes: if (donmanquante==1) if sum(isnan(Don))>0.2*(n*(p+q)) quit(MIAJ PLS PLUS V2009 1) end %on remplace les blancs correspondant aux donnees manquantes par vmiss. X(isnan(X))=vmiss; Y(isnan(Y))=vmiss; end %%%centrage−reduction des tableaux:%%% if (donmanquante==1) %donnees avec valeurs manquantes moyX=moyenne(X,vmiss); 146 moyY=moyenne(Y,vmiss); [stdX,ssx]=ecart type(X,moyX,vmiss); [stdY,ssY]=ecart type(Y,moyY,vmiss); else 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% snip=10ˆ(−10); A=p; uini=zeros(n,1); itnip=100; L=500; if (composantes>p) error('Le nombre limite de composantes PLS fixe depasse le nombre de variables'); end %lancement des algorithmes: if (donmanquante==0) %cas oı̈¿½ il n'y a pas de donnees manquantes disp('Il n''existe pas de donnees manquantes'); disp('*********************************************************') %regression PLS1 sans donnees manquantes [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=PLS1 sans DM(composantes,E0,F0,snip,uini); disp('*********************************************************') disp('Resultats pour le nombre de composantes choisi a priori') disp('*********************************************************') disp('TT : composantes PLS') disp(TT) disp('*********************************************************') disp('PP : coefficients de regression de E0 sur TT') disp(PP) disp('*********************************************************') disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('*********************************************************') disp('WW : vecteurs propres'); disp(WW) disp('*********************************************************') disp('WWS : W tilde') disp(WWS) disp('*********************************************************') disp('UU : composantes associees au tableau Y') disp(UU) disp('*********************************************************') disp('BETA : coefficients de regression de Y sur X pour les donnees centrees reduites') 147 disp(BETA) disp('*********************************************************') disp('LEV : matrice des leviers') disp(LEV) %calculs des equations de regression [betan]=eq PLS1 sans DM(composantes,BETA,X,Y); disp('*********************************************************') disp('Coefficients de regressions PLS pour les donnees brutes') disp('*********************************************************') disp('betan : coefficients des equations de regression pour les donnees brutes') disp(betan) %Reconstitution des donnees et prediction sur un jeu de %donnees [ylc,rmse]=res pred jeu(X,Y,betan,composantes); disp('*********************************************************') disp('Reconstitution sur les donnees d''origine en fonction du nombre de composantes') disp('*********************************************************') seuil=(max(Y)−min(Y))/2; res=abs(ylc(:,composantes)−Y); nb=0; if find(res<seuil) nb=nb+1; end; pourcentage bien classes=(nb/q)*100; disp('Le pourcentage de donnees bien classees est : '); disp(pourcentage bien classes) ylc2=[ylc Y ]; disp('ylc2 : y reconstitue en fonction des composantes (prevision). La derniere colonne est le y d''origine.') disp(ylc2) disp('*********************************************************') disp('rmse : residual mean square error en fonction des composantes') disp(rmse) if intervalle==1 %intervalle de confiance disp('*********************************************************') disp('Calcul des intervalles de confiance sur les coefficients de regression PLS') disp('*********************************************************') % suivant le choix de l'utilisateur switch get(handles.popupmenu choix intervalle,'Value'); case 1 %jacknife intervalle=JACK(n,p,q,Don,composantes,vmiss,snip,conf) ; disp('*********************************************************') disp('intervalles de confiance obtenus par la methode jacknife pour la derniere composante') disp(intervalle) 148 case 2 %boostrap intervalle=bootstrap(L,Don,composantes,vmiss,snip,uini,conf); disp('*********************************************************') disp('intervalles de confiance obtenus par la methode bootstrap pour la derniere composante') disp(intervalle) case 3 %approximation intervalle=approximation PLS1(n,p,X,Y,composantes,ylc,BETA); disp('*********************************************************') disp('intervalles de confiance par approximation pour la derniere composante') disp(intervalle) end 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)); else if (all(fichier test(end−2:end)=='txt')) Don test=load(fichier test); else warndlg('Seuls les formats .xls ou .txt sont acceptes','ATTENTION!!'); end end ytest=Don test(:,end); xtest=Don test(:,1:(end−1)); ntest=size(Don test,1); ptest=size(xtest,2); qtest=size(ytest,2); uini=zeros(ntest,1); moyXtest=mean(xtest); moyYtest=mean(ytest); stdXtest=std(xtest); stdYtest=std(ytest); [Xctest]=centrage(vmiss,xtest,moyXtest); [E0test]=reduction(Xctest,stdXtest,vmiss); [Yctest]=centrage(vmiss,ytest,moyYtest); [F0test]=reduction(Yctest,stdYtest,vmiss); [TTtest,PPtest,UUtest,WWtest,WWStest,CCtest,BETAtest, ychaptest,LEVtest]= 149 PLS1 sans DM(composantes,E0test,F0test,snip,uini); [betantest]=eq PLS1 sans DM(composantes,BETAtest,xtest,ytest); [ylc,rmse]=res pred jeu(xtest,ytest,betantest,composantes); disp('*********************************************************') disp('ylc : y reconstitue en fonction des composantes pour le jeu−test') disp(ylc) disp('*********************************************************') disp('rmse : residual mean square error en fonction des composantes pour le jeu−test') disp(rmse) case 2 [nal,seldef,nlearn,ntest,xtest,ytest]= tirage aleatoire(X,Y,tal); [ylc,rmse]=res pred jeu(xtest,ytest,betan,composantes); disp('*********************************************************') disp('ylc : y reconstitue en fonction des composantes pour le jeu−test') disp(ylc) disp('*********************************************************') disp('rmse : residual mean square error en fonction des composantes pour le jeu−test') disp(rmse) end; end; else %cas où il y a des donnees manquantes disp('Il existe des donnees manquantes'); disp('*********************************************************') %regression PLS1 avec donnees manquantes [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]= PLS DM(composantes,E0,F0,vmiss,itnip,composantes); disp('*********************************************************') disp('Resultats pour le nombre de composantes choisi a priori') disp('*********************************************************') disp('TT : composantes PLS') disp(TT) disp('*********************************************************') disp('PP : coefficients de regression de E0 sur TT') disp(PP); disp('*********************************************************') disp('CC : coefficients de regression de F0 sur TT') disp(CC); disp('*********************************************************') disp('WW : vecteurs propres'); disp(WW); disp('*********************************************************') disp('WWS : W tilde') disp(WWS); disp('*********************************************************') disp('UU : composantes associees au tableau Y') disp(UU); 150 disp('*********************************************************') disp('BETA : coefficients de regression de Y sur X pour les donnees centrees reduites') disp(BETA) disp('*********************************************************') disp('LEV : matrice des leviers') disp(LEV); %calculs equations de regression [betan]=eq PLS1 DM(composantes,BETA,X,Y); disp('*********************************************************') disp('Coefficients de regressions PLS pour les donnees brutes') disp('*********************************************************') disp('betan : coefficients de regression') disp(betan); %Reconstitution des donnees et prediction sur un jeu de %donnees [ylc,rmse]=res pred jeu DM(X,Y,betan,composantes,vmiss); disp('*********************************************************') disp('Reconstitution sur les donnees d''origine en fonction du nombre de composantes') disp('*********************************************************') ylc2=[ylc Y]; disp('ylc : y reconstitue en fonction des composantes (prevision). La derniere colonne est le y d''origine.') disp(ylc2); disp('*********************************************************') disp('rmse : residual mean square error en fonction des composantes') disp(rmse); if intervalle==1 disp('*********************************************************') disp('Calcul des intervalles de confiance sur les coefficients de regression PLS') disp('*********************************************************') % suivant le choix de l'utilisateur switch get(handles.popupmenu choix intervalle,'Value'); case 1 %jacknife intervalle= JACK DM(n,p,q,Don,composantes,vmiss,donmanquante,itnip,conf); disp('*********************************************************') disp('intervalles de confiance obtenus par la methode jacknife pour la derniere composante') disp(intervalle) case 2 %boostrap intervalle= bootstrap DM(L,Don,composantes,vmiss,donmanquante,itnip,conf); disp('*********************************************************') disp('intervalles de confiance obtenus par la methode boostrap pour la derniere composante') disp(intervalle) case 3 %approximation disp('Il n''existe pas d''intervalles de confiance par la 151 methode d''approximation') end end; end %tests if Q2==1 disp('*********************************************************') disp('Choix du nombre de composantes PLS significatives par le test du Q2') disp('*********************************************************') %validation croisee [Q2cum,H,nb]= validation croisee PLS1 version1(F0,ychap,LEV,composantes); disp('La premiere colonne donne le Q2'); disp('La deuxieme colonne donne le Q2cum'); disp('La troisieme donne le resultat du test') disp(H) disp('Nombre de composantes significatives') disp(nb) end; if R2==1 disp('*********************************************************') disp('Choix du nombre de composantes PLS significatives par le test du R2') disp('*********************************************************') %validation croisee [R2,H,nb]=validation croisee PLS1 R2(F0,ychap,composantes); disp('La premiere colonne donne le R2'); disp('La deuxieme donne le resultat du test') disp(H) disp('Nombre de composantes significatives') disp(nb) end; if LC==1 %test de LC disp('*********************************************************') disp('Choix du nombre de composantes PLS significatives par le test de Lazraq−Cleroux') [thsig]=Lazraq cleroux(E0,F0,composantes,TT,alpha); disp('*********************************************************') disp('Nombre de composantes PLS significatives') disp(thsig) end; %Calcul des pouvoirs d'explication de E0 et F0 disp('*********************************************************') disp('Calcul des pouvoirs d''explication de E0 et F0 (voir article de M. Tenenhaus, J−P Gauchi et C. Menardo [7])') pouvoir explication=calcul taux explication(composantes,TT,PP,CC); disp('*********************************************************') disp('La premiere colonne donne le pouvoir de chaque t h pour resumer E0') 152 disp('La deuxieme colonne donne le pouvoir des h premiers t h pour resumer E0') disp('La troisieme colonne donne le pouvoir de chaque t h pour resumer F0') disp('La quatrieme colonne donne le pouvoir des h premiers t h pour resumer F0') disp(pouvoir explication) if forward==1 %test forward set(handles.text signif,'Visible','on'); set(handles.text37,'Visible','on'); set(handles.edit tauxsign,'Visible','on'); disp('******************************************************************************* disp('Choix du nombre de composantes PLS significatives par la technique de regression PLS pas à 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') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: 153 Y=Don(:,end); X=Don(:,1:(end−1)); %identification des donnees manquantes: if (donmanquante==1) %on remplace les blancs correspondant aux donnees manquantes %par vmiss. X(isnan(X))=vmiss; Y(isnan(Y))=vmiss; end %centrage−reduction des tableaux% n=size(Don,1); p=size(X,2); q=size(Y,2); disp('Nombre de variables explicatives') disp(p) disp('Nombre de variables reponses') disp(q) disp('Nombre d''observations') disp(n) if (donmanquante==1) %donnees avec valeurs manquantes moyX=moyenne(X,vmiss); moyY=moyenne(Y,vmiss); [stdX,ssx]=ecart type(X,moyX,vmiss); [stdY,ssY]=ecart type(Y,moyY,vmiss); else %donnees sans valeurs manquantes moyX=mean(X); moyY=mean(Y); stdX=std(X); stdY=std(Y); end [Xc]=centrage(vmiss,X,moyX); [E0]=reduction(Xc,stdX,vmiss); [Yc]=centrage(vmiss,Y,moyY); [F0]=reduction(Yc,stdY,vmiss); %initialisation% snip=10ˆ(−10); A=composantes; uini=zeros(n,1); if (composantes>p) error('Le nombre limite de composantes PLS fixe depasse le nombre de variables'); end %lancement des algorithmes: if (donmanquante==0) %cas où il n'y a pas de donnees manquantes disp('Il n''existe pas de donnees manquantes'); disp('***************************************************************************** disp('Veuillez patienter') disp('***************************************************************************** [Xnew,TAB]= PLS1 selection2(X,E0,F0,A,snip,uini,composantes); 154 else %cas où 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 à 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') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2) ; disp('Nombre de variables explicatives') disp(p) disp('Nombre de variables reponses') disp(q) disp('Nombre d''observations') disp(n) disp('Niveau de confiance (en pourcentage)'); disp(confreg*100); seuil=1−confreg; 155 %identification des donnees manquantes: if (donmanquante==1) if sum(isnan(Don))>0.2*(n*(p+q)) quit(MIAJ PLS PLUS V2009 1) end %on remplace les blancs correspondant aux donnees manquantes par %vmiss. X(isnan(X))=vmiss; Y(isnan(Y))=vmiss; end if (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); else disp('Il n''existe pas de donnees manquantes'); moyX=mean(X); %donnees sans valeurs manquantes moyY=mean(Y); stdX=std(X); stdY=std(Y); end [Xc]=centrage(vmiss,X,moyX); [E0]=reduction(Xc,stdX,vmiss); [Yc]=centrage(vmiss,Y,moyY); [F0]=reduction(Yc,stdY,vmiss); %initialisation% disp('********************************************************************************** [BETA,TT]= forward PLS(composantes,E0,F0,Y,vmiss,X,donmanquante,seuil,affichage); disp('********************************************************************************** t=toc; disp('Temps ecoule (en secondes)'); disp(t) disp('********************************************************************************** disp('********************************************************************************** %%%%%%%%%%%%%regression PLS2 sans selection de variables%%%%%%%%%%%%%% case 7 clc; disp('********************************************************************************* disp('********************************************************************************* disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : REGRESSION PLS2 SANS SELECTION DE VARIABLES') disp('Nom du fichier traite') disp(fichier) 156 if transposition==1 disp('On a transpose le tableau de donnees') else disp('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−type stdX=std(X); stdY=std(Y); end %centrage−reduction [Xc]=centrage(vmiss,X,moyX); [E0]=reduction(Xc,stdX,vmiss); [Yc]=centrage(vmiss,Y,moyY); [F0]=reduction(Yc,stdY,vmiss); %initialisation% snip=10ˆ(−10); A=p; uini=zeros(n,1); itnip=100; vmiss=999999; if (composantes>p) 157 error('Le nombre limite de composantes PLS fixe depasse le nombre de variables'); end %lancement de l'algorithme if (donmanquante==0) %cas où il n'y a pas de donnees manquantes disp('Il n''existe pas de donnees manquantes'); disp('***************************************************************************** %ré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) end disp('***************************************************************************** disp('LEV : matrice des leviers') disp(LEV) %calcul equations de regression [betan]=eq PLS2 sans DM(composantes,BETA,X,Y); disp('***************************************************************************** disp('Coefficients de regressions PLS pour les donnees brutes') disp('***************************************************************************** for h=1:composantes betac(:,h)=betan(1:q,h); 158 betax(:,h)=betan(q+1:size(betan,1),h); end; disp('betac : constantes des coefficients des equations de regression pour les donnees brutes ') disp(betac) disp('betax : coefficients des equations de regression pour les donnees brutes') disp(betax) %Reconstitution des donnees et prediction sur un jeu de %donnees [ylctot,rmse]=res pred jeu PLS2(X,Y,betan,composantes); disp('***************************************************************************** disp('Reconstitution sur les donnees d''origine en fonction du nombre de composantes') disp('***************************************************************************** disp('y ind c : chaque variable reponse reconstituee en fonction des composantes (prevision)') for k=1:q num=k; disp('variable reponse numero') disp(num) y ind c=ylctot((k−1)*size(X,1)+1:k*size(X,1),:); disp(y ind c) end; disp('***************************************************************************** disp('rmse : residual mean square error en fonction des composantes') disp(rmse) if jeu==1 disp('************************************************************************* disp('Reconstitution et prediction sur un jeu−test en fonction du nombre de composantes') disp('************************************************************************* switch get(handles.popupmenu choix jeu,'Value'); case 1 %jeu1 %Importation des donnees:% fichier test=get(handles.edit7,'String'); disp('Nom du fichier−test') disp(fichier test) if (all(fichier test(end−2:end)=='xls')) Don test=xlsread(fichier test(1:end−4)); else if (all(fichier test(end−2:end)=='txt')) Don test=load(fichier test); else warndlg('Seuls les formats .xls ou .txt sont acceptes','ATTENTION!!'); end end Ytest=Don test(:,end); ytest=zeros(size(Don test,1),modalite); for i=1:modalite 159 ytest(:,i)=Ytest==i; end xtest=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 else disp('Il existe des donnees manquantes'); [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]=PLS2 DM(composantes,E0,Y,vmiss,itnip); disp('***************************************************************************** disp('TT : composantes PLS') disp(TT) disp('***************************************************************************** disp('PP : coefficients de regression de E0 sur TT') disp(PP) 160 disp('***************************************************************************** disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('***************************************************************************** disp('WW : vecteurs propres'); disp(WW) disp('****************************************************************************** disp('WWS : W tilde') disp(WWS) disp('****************************************************************************** disp('UU : composantes associees au tableau Y') disp(UU) disp('***************************************************************************** disp('beta : coefficients de regression de Y sur X pour les donnees centrees reduites ') for k=1:q num=k; disp('variable reponse numero') disp(num) beta=BETA(((k−1)*q+1):(q*k),:); disp(beta) end disp('****************************************************************************** disp('LEV : matrice des leviers') disp(LEV) end; if intervalle==1 L=100; disp('************************************************************************* disp('Calcul des intervalles de confiance sur les coefficients de regression PLS') switch get(handles.popupmenu choix intervalle,'Value'); % suivant le choix de l'utilisateur case 1 %jacknife disp('********************************************************************* disp('intervalles de confiance obtenus par la methode jacknife pour la derniere composante') intervalle= JACK PLS2(n,p,q,Don,composantes,vmiss,snip,modalite,conf); case 2 %boostrap disp('********************************************************************* disp('intervalles de confiance obtenus par la methode bootstrap pour la derniere composante') [intervalle]= bootstrap PLS2(p,q,L,Don,composantes,vmiss,snip,uini,modalite,conf); case 3 end 161 end; %Test de validation croisee pour determiner le nombre de composantes %significatives disp('******************************************************************************** [Q2KH,Q2CKH,Q2H,test,nb]=validation PLS2(composantes,F0,CC,TT,vmiss); disp('******************************************************************************** disp('Choix du nombre de composantes PLS significatives par le test du Q2') disp('Q2KH') disp(Q2KH) disp('Nombre de composantes PLS significatives') disp(nb) disp('********************************************************************************* t=toc ; disp('Temps ecoule en secondes'); disp(t); %fin de l'horloge disp('********************************************************************************* %Enregistrement des resultats if (choix sauvegarde==1) nom=strcat(sauvegarde, '.mat'); save(nom, 'TT', 'PP', 'UU', 'WW', 'WWS','CC', 'BETA'); end %%%%%%%%methode PLS2 avec selection de variables%%%%%%%%%% case 8 clc; disp('*********************************************************') disp('*********************************************************') disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : REGRESSION PLS2 AVEC SELECTION DE VARIABLES') disp('Nom du fichier traite') disp(fichier) if transposition==1 disp('On a transpose le tableau de donnees') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: Y=Don(:,end−(modalite−1):end);%variables explicatives X=Don(:,1:(end−modalite)); %variables reponses %centrage−reduction des tableaux:% n=size(Don,1); %clear(Don); p=size(X,2); q=size(Y,2); disp('Nombre de variables explicatives') disp(p) 162 disp('Nombre de variables reponses') disp(q) disp('Nombre d''observations') disp(n) if (donmanquante==1) %donnees avec valeurs manquantes X(isnan(X)==1)=vmiss; %calcul moyenne moyX=moyenne(X,vmiss); moyY=moyenne(Y,vmiss); %calcul ecart−type [stdX,ssx]=ecart type(X,moyX,vmiss); [stdY,ssY]=ecart type(Y,moyY,vmiss) ; else %calcul moyenne moyX=mean(X); moyY=mean(Y); %calcul ecart−type stdX=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 où il n'y a pas de donnees manquantes disp('*********************************************************') %regression PLS2 disp('*********************************************************') [Xnew, TAB]= PLS2 selection(X,E0,F0,composantes,snip,uini,composantes,vmiss); disp('*********************************************************') else %regression PLS2 disp('*********************************************************') [Xnew, TAB]= PLS2 selection DM(X,E0,Y,F0,composantes,snip,uini,composantes,vmiss); 163 disp('*********************************************************') end; %enregistrement des resultats if (choix sauvegarde==1) nom=strcat(sauvegarde, '.mat'); save(nom, 'Xnew','TAB'); end disp('*********************************************************') disp('temps ecoulé 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 à 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') else disp('On n''a pas transpose le tableau de donnees') end; X=Don(:,1:(end−1)); Y=Don(:,end); Ybrut=Don(:,end); %definition des variables reponses et explicatives: if modalite>2 if sum(find(Ybrut==0))6=0 Ybrut=Ybrut+1; end; X=Don(:,1:(end−1)); Y=zeros(size(Don,1),modalite); %definition du tableau des indicatrices ı̈¿½ 3 variables for i=1:modalite 164 Y(:,i)=Ybrut==i; end end %recodage des variables explicatives qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); else mod1=max(Xqual); end 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),:); end tab3=[tab3 tab2]; end X(:,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'); else disp('Il existe des donnees manquantes'); end; if qualitatif==1 disp('Il existe des variables explicatives qualitatives'); 165 disp('Les eventuelles variables qualitatives seront placees à droite du tableau') else disp('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) end 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−type stdX=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 où il n'y a pas de donnees manquantes if modalite==2 disp('***************************************************************************** %regression PLS1 disp('PARTIE I : calcul des composantes') [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]= PLS1 sans DM(composantes,E0,F0,snip,uini); disp('TT : composantes PLS') disp(TT) 166 disp('***************************************************************************** disp('PP : coefficients de regression de E0 sur TT') disp(PP) disp('***************************************************************************** disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('***************************************************************************** disp('WW : vecteurs propres'); disp(WW) disp('***************************************************************************** disp('WWS : W tilde') disp(WWS) disp('***************************************************************************** disp('UU : composantes associees au tableau Y') disp(UU) disp('***************************************************************************** disp('LEV : matrice des leviers') disp(LEV) else disp('***************************************************************************** %regression PLS2 disp('PARTIE I : calcul des composantes') disp('***************************************************************************** [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]= PLS2 sans DM(composantes,E0,F0,snip,uini); disp('***************************************************************************** disp('TT : composantes PLS') disp(TT) disp('***************************************************************************** disp('PP : coefficients de regression de E0 sur TT') disp(PP) disp('***************************************************************************** disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('***************************************************************************** disp('WW : vecteurs propres'); disp(WW) disp('***************************************************************************** disp('WWS : W tilde') disp(WWS) disp('***************************************************************************** disp('UU : composantes associees au tableau Y') disp(UU) disp('***************************************************************************** disp('LEV : matrice des leviers') disp(LEV) disp('***************************************************************************** end; if jeu==1 disp('************************************************************************* disp('Reconstitution et prediction sur un jeu−test en fonction du nombre de composantes') disp('************************************************************************* 167 switch get(handles.popupmenu choix jeu,'Value'); case 1 %Importation des donnees:% fichier test=get(handles.edit7,'String'); disp('Nom du fichier−test') disp(fichier test) if (all(fichier test(end−2:end)=='xls')) Don test=xlsread(fichier test(1:end−4)); else if (all(fichier test(end−2:end)=='txt')) Don test=load(fichier test); else warndlg('Seuls les formats .xls ou .txt sont acceptes','ATTENTION!!'); end end Ytest=Don test(:,end); ytest=zeros(size(Don test,1),modalite); for i=1:modalite ytest(:,i)=Ytest==i; end xtest=Don test(:,1:(end−1)); ntest=size(Don test,1); ptest=size(xtest,2); qtest=size(ytest,2); uinitest=zeros(ntest,1); moyXtest=mean(xtest); moyYtest=mean(ytest); stdXtest=std(xtest); stdYtest=std(ytest); [Xctest]=centrage(ntest,ptest,vmiss,xtest,moyXtest); [E0test]=reduction(ntest,ptest,Xctest,stdXtest,vmiss); [TTtest,PPtest,UUtest,WWtest,WWStest,CCtest, BETAtest,ychaptest,LEVtest]= PLS2 sans DM(composantes,E0test,ytest,snip,uinitest); [betantest]=eq PLS2 sans DM(composantes,BETAtest,xtest,ytest); [ylctot,rmse]=res pred jeu PLS2(xtest,ytest,betantest,composantes); case 2 [nal,seldef,nlearn,ntest,xtest,ytest]=tirage aleatoire(X,Y,tal); [betan]=eq PLS2 sans DM(composantes,BETA,X,Y); [ylctot,rmse]= res pred jeu PLS2(xtest,ytest,betan,composantes); disp('******************************************************************** disp('ylc : y reconstitue en fonction des composantes pour le jeu−test') disp(ylctot) disp('***************************************************************** disp('rmse : residual mean square error en fonction des composantes pour le jeu−test') disp(rmse) end; 168 end else if modalite==2 [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]= PLS1 DM(composantes,E0,F0,vmiss,itnip); disp('***************************************************************************** disp('TT : composantes PLS') disp(TT) disp('***************************************************************************** disp('PP : coefficients de regression de E0 sur TT') disp(PP) disp('***************************************************************************** disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('***************************************************************************** disp('WW : vecteurs propres'); disp(WW) disp('***************************************************************************** disp('WWS : W tilde') disp(WWS) disp('***************************************************************************** disp('UU : composantes associees au tableau Y') disp(UU) disp('***************************************************************************** else [TT,PP,UU,WW,WWS,CC,BETA,ychap,LEV]= PLS2 DM(composantes,E0,F0,vmiss,itnip); disp('***************************************************************************** disp('TT : composantes PLS') disp(TT) disp('***************************************************************************** disp('PP : coefficients de regression de E0 sur TT') disp(PP) disp('***************************************************************************** disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('***************************************************************************** disp('WW : vecteurs propres'); disp(WW) disp('***************************************************************************** disp('WWS : W tilde') disp(WWS) disp('***************************************************************************** disp('UU : composantes associees au tableau Y') disp(UU) disp('***************************************************************************** end; end; %Test de validation croisee pour determiner le nombre de composantes %significatives if modalite==2 disp('Choix du nombre de composantes PLS significatives par le test du Q2') 169 %validation croisee [Q2cum,H,nb]= validation croisee PLS1 version1(F0,ychap,LEV,composantes); disp('******************************************************************************** disp('Le premier vecteur donne le Q2cum') disp(H(:,2)) disp('Le deuxieme vecteur donne le resultat du test qui est egal à 1 si on conserve la composante') disp(H(:,3)) disp('Nombre de composantes PLS significatives') disp(nb) else [Q2KH,Q2H,test,nb]=validation PLS2(composantes,F0,CC,TT,vmiss); disp('Choix du nombre de composantes PLS significatives par le test du Q2') disp('******************************************************************************* disp('Nombre de composantes PLS significatives') disp(sum(nb)) %nombre de variables significatives TT1=TT(:,1:sum(nb)); disp('Composante(s) PLS significative(s)') disp(TT1) disp('******************************************************************************** end; disp('PARTIE II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('******************************************************************************** disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− if qualitatif==0 [beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]= logistic ordinal(Ybrut,TT,1); beta2=−beta2; disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); [predic2,tableau predic2]= prediction(E0,WWS,Ybrut,beta2,theta2,modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable'); disp('reponse sur les composantes PLS : tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 170 disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('**************************************************************************** else [beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=logistic ordinal(Y,TT,1); beta2=−beta2; disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); [predic2,tableau predic2]= prediction(E0,WWS,Y,beta2,theta2,modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable'); disp('reponse sur les composantes PLS : tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('**************************************************************************** end; %enregistrement des resultats if (choix sauvegarde==1) nom=strcat(sauvegarde, '.mat'); save(nom, 'TT'); end t=toc; disp('Temps ecoulé en secondes'); disp(t); %fin de l'horloge disp('********************************************************************************* disp('********************************************************************************* 171 %%%%%%%%%%%%%%%%%%CAS REGRESSION PLS logistique%%%%%%%%%%%%%%%%%%%%%% case 10 clc; %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2); %recodage des variables explicatives qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); else mod1=max(Xqual); end 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),:); end tab3=[tab3 tab2]; end X(:,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 end Don=[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 ') else disp('Methode mise en oeuvre : REGRESSION LOGISTIQUE ORDINALE PLS ') end; disp(''); disp('Nom du fichier traite') disp(fichier) disp(''); disp('Nombre de variables explicatives') disp(p) disp('Nombre de modalites de la variable reponse') disp(modalite) disp('Nombre d''observations') disp(n) disp(''); if donmanquante==0 disp('Il n''existe pas de donnees manquantes'); else 173 disp('Il existe des donnees manquantes'); end; %affichage si transposition if transposition==1 disp('On a transpose le tableau de donnees') else disp('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 à droite du tableau') else disp('Il n''existe pas de variables explicatives qualitatives'); end; disp('***************************************************************************** disp('PARTIE I : Calcul des composantes'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('TT : composantes PLS') disp(TT) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('PP : coefficients de regression de E0 sur TT') disp(PP) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('CC : coefficients de regression de F0 sur TT') disp(CC) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('WW : vecteurs propres'); disp(WW) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('WWS : W tilde') disp(WWS) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('UU : composantes associees au tableau Y') disp(UU) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('BETA : coefficients de regression de Y sur X pour les donnees centrees reduites') disp(BETA) disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('LEV : matrice des leviers') disp(LEV) disp('***************************************************************************** disp('PARTIE II : Resultats pour le nombre de composantes choisi a priori') disp('***************************************************************************** disp('II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES'); disp('***************************************************************************** disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− if qualitatif==0 [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal 2(Y,X,1); 174 disp('Nombre d''iterations'); disp(iter1); disp('Deviance'); disp(dev1); beta1=−beta1; disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [tableau predic1]=prediction simple(X,Y,beta1,theta1,modalite); disp('Qualite de la prevision du modele en utilisant la regression logistique usuelle : '); disp('tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic1); disp('************************************************************************* disp('II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('************************************************************************* disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=logistic ordinal(Y,TT,1); beta2=−beta2; disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); save('beta2.txt','beta2','−ascii'); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [predic2,tableau predic2]= prediction(E0,WWS,Y,beta2,theta2,modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse ') disp('sur les composantes PLS : tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− 175 m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('************************************************************************* else [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal(Y,E0,1); disp('Nombre d''iterations'); disp(iter1); disp('deviance'); disp(dev1); disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [tableau predic1]=prediction simple(E0,Y,beta1,theta1,modalite); disp('Qualite de la prevision du modele en utilisant la regression logistique usuelle : '); disp('tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniı̈¿½re ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic1); disp('************************************************************************* disp('II.I : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('************************************************************************* disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]=logistic ordinal(Y,TT,1); disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [predic2,tableau predic2]= prediction(E0,WWS,Y,beta2,theta2,modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse ') disp('sur les composantes PLS : tableau de classification'); 176 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('************************************************************************* end; if jeu==1 disp('************************************************************************* disp('Reconstitution et prediction sur un jeu−test en fonction du nombre de composantes') disp('************************************************************************* switch get(handles.popupmenu choix jeu,'Value'); case 1 %Importation des donnees:% fichier test=get(handles.edit7,'String'); disp('Nom du fichier−test') disp(fichier test) if (all(fichier test(end−2:end)=='xls')) Don test=xlsread(fichier test(1:end−4)); else if (all(fichier test(end−2:end)=='txt')) Don test=load(fichier test); else warndlg('Seuls les formats .xls ou .txt sont acceptes','ATTENTION!!'); end end ytest=Don test(:,end); xtest=Don test(:,1:(end−1)); ntest=size(Don test,1); ptest=size(xtest,2); qtest=size(ytest,2); uini=zeros(ntest,1); moyXtest=mean(xtest); moyYtest=mean(ytest); stdXtest=std(xtest); stdYtest=std(ytest); [Xctest]=centrage(vmiss,xtest,moyXtest); [E0test]=reduction(Xctest,stdXtest,vmiss); [TTtest,PPtest,UUtest,WWtest,CCtest,WWStest, BETAtest,ychaptest,LEVtest]= logistique sans DM(composantes,E0test,ytest); disp('***************************************************************** disp('II.1 : REGRESSION LOGISTIQUE USUELLE DE LA 177 VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES'); disp('***************************************************************** disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− if qualitatif==0 [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]= logistic ordinal(ytest,E0test,1); disp('Nombre d''iterations'); disp(iter1); disp('Deviance'); disp(dev1); beta1=−beta1; disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [tableau predic1]= prediction simple(E0test,ytest,beta1,theta1,modalite); disp('Qualite de la prevision du modele en utilisant la regression logistique usuelle : '); disp('tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic1); disp('************************************************************* disp('II.2 : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('************************************************************* disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]= logistic ordinal(ytest,TTtest,1); beta2=−beta2; disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); 178 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [predic2,tableau predic2]= prediction(E0test,WWStest,ytest,beta2,theta2, modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse ') disp('sur les composantes PLS : tableau de classification'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('************************************************************* else [beta1,theta1,nz1,nx1,xstd1,iter1,dev1]= logistic ordinal(ytest,E0test,1); disp('Nombre d''iterations'); disp(iter1); disp('Deviance'); disp(dev1); disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [tableau predic1]= prediction simple(E0test,ytest,beta1,theta1,modalite); disp('Qualite de la prevision du modele en utilisant la regression logistique usuelle'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic1); disp('************************************************************* disp('II.2 : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('************************************************************* disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [beta2,theta2,nz2,nx2,xstd2,iter2,dev2]= logistic ordinal(ytest,TTtest,1); 179 disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [predic2,tableau predic2]= prediction(E0test,WWStest,ytest,beta2,theta2, modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('************************************************************* end; case 2 [nal,seldef,nlearn,ntest,xtest,ytest]=tirage aleatoire(X,Y,tal); ntest=size(xtest,1); ptest=size(xtest,2); qtest=size(ytest,2); moyXtest=mean(xtest); stdXtest=std(xtest); [Xctest]=centrage(vmiss,xtest,moyXtest); [E0test]=reduction(Xctest,stdXtest,vmiss); [TTtest,PPtest,UUtest,WWtest,CCtest,WWStest, BETAtest,ychaptest,LEVtest]= logistique sans DM(composantes,E0test,ytest); disp('***************************************************************** disp('II.I : REGRESSION LOGISTIQUE USUELLE DE LA VARIABLE REPONSE SUR LES VARIABLES EXPLICATIVES'); disp('***************************************************************** disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− if qualitatif==0 [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]= logistic ordinal(ytest,E0test,1); disp('Nombre d''iterations'); 180 disp(iter1), disp('Deviance'); disp(dev1); beta1=−beta1; disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [tableau predic1]= prediction simple(E0test,ytest,beta1,theta1,modalite); disp('Qualite de la prevision du modele en utilisant la regression logistique usuelle'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic1); disp('************************************************************* disp('II.II : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('************************************************************* disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [beta2,theta2,nz2,nx2,xstd2,iter2,dev2,se2]= logistic ordinal(ytest,TTtest,1); disp('Nombre d''iterations'); disp(iter2), disp('Deviance'); disp(dev2); beta2=−beta2; disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [predic2,tableau predic2]= prediction(E0test,WWStest,ytest,beta2,theta2, modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne 181 et chaque colonne'); m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('************************************************************* else [beta1,theta1,nz1,nx1,xstd1,iter1,dev1]= logistic ordinal(ytest,E0test,1); disp('Nombre d''iterations'); disp(iter1); disp('Deviance'); disp(dev1); disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [tableau predic1]= prediction simple(E0test,ytest,beta1,theta1,modalite); disp('Qualite de la prevision du modele en utilisant la regression logistique usuelle'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic1); disp('************************************************************* disp('II.2 : REGRESSION LOGISTIQUE DE LA VARIABLE REPONSE SUR LES COMPOSANTES PLS') disp('************************************************************* disp('Resultats de l''algorithme (Levenberg modified Newton''s method) '); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [beta2,theta2,nz2,nx2,xstd2,iter2,dev2]= logistic ordinal(ytest,TTtest,1); disp('Nombre d''iterations'); disp(iter2); disp('Deviance'); disp(dev2); disp('Constante(s) SE') disp([theta2 se2(1:nz2,1)]); disp('Coefficients de regression logistique estimes') disp(beta2); disp('SE'); disp(se2((nz2+1):(nz2+nx2),1)./(xstd2')); 182 disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− [predic2,tableau predic2]= prediction(E0test,WWStest,ytest,beta2,theta2, modalite,composantes); disp('Qualite de la prevision du modele en utilisant la regression logistique de la variable reponse sur les composantes PLS'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('Remarque : la derniere ligne et la derniere colonne representent respectivement les totaux de chaque ligne et chaque colonne'); disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− m=[1:modalite]; disp(m) disp('−−−−−−−−−−−−−−−−−−−−−−−−') disp(tableau predic2); disp('************************************************************* end; end; end; if khi2==1 disp('Choix du nombre de composantes significatives par le test du Q2 au sens du khi2') disp('********************************************************************************* if modalite==2 [H,nb,Q2cum]= validation croisee PLS1 log khi2(E0,Y,TT,WWS,composantes,modalite); else [H,nb,Q2cum]= validation croisee PLS1 log mod2 khi2(E0,Y,TT,WWS,composantes,modalite); end; disp('La premiere colonne donne la valeur du Q2 au sens du khi2 pour chaque composante'); disp('La deuxieme colonne indique si la composante est significative') disp(H) disp('Nombre de composantes PLS significatives') disp(nb) disp('********************************************************************************* end; if forward==1 set(handles.text signif,'Visible','on'); set(handles.text37,'Visible','on'); 183 set(handles.edit tauxsign,'Visible','on'); disp('Choix du nombre de composantes PLS significatives par la technique de regression PLS pas à pas ascendante') disp('******************************************************************************* [TT]=forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil1); end; %enregistrement des resultats if (choix sauvegarde==1) nom=strcat(sauvegarde, '.mat'); save(nom, 'TT', 'beta1', 'theta1','beta2','theta2'); end t=toc ; disp('Temps ecoule en secondes : '); disp(t); %fin de l'horloge disp('********************************************************************************** disp('********************************************************************************** %%%%%%%%CAS REGRESSION PLS logistique avec selection de variables : methode BQ%%%%%%%%%% case 11 clc; disp('********************************************************************************* disp('********************************************************************************* disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : regression logistique PLS avec selection de variables : methode BQ') disp('Nom du fichier traite') disp(fichier) %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); %identification des donnees manquantes: if (donmanquante==1) %on remplace les blancs correspondant aux donnees %manquantes par vmiss. X(isnan(X))=vmiss; Y(isnan(Y))=vmiss; end %recodage des variables explicatives qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); 184 else mod1=max(Xqual); end 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),:); end tab3=[tab3 tab2]; end X(:,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) ; else moyX=mean(X); moyY=mean(Y); stdX=std(X); stdY=std(Y); end 185 [Xc]=centrage(vmiss,X,moyX); [E0]=reduction(Xc,stdX,vmiss); %initialisation% snip=10ˆ(−10); A=composantes; uini=zeros(n,1); %if (composantes>p) % error('Le nombre limite de composantes PLS fixe %depasse le nombre de variables'); %end %lancement des algorithmes: disp('Il n''existe pas de donnees manquantes'); disp('********************************************************************************* disp('Veuillez patienter') disp('********************************************************************************* [Xnew,TAB]= logistique sans DM selec12(X,E0,Y,A,snip,uini,composantes,modalite); t=toc ; disp('Temps ecoule en secondes : '); disp(t); disp('********************************************************************************* disp('********************************************************************************* %Appel de l'interface tableau des variables pour construire le %tableau des variables conservees concatenees à 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') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2); 186 disp('Nombre de variables explicatives') disp(p) disp('Nombre de variables reponses') disp(q) disp('Nombre d''observations') disp(n) disp('Niveau de confiance (en pourcentage)'); disp(confreg*100); seuil=1−confreg; %recodage des variables explicatives qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); else mod1=max(Xqual); end 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),:); end tab3=[tab3 tab2]; end X(:,vecteur)=[]; X=[X tab3]; %nettoyage %clear Xqual tab3 tab2 end %centrage−reduction des tableaux:% if (donmanquante==1) %donnees avec valeurs manquantes b=find(isnan(Don)==1); Don(b,:)=[]; Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2); X(isnan(X)==1)=vmiss; moyenne X=moyenne(X,vmiss); moyenne Y=moyenne(Y,vmiss); 187 [stdX,ssx]=ecart type(X,moyenne X,vmiss); [stdY,ssY]=ecart type(Y,moyenne Y,vmiss) ; else 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(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') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2); firth=1; epsilon=10ˆ(−4); maxstep=10; maxhs=5; disp('Nombre de variables explicatives') disp(p) disp('Nombre de variables reponses') 188 disp(q) disp('Nombre d''observations') disp(n) disp('Niveau de confiance (en pourcentage)'); disp(confreg*100); seuil=1−confreg; %recodage des variables explicatives qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); else mod1=max(Xqual); end 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),:); end tab3=[tab3 tab2]; end X(:,vecteur)=[]; X=[X tab3]; %nettoyage %clear Xqual tab3 tab2 end %centrage−reduction des tableaux:% if (donmanquante==1) %donnees avec valeurs manquantes b=find(isnan(Don)==1); Don(b,:)=[]; Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2); X(isnan(X)==1)=vmiss; moyenne X=moyenne(X,vmiss); moyenne Y=moyenne(Y,vmiss); [stdX,ssx]=ecart type(X,moyenne X,vmiss); [stdY,ssY]=ecart type(Y,moyenne Y,vmiss) ; else 189 moyenne X=mean(X); stdX=std(X); end [Xc]=centrage(vmiss,X,moyenne X); [E0]=reduction(Xc,stdX,vmiss); %initialisation% vmiss=999999; %lancement de l'algorithme [TT]= forward logistique penalized(composantes,E0,Y,vmiss,X, donmanquante,seuil,firth,epsilon,maxstep,maxhs,seuil); t=toc; disp('Temps ecoule en secondes : '); disp(t); disp('********************************************************************************* disp('********************************************************************************* %%%%%%%%CAS REGRESSION Kernel logistique penalisee PLS avec selection %de variables : methode forward%%%%%%%%%% case 14 clc; tic disp('********************************************************************************* disp('********************************************************************************* disp('Nom du programme : MIAJ PLS PLUS V2009 1') disp('Methode mise en oeuvre : regression kernel logistique penalisee PLS avec selection de variables : methode forward') disp('Nom du fichier traite') disp(fichier) if transposition==1 disp('On a transpose le tableau de donnees') else disp('On n''a pas transpose le tableau de donnees') end; %definition des variables reponses et explicatives: Y=Don(:,end); X=Don(:,1:(end−1)); n=size(Don,1); p=size(X,2); q=size(Y,2); firth=1; epsilon=10ˆ(−4); maxstep=10; maxhs=5; ker='rbf'; para=1; disp('Nombre de variables explicatives') disp(p) 190 disp('Nombre de variables reponses') disp(q) disp('Nombre d''observations') disp(n) disp('Niveau de confiance (en pourcentage)'); disp(confreg*100); seuil=1−confreg; %recodage des variables explicatives qualitatives if qualitatif==1 Xqual=X(:,vecteur); tab3=[]; if sum(find(Xqual==0))6=0 [n,m]=find(Xqual==0); Xqual(:,m)=Xqual(:,m)+1; mod1=max(Xqual); else mod1=max(Xqual); end 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),:); end tab3=[tab3 tab2]; end X(:,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 else 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 kernel logistique penalized(composantes,E0,Y,vmiss,X, seuil,firth,epsilon,maxstep,maxhs,alpha,ker,para); t=toc; disp('Temps ecoule en secondes : '); disp(t); disp('********************************************************************************* disp('********************************************************************************* end; %% %Pour quitter l'interface MIAJ PLS PLUS V2009 1 function pushbutton quit Callback(hObject, eventdata, handles) close(MIAJ PLS PLUS V2009 1) %% 192 Annexe B Programme de régression logistique pénalisée d’après le package logistf de R %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %programme penalized logistic regression % Il permet d'effectuer une regression logistique penalisee (d'apres le % package R logisf) %parametres d'entree %X : variables explicatives %Y : variables reponses %firth=1; %epsilon=10ˆ(−4); %maxstep=10; %maxhs=5; %alpha=0.10; % parametres de sortie %beta : coefficients de regression %prob : pvalue (test de Wald) %ci lower, ci upper : intervalle de confiance %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %% function [beta,prob,ci lower,ci upper] =penalizedlogisticregression(X,Y,firth,epsilon,maxstep,maxhs,alpha) n=size(Y,1); %nombre d'observations k=size(X,2); %nombre de variables explicatives inter=log((sum(Y)/n)/(1−sum(Y)/n)); beta=[inter zeros(1,k−1)]; iter=0; beta=beta'; pi=(1+exp((−X*beta))).ˆ(−1); %proba indice1=find(Y==1); %initialisation 193 exp1=zeros(indice1,1); for l=1:length(indice1) exp1(l)= pi(indice1(l)); end indice2=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)); end indice2=find(Y==0); for l=1:length(indice2) exp2(l)= pi(indice2(l)); end loglik=sum(log(exp1))+sum(log(1−exp2)); if firth==1 194 XW2=X'*diag(pi.*(1−pi))ˆ0.5; fisher=XW2*XW2'; loglik=loglik+ 0.5*abs(log(det(fisher))); end if loglik>loglikold break end beta=beta−∆*2ˆ(−halfs); end; if (sum(abs(∆))≤epsilon) break; end; end vars=diag(covs); prob=1−chi2cdf((beta.ˆ2./vars),1); %IC ci lower=beta+qnorm(alpha/2)*vars.ˆ0.5; ci upper=beta+qnorm(1−alpha/2)*vars.ˆ0.5; 195 Annexe C Programme de régression logistique PLS sans données manquantes et sans sélection de variables Dans cette version, la ligne de l’observation étant supprimée, on utilise le même programme dans le cas où il y a des données manquantes. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %logistique sans DM : Cet algorithme effectue une regression logistique PLS %dans le cas où il n'y a pas % de donnees manquantes % N : Nombre d'individus % M : Nombre de variables independantes Xj % X : matrice des donnees (N*M) pour les variables independantes % Y : matrice des donnees (N*P) pour les variables dependantes. Ici, on est % en PLS1 donc Y n'a qu'une seule colonne notee y %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[TT,PP,UU,WW,CC,WWS,BETA,ychap,matrice chapeau]=logistique sans DM(composantes,E0,Y) %%parametres d'entree%% % E0 : matrice des variables Xj centrees−reduites %composantes : nombre de composantes % Y : variable reponse %%parametres de sortie%% % TT : composantes PLS % PP : coefficient de regression de E0 sur tl % CC : coefficient de regression de F0 sur tl % WW : vecteurs propres % WWS : calcul des w tilde % UU : composante PLS % BETA : vecteur des coefficients de regression de la regression multiple % de y sur X (=inverse(X'X)X'y) % ychap : prediction des y avec j composantes PLS 196 % matrice chapeau : matrice levier inverse(TT TT'% TT)*TT' %Debut du programme %Initialisation: etape 1 M=size(E0,2); %nombre de colonnes de E0 E=E0; F=Y; xhat=zeros(1,M); xhat1=zeros(1,M); ident=eye(M); %matrice identite X1=E; n=zeros(1,size(E0,1)); yc=zeros(size(E0,1),1); %initialisation pour les y chapeau %%%%calcul de la premiere composante%%%% for itnip=1:100 u=F; for j=1:M %regressions logistiques [beta,theta,nz,nx,xstd,iter,dev,se]= logistic ordinal(Y,E0(:,j),1); xhat(j)=−beta; end; w=xhat'; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=E*w; %etape 2.3 : calcul de la composante PLS c=F'*t/(t'*t); %etape 2.6 : coefficient de la regression %de y sur t u=F*c/(c'*c); %etape 2.7 end %fin de la boucle WHILE p=E'*t/(t'*t); % etape 2.4 TT=t; %composante logistique PLS UU=u; PP=p; %vecteur propre WW=w; CC=c; %coefficient de la composante PLS WWS=w; BETA=WWS*(CC)'; %composante de regression (page 121 livre) ychap=E0*BETA; %reconstitution des y [L1]=projection(TT);%projection composante PLS L1=diag(L1);%diagonalisation matrice chapeau=L1; %matrice des leviers E=E−t*p'; %matrice des residus de la decomposition de E0 %en utilisant h composantes X1=[TT E]; %%%%%calcul des autres composantes%%%%% for h=2:composantes %debut de la boucle WHILE 197 for itnip=1:100 u=F; for j=1:M [beta1]=−logistic ordinal(Y,[X1(:,1) X1(:,j+1)],1); xhat1(j)=beta1(2); end; w=xhat1'; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=E*w/(w'*w);%etape 2.3 : calcul de la composante PLS c=F'*t/(t'*t); %etape 2.6 : coefficient de la %regression de y sur t u=F*c/(c'*c); %etape 2.7 end %fin de la boucle WHILE p=E'*t/(t'*t); % etape 2.4 matrice decompo=eye(M); %initialisation %debut de la boucle FOR 2 for k=1:(h−1) matrice decompo= matrice decompo*(ident−WW(:,k)*PP(:,k)'); %formule de decomposition end %fin de la boucle FOR 2 %calcul de w tilde voir par 17 article w tilde=matrice decompo*w; WWS=[WWS w tilde]; TT=[TT t]; %composantes PLS UU=[UU u]; PP=[PP p]; %vecteurs propres WW=[WW w]; CC=[CC c];%coefficients des composantes PLS BETA=[BETA WWS*(CC)']; %composantes de regression %reconstitution des y avec l'equation de regression for k=1:h yc(:,1)=yc(:,1)+TT(:,k)*CC(:,k); end ychap=[ychap yc]; %calcul predictions [L]=projection(TT); %projection des composantes PLS L=diag(L); %diagonalisation %matrice levier(inverse(X'X))*X'y matrice chapeau=[matrice chapeau L]; %%%%%%%%%%%Calcul de la matrice des residus%%%%%%%%%%%%%%%% %matrice des residus de la decomposition de E0 en utilisant h composantes E=E−t*p'; X1=[TT E]; end %Fin de la boucle FOR 1 %fin du programme 198 Annexe D Programme de régression logistique sur composantes PLS avec ou sans données manquantes sans sélection de variables Idem que le programme de PLS2 avec ou sans données manquantes(voir premier rapport). Puis, on effectue une régression logistique sur les composantes PLS obtenues (voir la programmation de l'interface). 199 Annexe E Programme de régression logistique PLS sans données manquantes avec sélection de variables de type BQ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % logistique sans DM selec : %Ce programme est utilisee dans le cas de la regression logistique PLS %avec selection de variables %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[Xnew,TAB]= logistique sans DM selec(X,E0,Y,A,snip,uini,composantes,modalite) %%%%Parametres d'entree%%%% % X : matrice des donnees (N*M) pour les variables independantes % E0 : matrice des variables Xj centrees−reduites % F0 : matrice des variables Yk centrees−reduites % A : nombre de variables explicatives % snip : utilise pour la boucle while % uini : valeur de u au debut de la boucle % composantes : nombre maximal de composantes % modalite : nombre de modalites de la variable reponse %%%%Parametres de sortie%%%% % Xnew : X obtenu apres selection % TAB : tableau donnant le numeros des variables, Q2cumules et le nombre de %composantes %Debut du programme %initialisation: tab1=[]; tab2=[]; tab3=[]; Xnew=[]; %d?but de la boucle WHILE while (size(E0,2)>1) %on effectue des modeles de regression tant qu'on a %plus d'une variable explicative 200 %%%%%%%Premiere etape : on effectue les modeles de regression pour p %%%%%%%variables explicatives et on recupere les Q2cum au sens du khi2 %%%%%%%correspondants%%%%%%%%%%% %Creation du modele PLS1 à 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 à 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 %à enlever au sein du nouveau E0 [i,Var]=min(abs(betachap)); %Tableau des numeros des variables tab1=[tab1;Var]; %Tableau des Q2cumules tab2=[tab2;Q2cum(Amax)]; %Tableau du nombre de composantes tab3=[tab3;Amax]; % On enleve la variable E0 correspondant au minimum des beta E0=[E0(:,1:(Var−1)) E0(:,(Var+1):(size(E0,2)))]; Xnew=[Xnew X(:,Var)]; end %Fin de la boucle WHILE %on modifie le tableau de selection de variables pour obtenir les numeros 201 %des variables R correspondants au tableau initial [newtab]=tabmod(tab1); Ord=sort(newtab);%on ordonne de façon 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 enlevées','FontSize',12) title('Représentation graphique du nombre du Qˆ2 {cum} en fonction du nombre du variables enlevées','FontSize',10) saveas(h,'logPLScourbe.jpg') hold off grid on %Fin du programme 202 Annexe F Programme de régression logistique PLS avec sélection de type forward %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %forward logistique : Cet algorithme effectue une regression logistique PLS %pas à 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 où il existe des donnees manquantes %seuil : seuil de significativite %%parametres de sortie%% %TT : composantes PLS significatives par le test %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[TT]= forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil) num=[1:size(X,2)+size(Y,2)]; %selection des variables explicatives signicatives par une regression %logistique [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal 2(Y,E0,1); beta1=−beta1; se int=se1((nz1+1):(nz1+nx1),1)./(xstd1'); %test de Wald wald=(beta1./se int).ˆ2; PVAL=1−chi2cdf(wald,1); X1=X(:,find(PVAL<seuil)); Coef=beta1(find(PVAL<seuil)); indice=num(find(PVAL<seuil)); %calcul ecarts types et moyennes des variables explicatives significatives if (donmanquante==1) %donnees avec valeurs manquantes moyX1=moyenne(X1,vmiss); 203 [stdX1,ssx1]=ecart type(X1,moyX1,vmiss); else moyX1=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 à la construction des composantes %PLS [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]= logistic ordinal 2(Y,[TT E1(:,j)],2); beta1=beta1(end,1); se int=se1((nz1+1):(nz1+nx1),1)./(xstd1'); se int=se int(end,1); %test de Wald wald=(beta1/se int)ˆ2; p value(j)=1−chi2cdf(wald,1); end; %disp(p value) if sum(find(p value<seuil))6=0 %on effectue cet algorithme tant qu'il y a %des variables explicatives significatives 204 u=Y(:,1); %algorithme logistique PLS for itnip=1:100 for j=1:(size(E0,2)) [beta1]= −logistic ordinal(Y,[comb(:,1) comb(:,j+1)],1); xhat1(j)=beta1(2); end; w=xhat1'; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=E0*w/(w'*w); %etape 2.3 : calcul de la composante PLS c=Y'*t/(t'*t); %etape 2.6 : coefficient de regression de y sur t u=Y*c/(c'*c); %etape 2.7 end p=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'); else h=h−1; if sum(find(p value<seuil))==0 %disp('aucune variable n''est selectionnee') break end; disp('Le nombre de variables significatives est : '); 205 %disp(h) disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ') %disp(indice2) disp('Tableau des variables selectionnees') %disp(X2) break end; coef1=coef/norm(coef,2); TT(:,h)=E02*coef1; E0=E0−t*p'; end disp('***************************************************************************************** %disp('Le nombre de variables significatives est : '); %disp(h) save('logistiquePLSforward.txt','X2','−ascii'); save('logistiquePLSforward num.txt','indice2','−ascii'); 206 Annexe G Programme de régression logistique pénalisée PLS avec sélection de type forward %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %forward logistique penalized : Cet algorithme effectue une regression logistique PLS %pas à 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 où 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; else X1=X(:,find(prob<seuil)); 207 Coef=beta1(find(prob<seuil)); indice=num(find(prob<seuil)); %calcul ecarts types et moyennes des variables explicatives significatives if (donmanquante==1) %donnees avec valeurs manquantes moyX1=moyenne(X1,vmiss); [stdX1,ssx1]=ecart type(X1,moyX1,vmiss); else moyX1=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 à la construction des composantes %PLS [beta,prob,ci lower,ci upper]= penalizedlogisticregression([TT E1(:,j)],Y,firth, epsilon,maxstep,maxhs,alpha); beta1(j)=beta(end,1); p value(j)=prob(end,1); end; disp(p value) 208 if sum(find(p value<seuil))6=0 %on effectue cet algorithme tant qu'il ya des variables explicatives significatives u=Y(:,1); %algorithme logistique PLS for itnip=1:100 for j=1:(size(E0,2)) [beta,prob,ci lower,ci upper]= penalizedlogisticregression([TT [comb(:,1) comb(:,j+1)]], Y,firth,epsilon,maxstep,maxhs,alpha); xhat1(j)=beta(end,1); end; w=xhat1'; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=E0*w/(w'*w); %etape 2.3 : calcul de la composante PLS c=Y'*t/(t'*t); %etape 2.6 : coefficient de regression de y sur t u=Y*c/(c'*c); %etape 2.7 end p=E0'*t/(t'*t); % etape 2.4 %calcul variables significatives X2=X(:,find(p value<seuil)); p2=p(find(p value<seuil)); indice2=num(find(p value<seuil)) nbvarsign=sum(p value<seuil); E02=E0(:,find(p value<seuil)); r=zeros(size(E02,1),nbvarsign); r1=zeros(size(E02,1),nbvarsign); coef=zeros(nbvarsign,1); %calcul coefficients for i=1:size(E02,2) %calcul des residus r(:,i)=E02(:,i)−p2(i)*TT(:,h−1); variance=var(r); r1(:,i)=r(:,i)/variance(i); [beta,prob,ci lower,ci upper]= penalizedlogisticregression([TT r1(:,i)],Y,firth, epsilon,maxstep,maxhs,alpha); coef(i,1)=beta(end,1); end disp('Le(s) numero(s) de(s) variable(s) selectionnee(s) est (sont) : ') disp(indice2) disp('Tableau des variables selectionnees') disp(X2) save('logistiquepenPLSforward.txt','X2','−ascii'); save('logistiquepenPLSforward num.txt','indice2','−ascii'); else 209 h=h−1; if sum(find(p value<seuil))==0 %disp('aucune variable n''est selectionnee') break end; 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) break end; coef1=coef/norm(coef,2); TT(:,h)=E02*coef1; E0=E0−t*p'; end disp('***************************************************************************************** disp('Le nombre de variables significatives est : '); disp(h) %save('varselecforward.txt','X2','−ascii'); %save('numvarselecforward.txt','indice2','−ascii'); 210 Annexe H Programme de régression kernel logistique pénalisée PLS avec sélection 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)); otherwise error('Unknown kernel function'); end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %forward kernel logistique penalized : Cet algorithme effectue une %regression kernel logistique PLS %pas à pas ascendante %%parametres d'entree 211 % composantes: Nombre de composantes % vmiss : donnees manquantes % E0 : matrice des variables explicatives centrees reduites % F0 : variable reponse centree reduite % donmanquante : cas où 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; else X1=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); else moyX1=mean(X1); stdX1=std(X1); end %centrage et reduction des variables explicatives significatives [Xc1]=centrage(vmiss,X1,moyX1); [E01]=reduction(Xc1,stdX1,vmiss); end %calcul matrice de Gram %centrage reduction matrice de Gram mc=mean(K01); K01=kcenter(K01,mc); %%%%%%%%%%%%%%%%%%%cas de la premiere composante%%%%%%%%%%%%%%%%%%% %algorithme logistique PLS sur les variables explicatives significatives 212 for itnip=1:100 w=Coef; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=K01*w; %etape 2.3 : calcul de la composante PLS c=Y'*t/(t'*t); %etape 2.6 : coefficient de la regression de y sur t u=Y*c/(c'*c); %etape 2.7 end %fin de la boucle WHILE p=K01'*t/(t'*t); % etape 2.4 TT=t; %composante PLS N=size(K0,1); M=size(K0,2); K1=K0; TT(:,1)=t; %calcul premiere composante PLS logistique %%%%%%%%%%%%%%%%%%%cas des autres composantes%%%%%%%%%%%%%%%%%%% for h=2:composantes comb=[TT K0]; p value=zeros(size(K1,2),1); for j=1:size(K1,2) %regression logistiques penalisees pour selectionner les variables explicatives %contribuant de maniere significative à la construction des composantes %PLS [beta,prob,ci lower,ci upper]= penalizedlogisticregression([TT K1(:,j)],Y, firth,epsilon,maxstep,maxhs,alpha); beta1(j)=beta(end,1); p value(j)=prob(end,1); end; disp(p value) if sum(find(p value<seuil))6=0 %on effectue cet algorithme tant qu'il ya des variables explicatives significatives u=Y(:,1); %algorithme logistique PLS for itnip=1:100 for j=1:(size(K0,2)) %regressions logistiques penalisees [beta,prob,ci lower,ci upper]= penalizedlogisticregression([TT [comb(:,1) comb(:,j+1)]], Y,firth,epsilon,maxstep,maxhs,alpha); xhat1(j)=beta(end,1); end; w=xhat1'; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=K0*w/(w'*w); %etape 2.3 : calcul de la composante PLS c=Y'*t/(t'*t); %etape 2.6 : coefficient de regression de y sur t u=Y*c/(c'*c); 213 %etape 2.7 end p=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'); else h=h−1; if sum(find(p value<seuil))==0 %disp('aucune variable n''est selectionnee') break end; 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) break end; coef1=coef/norm(coef,2); TT(:,h)=K02*coef1; K0=K0−t*p'; 214 end disp('***************************************************************************************** disp('Le nombre de composantes significatives est : '); disp(h) %save('varselecforwardkernel.txt','Don2','−ascii'); %save('numvarselecforwardkernel.txt','indice2','−ascii'); 215 Annexe I Programmes permettant de choisir le nombre de composantes significatives %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% % Validation croisee PLS1 log khi2=sous−programme qui permet de voir %quelles sont les composantes PLS qui sont significatives dans le cas où on a %deux modalites. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[H,nb,Q2cum]=validation croisee PLS1 log khi2(E0,Y,TT,WWS,composantes,modalite) %%parametres d'entree%% % composantes: Nombre de composantes % modalite : nombre de modalites de la variable reponse % E0 : matrice des variables explicatives centrees reduites % Y : variable reponse % TT : composante PLS % WWS : w tilde %%parametres de sortie%% % Q2cum : mesure de l'apport global des h premieres composantes PLS % H : tableau recapitulatif %Debut du programme %initialisation: N=size(Y,1); H=zeros(composantes,2); %initialisation du tableau des resultats %du PRESS Q2=zeros(composantes,1); %initialisation Q2 test=zeros(composantes,1); p=zeros(N,composantes); essai=zeros(N,composantes−1); essai2=zeros(N,composantes); Q2ch=1; 216 Q2cum=zeros(composantes,1); for h=1:composantes [beta,theta]=logistic ordinal(Y,TT(:,1:h),1); beta=−beta; [predic,tableau predic]= prediction khi2(E0,WWS(:,1:h),Y,beta,theta,modalite,h); p(:,h)=predic(:,3); end; for h=1:(composantes−1) for i=1:N essai(i,h)=((Y(i)−p(i,h))ˆ2)/(p(i,h)*(1−p(i,h))); end end khi 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 end khi 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)) test(h)=1; ≤ 0.95*sqrt(khi sub(h))) else test(h)=0; end nb=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 où 217 %on a plus de deux modalites. %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [H,nb,Q2cum]= validation croisee PLS1 log mod2 khi2(E0,Y,TT,WWS,composantes,modalite) %%parametres d'entree%% % composantes: Nombre de composantes % modalite : nombre de modalites de la variable reponse % E0 : matrice des variables explicatives centrees reduites % Y : variable reponse % TT : composante PLS % WWS : w tilde %%parametres de sortie%% % Q2cum : mesure de l'apport global des h premieres composantes PLS % H : tableau recapitulatif %Debut du programme %initialisation: N=size(Y,1); H=zeros(composantes,2); %initialisation du tableau des resultats %du PRESS Q2=zeros(composantes,1); %initialisation Q2 test=zeros(composantes,1); result=zeros(composantes,1); result2=zeros(1,composantes−1); Q2ch=1; Q2cum=zeros(composantes,1); for h=1:composantes [beta,theta]=logistic ordinal(Y,TT(:,1:h),1); beta=−beta; [predic,tableau predic]= prediction khi2(E0,WWS(:,1:h),Y,beta,theta,modalite,h); p=predic; [khi sub]=calculkhi2(predic,modalite); result(h)=khi sub; end; for h=1:(composantes−1) [beta,theta]=logistic ordinal(Y,TT(:,1:h),1); beta=−beta; [predic,tableau predic]= prediction khi2(E0,WWS(:,1:h),Y,beta,theta,modalite,h); p=predic; [khi valid]=calculkhi2(predic,modalite); result2(h)=khi valid; end result2=[N−1 result2]'; for h=1:composantes 218 %calcul du Q2 Q2(h)=1−(result(h)/result2(h)) ;%calcul du Q2 Q2ch=Q2ch*(1−Q2(h)); Q2cum(h)=1−Q2ch; %condition pour que la composante PLS soit significative if (sqrt(result(h)) test(h)=1; ≤ 0.95*sqrt(result2(h))) else test(h)=0; end nb=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 à 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 où il existe des donnees manquantes %seuil : seuil de significativite %%parametres de sortie%% %TT : composantes PLS significatives par le test %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[TT]=forward logistique(composantes,E0,Y,vmiss,X,donmanquante,seuil) %selection des variables explicatives signicatives par une regression %logistique [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]=logistic ordinal(Y,E0,1); disp('Nombre d''iterations'); disp(iter1); disp('Deviance'); disp(dev1); beta1=−beta1; disp('Constante(s) SE') disp([theta1 se1(1:nz1,1)]); disp('Coefficients de regression logistique estimes') 219 disp(beta1); disp('SE'); disp(se1((nz1+1):(nz1+nx1),1)./(xstd1')); se int=se1((nz1+1):(nz1+nx1),1)./(xstd1'); %test de Wald wald=(beta1./se int).ˆ2; PVAL=1−chi2cdf(wald,1); X1=X(:,find(PVAL<seuil)); Coef=beta1(find(PVAL<seuil)); %calcul écarts 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); else moyX1=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); %étape 2.2 : normalisation de w t=E01*w; %étape 2.3 : calcul de la composante PLS c=Y'*t/(t'*t); %étape 2.6 : coefficient de la regression de y sur t u=Y*c/(c'*c); %étape 2.7 end %fin de la boucle WHILE p=E01'*t/(t'*t); % étape 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 à la construction des composantes %PLS [beta1,theta1,nz1,nx1,xstd1,iter1,dev1,se1]= logistic ordinal(Y,[TT E1(:,j)],1); beta1=beta1(end,1); se int=se1((nz1+1):(nz1+nx1),1)./(xstd1'); se int=se int(end,1); %test de Wald 220 wald=(beta1/se int)ˆ2; p value(j)=1−chi2cdf(wald,1); end; if sum(find(p value<seuil))6=0 %on effectue cet algorithme tant %qu'il y a des variables explicatives significatives u=Y(:,1); %algorithme logistique PLS for itnip=1:100 for j=1:(size(E0,2)) [beta1]=−logistic ordinal(Y,[comb(:,1) comb(:,j+1)],1); xhat1(j)=beta1(2); end; w=xhat1'; w=w/sqrt(w'*w); %etape 2.2 : normalisation de w t=E0*w/(w'*w); %etape 2.3 : calcul de la composante PLS c=Y'*t/(t'*t); %etape 2.6 : coefficient de regression de y sur t u=Y*c/(c'*c); %etape 2.7 end p=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); end coef1=coef/norm(coef,2); TT(:,h)=E02*coef1; E0=E0−t*p'; else disp('Le nombre de composantes significatives est : ') disp(h−1) disp('TT') disp(TT) break end; end disp('Le nombre de composantes significatives est : ') disp(h) 221 disp('TT') disp(TT) 222 Annexe J Programmes afin d’établir la qualité de prévision du modèle utilisant la régression logistique usuelle de la variable réponse 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 où il existe des donnees manquantes %WWS : w tilde %beta2 : coefficients de regression logistique estimes lors de la %regression logistique de la variable reponse sur les composantes PLS %theta2 : constantes lors de la regression logistique de la variable reponse %sur les composantes PLS %%parametres de sortie%% %predic : Tableau des predictions %tableau predic : Qualite de la prevision du modele en utilisant la %regression logistique de la variable reponse sur les composantes PLS : %tableau de classification %initialisation m=size(E0,1); 223 m1=size(E0,2); tableau predic=zeros(modalite+1,modalite+1); tab=zeros(size(WWS,1),composantes); tab1=zeros(m,m1); l=zeros(m,2); proba=zeros(m,modalite); for i=1:composantes tab(:,i)=beta2(i)*WWS(:,i); end coeff=sum(tab,2); disp('Coefficients de regression logistique PLS en se ramenant aux variables d''origine') disp(coeff) for i=1:m1 tab1(:,i)=coeff(i)*E0(:,i); end for j=1:length(theta2) l(:,j)=theta2(j)+sum(tab1,2); end; proba(:,1)=exp(l(:,1))./(1+exp(l(:,1))); for i=1:(modalite−2) proba(:,i+1)= exp(l(:,i+1))./(1+exp(l(:,i+1)))−exp(l(:,i))./(1+exp(l(:,i))); end; proba(:,modalite)=1−sum(proba,2); [k,l]=max(proba'); y est=l'; if min(Y)==0 Y=Y+1; end predic=[Y proba y est]; disp('Tableau des predictions') disp('−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− disp('La premiere colonne donne la variable reponse.'); disp('La derniere colonne donne l''estimation de la variable reponse.'); disp('Les autres colonnes donnent les estimations des probabilites pour chaque reponse') disp(predic) for i=1:modalite 224 for j=1:modalite tableau predic(i,j)=sum(Y==i & y est==j); end; end; somme=(sum(diag(tableau predic))/m)*100; disp('Le pourcentage de bien classes est : '); disp(somme); s1=sum(tableau predic,1); s2=sum(tableau predic,2); tableau predic(:,end)=s2; tableau predic(end,:)=s1; tableau predic(modalite+1,modalite+1)=sum(tableau predic(:,end),1); 225 Annexe K Programme afin d’établir la qualité de la prévision du modèle en utilisant la régression logistique de la variable réponse 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 où il existe des donnees manquantes %WWS : w tilde %beta2 : coefficients de regression logistique estimes lors de la %regression logistique de la variable reponse sur les variables %explicatives %theta2 : constantes lors de la regression logistique de la variable reponse %sur les variables explicatives %%parametres de sortie%% %predic : Tableau des predictions %tableau predic : Qualite de la prevision du modele en utilisant la %regression logistique de la variable reponse sur les variables explicatives : %tableau de classification %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function[tableau predic]=prediction simple(E0,Y,beta2,theta2,modalite) 226 m=size(E0,1); m1=size(E0,2); tableau predic=zeros(modalite+1,modalite+1); tab1=zeros(m,m1); l=zeros(m,2); proba=zeros(m,modalite); for i=1:m1 tab1(:,i)=beta2(i)*E0(:,i); end for j=1:length(theta2) l(:,j)=theta2(j)+sum(tab1,2); end; proba(:,1)=exp(l(:,1))./(1+exp(l(:,1))); for i=1:(modalite−2) proba(:,i+1)= exp(l(:,i+1))./(1+exp(l(:,i+1)))−exp(l(:,i))./(1+exp(l(:,i))); end; proba(:,modalite)=1−sum(proba,2); [k,l]=max(proba'); y est=l'; if min(Y)==0 Y=Y+1; 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 for j=1:modalite tableau predic(i,j)=sum(Y==i & y est==j); end; end; somme=(sum(diag(tableau predic))/m)*100; disp('Le pourcentage de bien classes est : '); disp(somme); s1=sum(tableau predic,1); s2=sum(tableau predic,2); tableau predic(:,end)=s2; tableau predic(end,:)=s1; 227 tableau predic(modalite+1,modalite+1)=sum(tableau predic(:,end),1); 228