Modelos Lineares - Distribuição Normal Bivariada

Modelos Lineares - Distribuição Normal Bivariada

Universidade Federal do Amazonas Instituto de Ciências Exatas Departamento de Estatística

Modelos Lineares - IEE734 Aluno: Thiago Bentes

1 Grá co de uma Normal Bivariada

temos a função densidade de probabilidade conjunta da Normal Bivariada N2( ; ), a qual será dada por

onde

através do algoritmo presente na seção Anexos no software R construímos o grá co da Normal Bivariada.

Figura 1: grá co da Normal Bivariada com os parâmetros citados acima. 1

2 Anexos

2.1 Algoritmo para Geração do Grá co da Densidade Conjunta da Normal

########################################## ## Gráfico da Normal Bivariada f(x1,x2) ##

## Aluno: Thiago Bentes

### Sejam X1 e X2 variáveis aleatórias com X1~N(mu1, s11) e X2~N(mu2, s22) ###-----------

## Definição dos Parâmetros ##-----------------------------------------------------------

# Vetor de Médias #---------------------------------------------------------------------- mu1 <- 0 # Definindo o Valor Esperado de x1 mu2 <- 0 # Definindo o Valor Esperado de x2 # Matriz de Covariâncias #--------------------------------------------------------------- s11 <- 1 # Definindo a Variância de x1 s12 <- 0 # Definindo a Covariância entre x1 e x2 s22 <- 1 # Definindo a Variância de x2 # Coeficiente de Correlação #------------------------------------------------------------ rho <- 0 # Definido o Coeficiente de Correlacao entre x1 e x2 # Gerando a Série de Vetores #----------------------------------------------------------- x1 <- seq(-10,10,length=41) # geração da série de vetores x1 x2 <- x1 # cópia x1 para x2 ## Definindo a Função da Densidade da Normal Bivariada ##-------------------------------- f<-function(x1,x2){ term1 <- 1/(2*pi*sqrt(s11*s22*(1-rho^2))) term2 <- -1/(2*(1-rho^2)) term3 <- (x1-mu1)^2/s11 term4 <- (x2-mu2)^2/s22 term5 <- -2*rho*((x1-mu1)*(x2-mu2))/(sqrt(s11)*sqrt(s22)) term1*exp(term2*(term3+term4-term5)) } ## Criando a Função de Densidade da Normal Multivariada ##------------------------------- z <- outer(x1,x2,f) # calcular os valores de densidade ## Gerandando a Função de Densidade da Normal Multivariada ##---------------------------- persp(x1, x2, z, main = "Densidade da Normal Bivariada f(x1, x2)", sub = expression(italic(f)~(bold(x))==frac(1,2~pi~sqrt(sigma[1]~ sigma[2]~(1-rho^2)))~phantom(0)~exp~bgroup("{", list(-frac(1,2(1-rho^2)), bgroup("[", frac((x[1]~-~mu[1])2, sigma[1])~-~2~rho~frac(x[1]~-~mu[1], sqrt(sigma[1]))~ frac(x[2]~-~mu[2],sqrt(sigma[2]))~+~ frac((x[2]~-~mu[2])2, sigma[2]),"]")),"}")), col = "skyblue", theta = 30, phi = 20, r = 50, d = 0.1, expand = 0.5, ltheta = 90, lphi = 180, shade = 0.75, ticktype = "detailed", nticks = 5) # produz o plot 3-D # Adicionando uma linha de texto para o gráfico #---------------------------------------- mtext(expression(list(mu[1]==0,mu[2]==0,sigma[1]==1,sigma[2]==1,sigma[12]==0)),side=3) ##---------------------------------------------------------------------------------------

2.2 Algoritmo para Geração de Variáveis Aleatórias com Distribuição Normal Bivariada

##################################################################### ## Geração de 100 Observações de uma Distribuição Normal Bivariada ##

## Aluno: Thiago Bentes

## Programa para encontrar as o vetor de médias e a matriz de covariância ##------------- n <- 100 # Amostra de tamanho n = 100. X <- matrix(0,n,2) ## Vetor de Médias Amostrais ##---------------------------------------------------------- M <- matrix(c(2,5),2,1) print(M) ## Matriz de Covariancia Amostral para ##----------------------------------------------- S <- matrix(c(4,2,2,9),2,2) print(S) ## Encontrando a Matriz "A" da Equação "AZ+mu" pelo Método de Chollesk,

## através de "A.AT = S" ##-------------------------------------------------------------- A <- t(chol(S)) print(A) ## Algoritmo que gera Z para calcular "AZ+mu" ##----------------------------------------- for(i in 1:n){ + z <- matrix(rnorm(2,0,1),2,1)

+ X[i,] <- t(A%*%z+M)

+ } ## Matriz de Variáveis X's resultante da expressão: "X = AZ+mu" ##----------------------- print(X) ##---------------------------------------------------------------------------------------

Comentários