Escolar Documentos
Profissional Documentos
Cultura Documentos
20 de abril de 2012
Introdução
Neste material apresentamos alguns métodos multivariados para a visualização dos dados.
Primeiramente vamos construir no R uma função para avaliar o valor da função de densi-
dade da normal bivariada.
> dnormm<-function(x,mu,SIGMA){
+ p<-dim(x)[1]
+ k1<-(2*pi)^(p/2)
+ k2<-sqrt(det(SIGMA))
+ k3<-t(x-mu)%*%solve(SIGMA)%*%(x-mu)
+ dens<-(exp(-0.5*k3))/(k1*k2)
+ return(dens)
+ }
Vamos utilizar como exemplo a normal bivariada com vetor de médias igual a 0 e matriz
de covariâncias igual a identidade.
1
[,1]
[1,] 0.1591549
> X<-seq(-3,3,0.1)
> Y<-seq(-3,3,0.1)
> k<-1
> x1<-c()
> x2<-c()
> z<-matrix(ncol=length(X),nrow=length(Y))
> for (i in 1:length(X)){
+ for (j in 1:length(Y)){
+ x1<-X[i]
+ x2<-Y[j]
+ x<-matrix(c(x1,x2))
+ z[i,j]<-dnormm(x,mu,SIGMA)
+
+ k<-k+1
+ }
+ }
> contour(X,Y,z,col='red')
2
3
2
0.06
1
0.1
0.14
0
0.12
−1
0.08
0.04
−2
0.02
−3
−3 −2 −1 0 1 2 3
Para a normal bivariada do exemplo anterior, vamos gerar um conjunto de 1000 pontos e
avaliar as densidades nos pontos gerados.
> x1<-c()
> x2<-c()
> z<-c()
> for (i in 1:1000)
+ {
+ x1[i]<-rnorm(1)
+ x2[i]<-rnorm(1)
+ x<-matrix(c(x1[i],x2[i]))
+ z[i]<-dnormm(x,mu,SIGMA)
+ }
3
> require(scatterplot3d)
> scatterplot3d(x1,x2,z)
●
●●●
●
● ●
●
●●
●
●
●●
●
●
●●
●●
●
●● ●
●
●●
●
●
●●●
●
●●
●●●●
●
●●
●●
●●
●
●
●●
●
●
●●●●
● ●
●
●
●●
●●●
●
●●
0.20
●
●
●●●
●●
●
●●
●●
●●●
●●●●
●
●●●●
●●
●
●
●●
●●●
●
●●
● ●●
●●
●●●●●●
●
● ●●●●●
●●
●
●
● ●
●
●
●●
●●●●
●
●●●
●
●
●
●● ●●
●●●
●●
●●●●
●● ●● ●●
●
●●
●
●
●
●
●
●●
●●
●●●
● ●● ●●
●●
●●●
●●●
●●
●●
●
●
●
●
●●
● ●●●
● ●
●●●●● ●
● ●●●
● ●
●●
●●
●
● ●
●
● ● ● ●
● ●
●●●●●
●
●
●
●
●●●
●●● ●● ●
●
● ●●
● ●●●●●
●●
●
●
●●●
●
●
●
●
● ● ●
●●
●
●
● ●●● ●
● ●
● ● ●●●●
●●
x2
●●●
●● ●●
●●● ●● ●●
0.15
●
●
●●
●●●●
●
●●●●
●● ● ●●●●
●●
●●
●●
●● ●●
● ●●
●●●●
●
●
4
●●● ● ●●● ● ● ●
●●
●
●●
●
●●
●●● ●●
● ●●●●
●●●●●
●●●●
● ●
●
●●●
●●
●
● ●
●
●●
●●
● ●●●● ● ● ● ●● ●
●
● ●●●
●●
●
●
●● ●●● ● ● ●●● ● ● ●
●● ●●
● 3
●
●
●●
●
●●
● ●
●
● ●
●
●
●
● ●
●
●●● ● ●
●●
● ●
● ●●●●
●●
●●
● ●
●●●
●●●●●● ●
●● ●●●
●●
●● ●● ●● ●●● ●●● ●
●
●● ●● ● ● ●●● ●●●
●●
●
● ● ●● ● ●●●● ●● ●● ● ● ●
●●●●
●●●●
●● ● ● ● 2
0.10
●
●
●●
●
●●
●●
●●● ● ●● ●
●● ● ●
● ●
●●● ● ● ● ● ● ●
z
● ● ●
●
●●
● ●● ●● ●
●●
●
●
●●●
●●
● ●● ● ●● ● ●●
● ●● 1
●●●●
● ● ●
● ●● ● ●
● ●● ●●●●● ● ●
●●
● ● ● ● ●
●●●●●● ● ● ● ● ● ● ●●●
● ● ● 0
●
●
● ●● ● ●●●●●
●
● ●● ●●● ●● ● ●● ●● ●
0.05
●
●●
● ●●
●●●● ● ●●●● ● ●●
●
●
● −1
●
● ●● ● ● ●●
● ●● ● ●● ●●● ● ●●
●● ●● ● ● ● −2
● ●
0.00
−3
−4 −3 −2 −1 0 1 2 3 4
x1
Exercı́cios
1. Construir os contornos para a densidade bivariada com vetor de médias igual a zero
, variâncias igual a unidade e covariância igual a 0,8.
2. Faça a leitura dos dados do conjunto PaperQuality com os comandos abaixo
D<-read.csv2('http://www.professores.uff.br/joel/dados/PaperQuality.csv')