Você está na página 1de 4

Análise Multivariada com o R - Aula 02

Joel M. Corrêa da Rosa

20 de abril de 2012

Introdução

Neste material apresentamos alguns métodos multivariados para a visualização dos dados.

Contornos de Densidade Constante

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.

> # Fixando um valor para ponto (X,Y)


> x<-matrix(c(0,0))
> # Fixando o vetor de médias da normal bivariada
> mu<-matrix(c(0,0))
> # Fixando a matriz de covari^ancias da normal bivariada
> SIGMA<-diag(c(1,1))
> # Avaliando a densidade no ponto fixado
> dnormm(x,mu,SIGMA)

1
[,1]
[1,] 0.1591549

A sequência de comandos abaixo é feita para construir gráficos de contornos de densidade


constante.

> 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)
+ }

Vamos construir um diagrama de dispersão em 3 dimensões para ilustar o comportamento


da função de densidade da normal bivariada.

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')

e após a leitura, obtenha as estimativas para o vetor de médias e matriz de cova-


riâncias para as variáveis Direção e Direção Cruzada. Construa os contornos de
densidade constante para o modelo normal bivariado com os parâmetros estimados
e sobreponha os pares de pontos amostrais ao gráfico construı́do.

Você também pode gostar