Uploaded by Maximiliano Casas

EA3T8 ALD 22

advertisement
Ejemplo: datos Iris
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
73 / 82
Datos Iris
Los datos consisten en mediciones de 𝑝 = 4
variables (longitud del sépalo, ancho del sépalo,
longitud del pétalo, ancho del pétalo) tomadas
de 𝑛𝑘 = 50 flores muestreadas alaetoriamente
de 𝑔 = 3 especies (setosa, versicolor, virginica).
El objetivo es crear una función discriminante
que mejor clasifique una nueva flor en una de
las tres especies.
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
74 / 82
Datos Iris I
head(iris); p <- 4; g <- 3
1
2
3
4
5
6
Sepal.Length Sepal.Width Petal.Length Petal.Width Species
5.1
3.5
1.4
0.2 setosa
4.9
3.0
1.4
0.2 setosa
4.7
3.2
1.3
0.2 setosa
4.6
3.1
1.5
0.2 setosa
5.0
3.6
1.4
0.2 setosa
5.4
3.9
1.7
0.4 setosa
Calculamos las medias muestrales de cada población: x̄1 , x̄2 , x̄3
especies <- unique(iris$Species)
xbari <- list(NULL)
for(i in especies)xbari[[match(i,especies)]] <- colMeans(iris[iris$Species==i,1:p])
xbari
[[1]]
Sepal.Length
5.006
Sepal.Width Petal.Length
3.428
1.462
Petal.Width
0.246
[[2]]
Sepal.Length
5.936
Sepal.Width Petal.Length
2.770
4.260
Petal.Width
1.326
[[3]]
Sepal.Length
6.588
Sepal.Width Petal.Length
2.974
5.552
Petal.Width
2.026
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
75 / 82
Datos Iris II
Calculamos la matriz combinada S𝑝
Sp <- matrix(0,p,p)
nx <- rep(50,g) #tamaños de muestra por población
for(j in 1:g){
x <- iris[iris$Species==especies[j],1:p]
Sp <- Sp + cov(x)*(nx[j]-1)
}
Sp <- Sp/(sum(nx)-g); round(Sp, 4)
Sepal.Length
Sepal.Width
Petal.Length
Petal.Width
Sepal.Length Sepal.Width Petal.Length Petal.Width
0.2650
0.0927
0.1675
0.0384
0.0927
0.1154
0.0552
0.0327
0.1675
0.0552
0.1852
0.0427
0.0384
0.0327
0.0427
0.0419
Ajustamos un modelo discriminante lineal con la función lda del paquete MASS:
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
76 / 82
Datos Iris III
library(MASS)
Attaching package: 'MASS'
The following object is masked from 'package:DAAG':
hills
lda1 <- lda(Species ~ . , data = iris, prior=rep(1/3,3))
lda1
Call:
lda(Species ~ ., data = iris, prior = rep(1/3, 3))
Prior probabilities of groups:
setosa versicolor virginica
0.3333333 0.3333333 0.3333333
Group means:
Sepal.Length Sepal.Width Petal.Length Petal.Width
setosa
5.006
3.428
1.462
0.246
versicolor
5.936
2.770
4.260
1.326
virginica
6.588
2.974
5.552
2.026
Coefficients of linear discriminants:
LD1
LD2
Sepal.Length 0.8293776 -0.02410215
Sepal.Width
1.5344731 -2.16452123
Petal.Length -2.2012117 0.93192121
Petal.Width -2.8104603 -2.83918785
Proportion of trace:
LD1
LD2
0.9912 0.0088
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
77 / 82
Datos Iris I
Noten que los coeficientes de los discriminantes lineales corresponden a la matriz A = [a1
a2 ].
También vemos que el primer discriminante es el que más contribuye a la separación de las medias y el
segundo discriminante prácticamente no contribuye a la separación.
Calculamos los scores ŷ = A′ (x − x̄𝑖 ) para todas las observaciones:
mu_k <- lda1$means
mu <- colMeans(mu_k)
#media global
scores <- scale(iris[,1:p], center = mu, scale=F) %*% lda1$scaling
scores2 <- predict(lda1)$x
#otra manera de calcular los scores
#comparamos los scores:
sum(scores-scores2)^2
[1] 3.258077e-26
A continuación se grafican los scores en las direcciones de los dos discriminantes.
plot(scores, xlab="LD1", ylab="LD2", col=as.numeric(iris$Species),
pch = as.numeric(iris$Species), main= "Datos iris")
legend("top", legend = especies, pch = 1:3, col = 1:3)
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
78 / 82
Datos Iris II
Datos iris
0
−2
−1
LD2
1
2
setosa
versicolor
virginica
−5
0
5
10
LD1
En términos de gráficas, podemos encontrar explícitamente las regiones 𝑅𝑖 una vez que tenemos las
fronteras de las regiones, utilizando el paquete klaR.
library(klaR)
especies <- factor(rep(c("S","V","I"),rep(50,3)))
partimat(x = scores[,2:1], grouping = especies, method = "lda")
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
79 / 82
Datos Iris III
Partition Plot
app. error rate: 0.02
V
2
I I
V
V
V
1
I
I
I
I
V
I
I
I
V
V
V
V
V V
VV V
V V
VV
V V
S
V
SS S
S
SSS S
SS
S
S
S S
SS
SSSS
S
S
S
SS
S
S
S
S S
S SSS
SS
S
S
S
S
SS
S
S
S
V
V
VV
VV
V VV
I I
VV
I
VV
V
V
I III I
V
V V VV V
I V
I
I
V
I
I
V
I
I
I
I
V
II
I I
V
I
V
I
I
I
I
I I I
II
I I
0
I
−2
−1
LD2
I
I
I I
S
S
S
I
I
S
−5
0
5
LD1
Podemos graficar todos los pares de variables y marcar las regiones:
par(mfrow = c(2,3))
partimat(x = iris[,-5], grouping = especies, method = "lda")
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
80 / 82
Datos Iris IV
1
1.5
3
4
5
4.0
3.5
Sepal.Width
2.5
S
6
V
1
2
3
6
S
2.0
2.5
Petal.Width
I
I
V
V
VV
V
I
VV
I
VVVV I V I
VVV
I
VVVV
I
I I
V VVV V I I
V V I
V V V I I I
VV
V
V
V
V
I
I
I
I I
I
I I I
I I I I
I I I
I
I
I
1.0
1.5
5
6
2.0
Petal.Width
app. error rate: 0.04
I
I I I
I I
I I I II II
I I
I
I
III I I I I
II
I
II
I
II VV I II III
II I
V
V
II I
VVV
VV
VV V
V I
VV
VVVV
V
VV
V V
V V
V
V
V
VV V
VV V
V
V
V
I
V
0.5
5
I
4
4.0
3.5
3.0
2.5
Sepal.Width
app. error rate: 0.033
S
SSS
S S
SS
SS
S
SSS
S
S
S
SS
SSS
S
4
Petal.Length
S
S
S
2.0
7.5
7.0
6.5
6.0
Sepal.Length
5.5
5.0
4.5
S
I I
I
I
I
I I
I
I
V
V
I I
V
I I
VV V I
I I I I
VV
V
I I I
V V
I I I I I
V V
IV I I
I I
V V
I
I
VVV
I
I
V
V
IV I
V
V
I
V V
I
I
V VV
V
I
V V V
I
VVVV
V
V
V
V
V
I
1.0
I I
I
V
II
V
I I
VV
V I I I II
V VV I III
V
VV
V
V IIVII I II I I
V V
VV
V
V
I
I
V
V V
V
V
V
II I I I
I
VV
V
IV
II
V V V
I
I
V
V
V I VI
I
V V
V
V
V V
V V I
Petal.Length
app. error rate: 0.04
I
I
0.5
S
S
S
S S
S
S
SS
S
S S
S
S
S
S
S
S
S
SS
SS
S
S
SS
S
S
SS
SS
S
2.0
2
Sepal.Width
S
SS
S
S S
S
SS
SSSS
SSS S
SS
SSS
S
SS
S
S
S
3.0
7.5
7.0
6.5
6.0
Sepal.Length
5.5
5.0
4.0
Petal.Length
3.5
SS
S
S
SSS
S
S
S
S
S
S
SS
S
S
S
S
S
S
S
SS S
SS
S S
S
S
S
S
S
3
3.0
S
app. error rate: 0.047
S
II
I
2
2.5
I
I
I
I
I II
I
V
VI I I
V
I I
V V V I III
VV
V II I I
VV
I II
V VV
III I I
VV I
I
V V
VI
I
V V I IV
V VI
V
V
V
I
V V
VV I
V VV
VV I
V
VV V
V
V
V
VV
V
I
1
2.0
app. error rate: 0.033
4.5
6.5
6.0
4.5
5.0
5.5
Sepal.Length
7.0
7.5
Partition Plot
app. error rate: 0.2
I
I I I
I
I
I
I
I I
I
I
V
V
I I
V I I
I
V
IV
I I
VV
V I I
I IV IV
I
V V
I I I I
V
I I
V
IV
I
I VVV
I
V
I
V VI
V
V
I V
VV
I I
S
I V VVV
S
S
V V I VV
VVVV
S
S
V
S
S S
S
V
SS
S
V
SSS SS
V
V
S SSSSS
VI
SS
S
SS
S
S
SS S S
S
SS S
S
2.5
S S
SSS
SS
S
SS
S
SSS S
S
S
SS
SS
SS
S
0.5
1.0
1.5
2.0
2.5
Petal.Width
Podemos también ver las regiones cuadráticas:
par(mfrow = c(2,3))
partimat(x = iris[,-5], grouping = especies, method = "qda")
Jorge de la Vega Góngora (ITAM)
Estadística Aplicada III
13/05/22
81 / 82
Datos Iris V
1
1.5
Jorge de la Vega Góngora (ITAM)
3
4
5
4.0
3.5
Sepal.Width
2.5
S
6
V
1
2
3
2.0
S
6
S
S
S
S
2.5
I
I
I
I
I I
I
I I I
I I I I
I I I
1.0
1.5
5
6
I
I
I
2.0
Petal.Width
Estadística Aplicada III
app. error rate: 0.02
I
I I I
I I
I I I II II
I I
II II I I I
I
II
I
I I I III
II VV I II II
I I
V
V
II I
VVV
V
VV
VV I
VV
V
VV
VV
V
VV
V V
V V
V
V
VVVV
VV V
V
V
V
I
V
0.5
5
I
V
V
VV
V
I
VV
I
VVVV I V I
VVV
I
VVVV
I
I I
V VVV V I I
V V I
V V V I I I
VV
V
V
V
V
I
4
S
SSS
S S
SS
SS
S
SSS
S
S
S
SS
SSS
S
2.5
I
Sepal.Width
I I
I
I I
I
3.0
I
I
I
I
3.5
4.0
I
4
Petal.Length
app. error rate: 0.047
2.0
7.5
7.0
6.5
6.0
Sepal.Length
5.5
5.0
4.5
Petal.Width
I I
I
V
II
V
I I
VV
V I I I II
V VV I III
V
VV
V
V IIVII I II I I
V V
VV
V
V
I
I
V
V V
V
V
V
II I I I
I
VV
V
IV
II
V V V
I
I
V
V
V I VI
I
V V
V
V
V V
V V I
Petal.Length
app. error rate: 0.033
I
I I
I
I
I
I I
I
V
V
I
V
I
VV V I
I
VV
V
I I I
V V
I I I I
V V
IV I I
V V
I
VVV
I
I
V
V
IV I
V
V
I
S
V V
I
SS
V VV
V
I
V V V
I
S
VVVV
S S
V
S
SS
V
SSSS
V
SSS S
V
SS
V
I
SSS
S
SS
S
S
S
1.0
S
S
S
S S
S
S
SS
S
S S
S
S
S
S
S
S
S
SS
SS
S
S
SS
S
S
SS
SS
S
2.0
2
Sepal.Width
0.5
3.0
7.5
7.0
6.5
6.0
Sepal.Length
5.5
5.0
4.0
Petal.Length
3.5
SS
S
S
SSS
S
S
S
S
S
S
SS
S
S
S
S
S
S
S
SS S
SS
S S
S
S
S
S
S
3
3.0
S
app. error rate: 0.047
S
II
I
2
2.5
I
I
I
I
I II
I
V
VI I I
V
I I
V V V I III
VV
V II I I
VV
I II
V VV
III I I
VV I
I
V V
VI
I
V V I IV
V VI
V
V
V
I
V V
VV I
V VV
VV I
V
VV V
V
V
V
VV
V
I
1
2.0
app. error rate: 0.04
4.5
6.5
6.0
4.5
5.0
5.5
Sepal.Length
7.0
7.5
Partition Plot
app. error rate: 0.2
I
I I I
I
I
I
I
I I
I
I
V
V
I I
V I I
I
V
IV
I I
VV
V I I
I IV IV
I
V V
I I I I
V
I I
V
IV
I
I VVV
I
V
I
V VI
V
V
I V
VV
I I
S
I V VVV
S
S
V V I VV
VVVV
S
S
V
S
S S
S
V
SS
S
V
SSS SS
V
V
S SSSSS
VI
SS
S
SS
S
S
SS S S
S
SS S
S
2.5
S S
SSS
SS
S
SS
S
SS
SS S
S
S
SSS
SS
S
0.5
1.0
1.5
2.0
2.5
Petal.Width
13/05/22
82 / 82
Download