Re: discriminant analysis

From: Anne B Dufour (dufour@biomserv.univ-lyon1.fr)
Date: Fri Oct 31 2003 - 09:24:48 MET

Eduardo Dutra de Armas asks a very specific question. Every one can find
an english answer (first) and a french one (second).

At 16:35 29/10/2003 -0300, you wrote:
>
>I'm a new user of R and this is the first time I adopt discriminant
>analysis. I'm using the ade4 package to distinguish treatments with
>three repetitions, from which color was measured based in 3 variable (L,
>a and b). I also analysed data in Systat 9.0 and results were different
>from that of R, mainly in ellipse size that was larger in Systat. My
>doubt is if this ellipse is a confidence interval, how to control its
>significance? I tried to change cellipse in s.class function, so that
>with value 6, the result was similar to that from Systat. But I think
>that the value must be calculated to provide the confidence ellipse.
>Then, I don't know what is correct. Please, could someone help me about
>this questions?

It is useful to specify the ellipse size drawn in ade4,
The users of ade4 package can realize this experiment :

x = rnorm(20) + 5 ; y = x + rnorm(20) ; xy = cbind.data.frame(x,y)
poi = runif(20) ; poi = poi/sum(poi)
s.value(xy, poi, xlim = c(0,10), ylim = c(0,10))
We can see a weighted scatterplot.

We can see the same scatterplot with the following adds : an ellipse,
a star and two dodded axes.

In ade4, an ellipse is the summarized plot of this weigthed scatterplot and
that's all. It's not a confidence ellipse with the discriminant analysis,
or with the confidence ellipse in discriminant analysis.
It is a SUMMARY of a scatterplot.

The center of the ellipse is the gravity center.
The star links each point to the gravity center.
The axes are the principal axes of the scatterplot
(Pearson, K. 1901. On lines and planes of closest fit to systems of points
in space.
Philosophical Magazine 2:559-572).
The axis length (by default k=1.5) equals k times the square root of the
eigenvalues of the covariance matrix,
i.e. k times the coordinates of the projections onto the axes.

s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 0.5)
s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 1)
s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 2)
s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 3)
We can see the same scatterplot with ellipses getting bigger.

We can see the dispersion of the winter teals in Europe in
http://pbil.univ-lyon1.fr/R/articles/arti033.pdf

To do again the graph
data(sarcelles)
if (require(pixmap, quietly=TRUE)) {
par(mfrow = c(4,3))
for(i in 1:12) {
s.distri(sarcelles\$xy, sarcelles\$tab[,i], pixmap = bkgnd.pnm,
sub = sarcelles\$col.names[i], clab = 0, csub = 2)
s.value(sarcelles\$xy, sarcelles\$tab[,i], add.plot = TRUE, cleg = 0)
}
}

or how we can summarize the landing of ducks on factorial maps in
http://pbil.univ-lyon1.fr/R/articles/arti041.pdf

There is no rule to define the size of ellipse.
We can simply add that if a scatterplot is a random sample of a bivariate
normal distribution,
the probability of being in an ellipse of size k is 1-exp (-0.5*k^2).
About 67% of the points are in an ellipse k=1.5 and 95% in an ellipse k=2.5
1-exp(-0.5*(1.5)^2)
[1] 0.6753
1-exp(-0.5*(2.5)^2)
[1] 0.956

So the ellipses defined in ade4 are summaries of scatterplots and no
confidence regions.
Les ellipses d'ade4 sont donc des résumés graphiques et non des régions de
confiance.
With each one its job.

La question est précise. Il est nécessaire de préciser la taille des ellipses
ou dans le package pour R (ade4).
Les utilisateurs du package peuvent faire l'expérience :

x = rnorm(20) + 5 ; y = x + rnorm(20) ; xy = cbind.data.frame(x,y)
poi = runif(20) ; poi = poi/sum(poi)
s.value(xy, poi, xlim = c(0,10), ylim = c(0,10))
On voit un nuage de points pondéré.

On voit le même nuage sur lequel s'ajoute une ellipse, une étoile et deux
axes en pointillé.

Dans ade4, l'ellipse est le résumé graphique de ce nuage pondéré et rien
d'autre.
Elle n'a rien à voir avec une ellipse de confiance, avec l'analyse
discriminante,
ou avec une ellipse de confiance en analyse discriminante.
C'est un RESUME d'un nuage de points.

Le centre de l'ellipse est le centre de gravité.
L'étoile relie chaque point au centre de gravité.
Les axes sont les axes principaux du nuage (Pearson, K. 1901.
On lines and planes of closest fit to systems of points in space.
Philosophical Magazine 2:559-572).
La longueur des axes (par défaut k =1.5) égale k fois la racine des valeurs
propres de la matrice de covariance,
c'est-à-dire k fois l'écart-type des coordonnées des projections sur les axes.

s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 0.5)
s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 1)
s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 2)
s.class(xy, as.factor(rep("A",20)), add.plot = T, cell = 3)
On voit le même nuage sur lequel s'ajoute des ellipses de plus en plus grosses.

On verra comment se dispersent les sarcelles d'hiver en Europe dans
http://pbil.univ-lyon1.fr/R/articles/arti033.pdf

Pour refaire la figure
data(sarcelles)
if (require(pixmap, quietly=TRUE)) {
par(mfrow = c(4,3))
for(i in 1:12) {
s.distri(sarcelles\$xy, sarcelles\$tab[,i], pixmap = bkgnd.pnm,
sub = sarcelles\$col.names[i], clab = 0, csub = 2)
s.value(sarcelles\$xy, sarcelles\$tab[,i], add.plot = TRUE, cleg = 0)
}
}

ou comment on résume l'atterrissage des canards sur les cartes factorielles
dans
http://pbil.univ-lyon1.fr/R/articles/arti041.pdf

Il n' y a pas de règle pour définir la taille de l'ellipse.
On peut simplement dire que si le nuage est un échantillon aléatoire simple
d'une loi normale bivariée,
la probabilité d'être dans l'ellipse de taille k est 1-exp (-0.5*k^2).
Environ 67% des points sont dans l'ellipse k=1.5 et 95% dans l'ellipse k=2.5
1-exp(-0.5*(1.5)^2)
[1] 0.6753
1-exp(-0.5*(2.5)^2)
[1] 0.956

Les ellipses d'ade4 sont donc des résumés graphiques et non des régions de
confiance.
Chacun son métier.

D. Chessel & A. Dufour

This archive was generated by hypermail 2b30 : Tue Sep 07 2004 - 13:45:25 MEST