Não foi possível enviar o arquivo. Será algum problema com as permissões?
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
| Ambos lados da revisão anterior Revisão anterior Próxima revisão | Revisão anterior | ||
|
disciplinas:ce227-2018-01:historico [2018/04/24 18:30] paulojus |
disciplinas:ce227-2018-01:historico [2019/11/04 11:52] (atual) paulojus |
||
|---|---|---|---|
| Linha 34: | Linha 34: | ||
| | 18/04 Qua |Algoritmo amostrador de Gibbs (Gibbs sampler). Exemplo na inferência para distribuição normal | |[[#18/04|ver abaixo]] | | | 18/04 Qua |Algoritmo amostrador de Gibbs (Gibbs sampler). Exemplo na inferência para distribuição normal | |[[#18/04|ver abaixo]] | | ||
| | 23/04 Seg |Revisão Gibbs sampler. Modelo Poisson com priori Gamma e hiperpriori InvGamma. Derivação da posteriori, condicionais completas e implementação do algoritmo de Gibbs. Regressão linear: expressões para amostragem exata e via Gibbs| |[[#23/04|ver abaixo]] | | | 23/04 Seg |Revisão Gibbs sampler. Modelo Poisson com priori Gamma e hiperpriori InvGamma. Derivação da posteriori, condicionais completas e implementação do algoritmo de Gibbs. Regressão linear: expressões para amostragem exata e via Gibbs| |[[#23/04|ver abaixo]] | | ||
| + | | 25/04 Qua |Gibbs sampler compasso Metrópolis. Modelo Poisson com priori Normal. Derivação da posteriori, condicionais completas e implementação do algoritmo de Gibbs com um passo metrópolis. | |[[#23/04|ver abaixo]] | | ||
| + | | 30/04 Seg |Feriado | | | | ||
| + | | 02/05 Qua |1a prova | | | | ||
| + | | 07/05 Seg |Discussão das questões da 1a prova. Definição de atividades para sequencia do curso | |[[#07/05|ver abaixo]] | | ||
| + | | 09/05 Qua |Recursos computacionais para inferência Bayesiana - Atividades indicadas na aula anterior. Sem aula expositiva. | | | | ||
| + | | 14/05 Seg |Gibbs sampler: exemplo das minas de carvão. Programação e utilização do JAGS | |[[#14/05|ver abaixo]] | | ||
| + | | 16/05 Qua |Modelo de componentes de variância e correlação intraclasse, análise Bayesiana e não Bayesiana. Análise via JAGS | |[[#16/05|ver abaixo]] | | ||
| + | | 21/05 Seg |Sem aula expositiva: semana dedicada às atividades do RDay e RBras | | | | ||
| + | | 23/05 Qua |Sem aula expositiva: semana dedicada às atividades do RDay e RBras | | | | ||
| + | | 28/05 Seg |Sem aula expositiva: interrupção de aulas na UFPR | | | | ||
| + | | 30/05 Qua |Sem aula expositiva: interrupção de aulas na UFPR | | | | ||
| + | | 04/06 Seg |Reorganização do curso. Dúvidas e perguntas dos alunos | | | | ||
| + | | 06/06 Qua |2a prova. Toda matéria discutida até aqui | | | | ||
| + | | 11/06 Qua |Bayesiano empírico - modelo Poisson-Gamma para taxas | | | | ||
| + | | 13/06 Qua |Apresentações | | | | ||
| + | | 18/06 Qua |Apresentações | | | | ||
| + | | 20/06 Qua |3a prova. | | | | ||
| === 19/02 === | === 19/02 === | ||
| Linha 64: | Linha 81: | ||
| === 26/02 === | === 26/02 === | ||
| - Completar problemas propostas nas aulas anteriores após as discussões em aula | - Completar problemas propostas nas aulas anteriores após as discussões em aula | ||
| - | - Escrever um código para o Exemplo da Poisson (2.3 do material), que permita desenhas as funções e avaliar efeitos de prioris e dados | + | - Escrever um código para o Exemplo da Poisson (2.3 do material), que permita desenhar as funções e avaliar efeitos de prioris e dados |
| - Ler e resolver exercícios do Capítulo 2 da apostila | - Ler e resolver exercícios do Capítulo 2 da apostila | ||
| Linha 153: | Linha 170: | ||
| === 09/04 === | === 09/04 === | ||
| - Fazer um código (com operações matriciais) para os cálculos do Exemplo 1. O código deve permitir definir diferentes prioris e verossimilhanças. Experimentar com valores diferentes do exemplo. | - Fazer um código (com operações matriciais) para os cálculos do Exemplo 1. O código deve permitir definir diferentes prioris e verossimilhanças. Experimentar com valores diferentes do exemplo. | ||
| - | - Especificar valores para os hiperparâmetros p e q no Exemplo 2 e simular um conjunto de dados. Obter a posteriori e maginais. Fazer gráficos conjuntos e marginais da priori e posteriori. | + | - Especificar valores para os hiperparâmetros //p// e //q// no Exemplo 2 e simular um conjunto de dados. Obter a posteriori e maginais. Fazer gráficos conjuntos e marginais da priori e posteriori. |
| - No Exemplo 3 obter a marginal <latex>[\sigma^2|y]</latex> e a posteriori condicional <latex>[\mu|\sigma^2,y]</latex> | - No Exemplo 3 obter a marginal <latex>[\sigma^2|y]</latex> e a posteriori condicional <latex>[\mu|\sigma^2,y]</latex> | ||
| - Ainda no exemplo 3 definir os hiperparâmetros de obter uma simulação de dados do modelo | - Ainda no exemplo 3 definir os hiperparâmetros de obter uma simulação de dados do modelo | ||
| Linha 273: | Linha 290: | ||
| ## | ## | ||
| ## A estratégia de Gibbs é alternar as simulações entre **as distribuições condicionais** | ## A estratégia de Gibbs é alternar as simulações entre **as distribuições condicionais** | ||
| - | ## o que "parece" errado ,as provouse que a cadeia de valores assim simulados **converge** para a distribuição conjunta | + | ## o que "parece" errado ,as provou-se que a cadeia de valores assim simulados **converge** para a distribuição conjunta |
| ## [\mu|\sigma^2, y] \sim {\rm N}(\overline{y}, \sigma^2/n) | ## [\mu|\sigma^2, y] \sim {\rm N}(\overline{y}, \sigma^2/n) | ||
| ## [\sigma^2|\mu, y] \sim {\rm IG}(\frac{n}{2}, \frac{2}{A}) | ## [\sigma^2|\mu, y] \sim {\rm IG}(\frac{n}{2}, \frac{2}{A}) | ||
| Linha 292: | Linha 309: | ||
| sigma2.simG[1] <- 100 | sigma2.simG[1] <- 100 | ||
| - | {for(i in 2:N){ | + | { |
| + | for(i in 2:N){ | ||
| A <- with(dados, SQ + n*(mu.simG[i-1]-m)^2) | A <- with(dados, SQ + n*(mu.simG[i-1]-m)^2) | ||
| sigma2.simG[i] <- with(dados, 1/rgamma(1, shape=n/2, scale=2/A)) | sigma2.simG[i] <- with(dados, 1/rgamma(1, shape=n/2, scale=2/A)) | ||
| Linha 324: | Linha 342: | ||
| === 23/04 === | === 23/04 === | ||
| - | - Implementar modelo semelhante ao visto em aula porém com <math>log(lambda ~Normal). (ver detalhes na versão revisada do Cap 8 do material do curso. | + | - Implementar modelo semelhante ao visto em aula porém com <math>log(lambda ~Normal)</math>. (ver detalhes na versão revisada do Cap 8 do material do curso. |
| - Implementar a regressão linear via algoritmo de Gibbs. Usar dados simulados de uma regressão linear simples. Incluir amostras da preditiva no algoritmo | - Implementar a regressão linear via algoritmo de Gibbs. Usar dados simulados de uma regressão linear simples. Incluir amostras da preditiva no algoritmo | ||
| - Código para o modelo visto em aula:<code R> | - Código para o modelo visto em aula:<code R> | ||
| Linha 378: | Linha 396: | ||
| plot(density(beta.sam, from=0, to=5)); abline(v=mean(betas)); rug(betas) | plot(density(beta.sam, from=0, to=5)); abline(v=mean(betas)); rug(betas) | ||
| plot(density(lambda.sam, from=0, to=20)); abline(v=mean(lambdas)); rug(lambdas) | plot(density(lambda.sam, from=0, to=20)); abline(v=mean(lambdas)); rug(lambdas) | ||
| - | </code R> | + | </code> |
| + | |||
| + | === 07/05 === | ||
| + | - **Atividade 1** (individual ou duplas) Buscar algum pacote do R ou outro programa que permita obter os resultados (analíticos) vistos até aqui no curso. Evitar coincidẽncias entre os escolhidos | ||
| + | - **Atividade 2** (individual ou duplas) Buscar algum pacote do R ou outro programa que permita obter por simulação resultados pera os exemplos vistos até aqui no curso. Evitar coincidẽncias entre os escolhidos | ||
| + | - **Atividade 3** (individual ou duplas) Utilizar o recurso visto na Atividade 2 para analizar algum modelo/exemplo não visto no curso. Evitar coincidẽncias entre os escolhidos | ||
| + | |||
| + | === 14/05 === | ||
| + | - {{:disciplinas:ce227:changepointjags.r|Script R/JAGS para análise dos dados do Cap 8}} (changepoint Poisson) | ||
| + | |||
| + | === 16/05 === | ||
| + | - Coeficiente de correlação intraclasse <code R> | ||
| + | ## Dados simulados do modelo: | ||
| + | ## Y_{ij} \sim N(\mu_{i}, \sigma^2_y) | ||
| + | ## mu_{i} = theta + b_{i} | ||
| + | ## b_{i} \sim N(0, \sigma^2_b) | ||
| + | ## que, por ser normal (com ligação identidade) | ||
| + | ## pode ser escrito por: | ||
| + | ## Y_{ij} = \beta_0 + b_{i} + \epsilon_{ij} | ||
| + | ## | ||
| + | ## simulando dados: | ||
| + | Ngr <- 25 | ||
| + | Nobs <- 10 | ||
| + | set.seed(12) | ||
| + | sim <- data.frame(id = Ngr*Nobs, | ||
| + | gr = rep(1:Ngr, each=Nobs), | ||
| + | bs = rep(rnorm(Ngr, m=0, sd=10), each=Nobs), | ||
| + | eps = rnorm(Ngr*Nobs, m=0, sd=4) | ||
| + | ) | ||
| + | sim <- transform(sim, y = 100 + bs + eps) | ||
| + | sim | ||
| + | |||
| + | ## estimativas "naive" | ||
| + | resumo <- function(x) c(media=mean(x), var=var(x), sd=sd(x), CV=100*sd(x)/mean(x)) | ||
| + | (sim.res <- aggregate(y~gr, FUN=resumo, data=sim)) | ||
| + | var(sim.res$y[,1]) | ||
| + | mean(sim.res$y[,2]) | ||
| + | mean(sim$y) | ||
| + | |||
| + | ## A seguir serão obtidas inferências de três formas diferentes: | ||
| + | ## - ajuste modelo de efeito aleatório (não bayesiano) | ||
| + | ## - ajuste via JAGS (inferência por simulação da posteriori) | ||
| + | ## - ajuste via INLA (inferência por aproximação da posteriori) | ||
| + | |||
| + | ## | ||
| + | ## Modelo de efeitos aleatórios | ||
| + | ## | ||
| + | require(lme4) | ||
| + | fit.lme <- lmer(y ~ 1|gr, data=sim) | ||
| + | summary(fit.lme) | ||
| + | ranef(fit.lme) | ||
| + | coef(fit.lme)$gr - fixef(fit.lme) | ||
| + | print(VarCorr(fit.lme), comp="Variance") | ||
| + | |||
| + | ## JAGS | ||
| + | require(rjags) | ||
| + | |||
| + | sim.lst <- as.list(sim[c("gr","y")]) | ||
| + | sim.lst$N <- nrow(sim) | ||
| + | sim.lst$Ngr <- length(unique(sim$gr)) | ||
| + | mean(sim.lst$y) | ||
| + | |||
| + | cat("model{ | ||
| + | for(j in 1:N){ | ||
| + | y[j] ~ dnorm(mu[gr[j]], tau.e) | ||
| + | } | ||
| + | for(i in 1:Ngr){ | ||
| + | mu[i] ~ dnorm(theta, tau.b) | ||
| + | } | ||
| + | theta ~ dnorm(0, 1.0E-6) | ||
| + | tau.b ~ dgamma(0.001, 0.001) | ||
| + | sigma2.b <- 1/tau.b | ||
| + | tau.e ~ dgamma(0.001, 0.001) | ||
| + | sigma2.e <- 1/tau.e | ||
| + | cci <- sigma2.e/(sigma2.e+sigma2.b) | ||
| + | }", file="sim.jags") | ||
| + | |||
| + | sim.jags <- jags.model(file="sim.jags", data=sim.lst, n.chains=3, n.adapt=1000) | ||
| + | ## inits = ... | ||
| + | |||
| + | fit.jags <- coda.samples(sim.jags, c("theta", "sigma2.b", "sigma2.e", "cci"), 10000, thin=10) | ||
| + | |||
| + | summary(fit.jags) | ||
| + | plot(fit.jags) | ||
| + | |||
| + | ## | ||
| + | require(INLA) | ||
| + | |||
| + | fit.inla <- inla(y ~ f(gr) , family="gaussian", data=sim) | ||
| + | summary(fit.inla) | ||
| + | sqrt(1/fit.inla$summary.hyperpar[,1]) | ||
| + | </code> | ||
| + | |||
| + | <fs large>**Atividades propostas:**</fs> | ||
| + | - Complementar as análise acima com exploração dos resultados, obtenção de gráficos e resultados de interesse | ||
| + | - Ajustar o modelo acima aos dados de:\\ Julio M. Singer, Carmen Diva Saldiva de André, Clóvis de Araújo Peres\\ **Confiabilidade e Precisão na Estimação de Médias**\\ [[http://www.rbes.ibge.gov.br/images/doc/rbe_236_jan_jun2012.pdf|Revista Brasileira de Estatística, v73]], n. 236, jan./jun. 2012. | ||
| + | - Identificar e ajustar modelos (não bayesianos, bayesianos por simulação ou aproximados) para dados simulados da seguinte forma: <code R> | ||
| + | set.seed(123456L) | ||
| + | n <- 50 | ||
| + | m <- 10 | ||
| + | w <- rnorm(n, sd=1/3) | ||
| + | u <- rnorm(m, sd=1/4) | ||
| + | b0 <- 0 | ||
| + | b1 <- 1 | ||
| + | idx <- sample(1:m, n, replace=TRUE) | ||
| + | y <- rpois(n, lambda = exp(b0 + b1 * w + u[idx] | ||
| + | </code> | ||