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
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/31 10:47]
ehlers
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>​
 +
 +Vamos agora visualizar a distribuição de interesse de diferentes formas: pelo histograma 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 funções podem retornar resultados e/ou gráficos. A função ''​hist()''​ é um exemplo de função que retorna ambos. 
-hy<- hist(Y)+<code R> 
 +hy <- hist(Y)
 hy hy
 class(hy) class(hy)
Linha 567: Linha 575:
 </​code>​ </​code>​
  
-Criando função: +Criando ​uma função ​-- um exemplo. Vamos encapsular todo o procedimento acima em uma função. Isto pode 
 +ser útil para tornar a execução mais 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>​
  
-=== 24/03/2008 === +=== 26/03/2008 === 
-Exercício proposto no material do cursoe ​extensões discutidas em aula.+Exercício proposto no material do curso e extensões discutidas em aula.
  
 Calculando o valor da expressão Calculando o valor da expressão
Linha 605: Linha 613:
 </​code>​ </​code>​
  
-Noque que está éa expressão da log-verossimilhanca para uma a.a. de uma distribuição de Poisson+Noque que está é a expressão da log-verossimilhanca para uma a.a. de uma distribuição de Poisson
 <code R> <code R>
 mf(y=x, lam=11) mf(y=x, lam=11)
Linha 629: Linha 637:
 </​code>​ </​code>​
  
-A solução também poderia ser obtida por otimização numérica. Isto não é vantajoso para este problema mas pode ser a solução ​cem casosonde asolução ​analítica não é disponível.+A solução também poderia ser obtida por otimização numérica. Isto não é vantajoso para este problema mas pode ser a solução ​em casos onde a solução ​analítica não é disponível.
 <​code>​ <​code>​
 optimize(mf,​ c(min(x), max(x)), maximum=T, y=x) optimize(mf,​ c(min(x), max(x)), maximum=T, y=x)
 </​code>​ </​code>​
  

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