Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças

Diferenças

Aqui você vê as diferenças entre duas revisões dessa página.

Link para esta página de comparações

Ambos lados da revisão anterior Revisão anterior
Próxima revisão Ambos lados da revisão seguinte
disciplinas:ce223:comandos2008 [2008/03/26 23:11]
paulojus
disciplinas:ce223:comandos2008 [2008/03/26 23:20]
paulojus
Linha 545: Linha 545:
  
 === 24/03/2008 === === 24/03/2008 ===
 +**Problema:​**
 +Considere duas variáveis aleatórias:​ ''​N''​ com distribuição Poisson de parâmetro 15 e ''​Pr''​ com distribuição exponencial de parâmetro 1/50000. Queremos obter o quantil 99 de uma variável aleatória ''​Y''​ dada pelo produto das anteriores, isto é ''​Y = N * Pr''​.
  
 +**Solução:​** a solução analítica requer a obtenção da f.d.p. de ''​Y''​seguida da resolução de uma equação envolvendo integração desta f.d.p. para encontrar o quantil pedido. Entretanto, vamos aqui ilustrar uma alternativa numérica para resolver o problema, usando uma aproximação numérica por simulação.
 <code R> <code R>
 N<- rpois(10000,​ lambda=15) N<- rpois(10000,​ lambda=15)
Linha 551: Linha 554:
 Y<- N*Pr Y<- N*Pr
 q99 <- quantile(Y, prob=0.99) q99 <- quantile(Y, prob=0.99)
 +</​code>​
 +
 +Vamosagora visualizar a distribuição de interesse de diferentes formas: pelo hiostograma das simulações e,
 +uma forma alternativa (e mais interessante!!!) utilizando estimação de densidades.
 +<code R>
 hist(Y) hist(Y)
- 
- 
 hist(Y, prob=T) hist(Y, prob=T)
 lines(density(Y)) lines(density(Y))
 plot(density(Y)) plot(density(Y))
 abline(v=q99) abline(v=q99)
 +</​code> ​
  
 +Note que que funçãos podem retornar resultados e/ou gráficos. A função ''​hist()''​ é um exemplo de função que retorna ambos. 
 +<code R>
 hy<- hist(Y) hy<- hist(Y)
 hy hy
Linha 567: Linha 575:
 </​code>​ </​code>​
  
-Criando função: +Criando ​uma função-- um exemplo. Vamosencapsular todo o procedimento acima em uma função. Isto pode 
 +ser útil para tornar a execução mias rápida e eficiente ​ quando o procedimento deve ser repetido várias vezes. 
 +(o equivalente a construir ''​macros''​).
 <code R> <code R>
 mf<- function(n,​lam,​r,​q){ mf<- function(n,​lam,​r,​q){
-N<​-rpois(n,​lambda=lam) +  ​N<​-rpois(n,​lambda=lam) 
-Pr<​-rexp(n,​rate=r) +  Pr<​-rexp(n,​rate=r) 
-Y<​-N*Pr +  Y<​-N*Pr 
-qq <- quantile(Y,​prob=q) +  qq <- quantile(Y,​prob=q) 
-hist(Y,​prob=T) +  hist(Y,​prob=T) 
-lines(density(Y)) +  lines(density(Y)) 
-abline(v=qq) +  abline(v=qq) 
-text("​topright",​ paste("​quantil",​ q, "​=",​ qq)) +  text("​topright",​ paste("​quantil",​ q, "​=",​ qq)) 
-return(invisible(qq))+  return(invisible(qq))
 } }
- 
 mf(10000, 15, 1/50000, 0.99) mf(10000, 15, 1/50000, 0.99)
-resp<- mf(10000,​15,​ 1/50000, 0.99)+resp <- mf(10000,​15,​ 1/50000, 0.99)
 resp resp
 </​code>​ </​code>​

QR Code
QR Code disciplinas:ce223:comandos2008 (generated for current page)