[R-br] Simulação de distribuição bivariada

Natalia Martins nsmbarreto em gmail.com
Terça Junho 19 17:12:15 BRT 2012


Ola,
para simular uma normal bivariada tem-se

library(tmvtnorm)
dado_simulado <- rmvnorm(n, mean=media, sigma=sigma)

em que n é tamanho da sua amostra simulada
media é um vetor de medias  das variaveis X1 e X2
sigma é uma matriz de covariancias das variaveis X1 e X2.

para maiores informações tente ?tmvtnorm

Espero ter ajudado.



Em 19 de junho de 2012 17:04, Rodrigo Coster <rcoster em gmail.com> escreveu:

> Caros,
>
> o R tem alguma função para simulação de distribuições bivariadas?
>
> Seguem as funções densidades e distribuição da distribuição que tenho
> intesse em simular (u e v são as variaveis, tauU e tauL os parametros,
> todos no intervalo (0,1))
>
> dsjc <- function(u,v,tauU,tauL) {
>
>  ## Adaptado do Código para Matlab de Andrew Patton -
> http://publicecondukeedu/~ap172/codehtml
>  k1 =  1/log2(2-tauU)
>  k2 = -1/log2(tauL)
>  CL1 = ((1 - (1 - u)^k1)^(k2 - 1)* (1 - u)^(k1 - 1)*(-1 + k1*(k2* (-1 +
> (-1 + (1 - (1 - u)^k1)^(-k2) + (1 - (1 - v)^k1)^(-k2))^(k2^(-1))) + (-1 +
> (1 - (1 - u)^k1)^(-k2) + (1 - (1 - v)^k1)^(-k2))^(k2^(-1))))* (1 - (-1 + (1
> - (1 - u)^k1)^(-k2) + (1 - (1 - v)^k1)^(-k2))^(-k2^(-1)))^(k1^(-1))* (1 -
> (1 - v)^k1)^(k2 - 1)* (1 - v)^(k1 - 1))
>  CL2 = (((-1 + (-1 + (1 - (1 - u)^k1)^(-k2) + (1 - (1 -
> v)^k1)^(-k2))^(k2^(-1)))^2) * ((1 - (1 - u)^k1)^k2 + (1 - (1 - v)^k1)^k2 -
> (1 - (1 - u)^k1)^k2* (1 - (1 - v)^k1)^k2)^2)
>  CL1 = CL1/CL2
>
>  k1 =  1/log2(2-tauL)
>  k2 = -1/log2(tauU)
>  u  = 1-u
>  v  = 1-v
>  CL3 = ((1 - (1 - u)^k1)^(k2 - 1)* (1 - u)^(k1 - 1)*(-1 + k1*(k2* (-1 +
> (-1 + (1 - (1 - u)^k1)^(-k2) + (1 - (1 - v)^k1)^(-k2))^(k2^(-1))) + (-1 +
> (1 - (1 - u)^k1)^(-k2) + (1 - (1 - v)^k1)^(-k2))^(k2^(-1))))* (1 - (-1 + (1
> - (1 - u)^k1)^(-k2) + (1 - (1 - v)^k1)^(-k2))^(-k2^(-1)))^(k1^(-1))* (1 -
> (1 - v)^k1)^(k2 - 1)* (1 - v)^(k1 - 1))
>  CL4 = (((-1 + (-1 + (1 - (1 - u)^k1)^(-k2) + (1 - (1 -
> v)^k1)^(-k2))^(k2^(-1)))^2) * ((1 - (1 - u)^k1)^k2 + (1 - (1 - v)^k1)^k2 -
> (1 - (1 - u)^k1)^k2* (1 - (1 - v)^k1)^k2)^2)
>  CL3 = CL3/CL4
>  CL  = 0.5*(CL1+CL3)
>
>
>  return(CL)
> }
>
>
> psjc <- function(U,V,tauU,tauL) {
>
>  ## Adaptado do Código para Matlab de Andrew Patton -
> http://publicecondukeedu/~ap172/codehtml
>  K =  1/log2(2-tauU);
>  G = -1/log2(tauL);
>  out1 = 1-((1-(((1-((1-U)^K))^(-G))+((1-((1-V)^K))^(-G))-1)^(-1/G))^(1/K));
>  K =  1/log2(2-tauL); # switching the upper and lower measures
>  G = -1/log2(tauU);
>  U = 1-U;
>  V = 1-V;
>  out2 = (1-U) + (1-V) - 1 +
> 1-((1-(((1-((1-U)^K))^(-G))+((1-((1-V)^K))^(-G))-1)^(-1/G))^(1/K));
>  out1 = 0.5*(out1+out2);
>  return(out1)
> }
>
>
>
> _______________________________________________
> R-br mailing list
> R-br em listas.c3sl.ufpr.br
> https://listas.inf.ufpr.br/cgi-bin/mailman/listinfo/r-br
> Leia o guia de postagem (http://www.leg.ufpr.br/r-br-guia) e forneça
> código mínimo reproduzível.
>



-- 

Natália da Silva Martins
Bacharel em Estatística - Universidade Estadual de Maringá/ UEM
Mestranda em Estatística e Experimentação Agronômica - ESALQ/ USP
Contato: (19) 8306-4743
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://listas.inf.ufpr.br/pipermail/r-br/attachments/20120619/911aeeca/attachment.html>


Mais detalhes sobre a lista de discussão R-br