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