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-2014-01:historico [2014/05/14 10:02] paulojus |
disciplinas:ce227-2014-01:historico [2016/05/18 09:51] (atual) paulojus |
||
---|---|---|---|
Linha 37: | Linha 37: | ||
| 25/04 Sex |Avaliação: apresentação das análises de dados correspondentes aos {{:disciplinas:ce227:ce227-av04.pdf|modelos da quarta avaliação semanal}} | | | | | | 25/04 Sex |Avaliação: apresentação das análises de dados correspondentes aos {{:disciplinas:ce227:ce227-av04.pdf|modelos da quarta avaliação semanal}} | | | | | ||
| 30/04 Sex |continuação das apresentações e discussões | | | | | | 30/04 Sex |continuação das apresentações e discussões | | | | | ||
- | | 07/05 Sex |Modelos para efeitos aleatórios dependentes. Estrutura do modelo, comparação com outras estratégias/modelos. Exemplo: série temporal para dados binários. | | |[[#07/05|Ver abaixo]] | | + | | 07/05 Qua |Modelos para efeitos aleatórios dependentes. Estrutura do modelo, comparação com outras estratégias/modelos. Exemplo: série temporal para dados binários. | | |[[#07/05|Ver abaixo]] | |
+ | | 09/05 Sex |Fundamentos do INLA | | |{{:disciplinas:ce227:apresentacao-inla.pdf|Apresentação}} | | ||
+ | | 14/05 Sex |Fundamentos do INLA - II - Comentários sobre a (excelente!) apresentação de Gianluca Baio | | |[[http://www.statistica.it/gianluca/Talks/INLA.pdf|A apresentação]] | | ||
Linha 201: | Linha 203: | ||
* Incluir bandas de predição usuais e bayesianas no gráfico | * Incluir bandas de predição usuais e bayesianas no gráfico | ||
* Generalizar código para família de priori Normal-GammaInversa | * Generalizar código para família de priori Normal-GammaInversa | ||
- | * Verificar o efeito/sensitividade à espeficicação das prioris | + | * Verificar o efeito/sensitividade à especificação das prioris |
**Exemplos JAGS/rjags** | **Exemplos JAGS/rjags** | ||
Linha 401: | Linha 403: | ||
=== 16/04 === | === 16/04 === | ||
- (Individual ou em duplas) Encontre um conjunto de dados para cada um dos casos na avaliação semanal de 16/04. Proceda análises não Bayesianas e Bayesianas e discuta os resultados. Trazer //scripts// para discussão na aula de 23/04 e apresentação em 25/04. | - (Individual ou em duplas) Encontre um conjunto de dados para cada um dos casos na avaliação semanal de 16/04. Proceda análises não Bayesianas e Bayesianas e discuta os resultados. Trazer //scripts// para discussão na aula de 23/04 e apresentação em 25/04. | ||
- | - Considere o modelo de verossimilhança <latex>[Y|\mu, \sigma^2] \sim N(\theta, \sigma^2)</latex> e a priori <latex>\tau = 1/\sigma^2 \sim Ga(a, b)</latex>. Mostre como obter a densidade \\ $$[Y|\theta, a, b] = \frac{\Gamma((n/2)+a)}{\pi^{n/2} \Gamma(a) (\sum_i (x_i - \theta)^2 + 2b)^{(n/2)+a}}$$. \\ Como este resultado pode ser interpretado? | + | - Considere o modelo de verossimilhança <latex>[Y|\mu, \sigma^2] \sim N(\theta, \sigma^2)</latex> e a priori <latex>\tau = 1/\sigma^2 \sim Ga(a, b)</latex>. Mostre como obter a densidade: \\ <latex>[Y|\theta, a, b] = \frac{\Gamma((n/2)+a)}{\pi^{n/2} \Gamma(a) (\sum_i (x_i - \theta)^2 + 2b)^{(n/2)+a}}</latex>. \\ Como este resultado pode ser interpretado? |
Linha 407: | Linha 409: | ||
<code R> | <code R> | ||
require(INLA) | require(INLA) | ||
- | # | + | ## |
+ | ## Visualizado dados | ||
+ | ## | ||
data(Tokyo) | data(Tokyo) | ||
head(Tokyo) | head(Tokyo) | ||
plot(y ~ time, data=Tokyo) | plot(y ~ time, data=Tokyo) | ||
+ | ## colocando na forma de proporção de dias com chuva | ||
plot(y/2 ~ time, data=Tokyo) | plot(y/2 ~ time, data=Tokyo) | ||
- | # | + | ## |
+ | ## 1. Modelo "Nulo": só intercepto | ||
+ | ## estimando a probabilidade de chuva como uma constante: | ||
fit.glm <- glm(cbind(y, n-y) ~ 1, family=binomial, data=Tokyo) | fit.glm <- glm(cbind(y, n-y) ~ 1, family=binomial, data=Tokyo) | ||
abline(h=exp(coef(fit.glm))/(1+exp(coef(fit.glm))), col=2, lty=3, lwd=3) | abline(h=exp(coef(fit.glm))/(1+exp(coef(fit.glm))), col=2, lty=3, lwd=3) | ||
- | ## fitted(fit.glm)[1] | + | ## como, como este modelo, todos os valores preditos são iguais bastaria fazer: |
- | # | + | abline(h=fitted(fit.glm)[1], col=2, lty=3, lwd=3) |
- | form = y ~ 0 + f(time, model="rw2", cyclic=T, param=c(1, 0.0001)) | + | ## |
- | fit <- inla(form, data=Tokyo, family="binomial", Ntrials=n, control.predictor=list(compute=TRUE)) | + | ## 2. Modelo com probabilidades variando no tempo (variável/processo latente) |
+ | ## modelando o logito(probabilidade) como um efeito aleatório correlacionado no tempo | ||
+ | ## segundo um "random walk" cíclico de ordm 2 | ||
+ | modelo = y ~ 0 + f(time, model="rw2", cyclic=T, param=c(1, 0.0001)) | ||
+ | fit <- inla(modelo, data=Tokyo, family="binomial", Ntrials=n, control.predictor=list(compute=TRUE)) | ||
+ | ## | ||
names(fit) | names(fit) | ||
head(fit$summary.fitted.values) | head(fit$summary.fitted.values) | ||
- | with(fit, matlines(summary.fitted.values[,c(1,3,5)], lty=c(1,2,2), col=1)) | + | ## sobrepondo ao gráfico dos dados (moda, mediana e médi são praticamente indistinguíveis |
- | # | + | with(fit, matlines(summary.fitted.values[,c(1,3:6)], lty=c(1,2,2,2,3), col=1)) |
- | form0 = y ~ 1 | + | ## |
- | fit0 <- inla(form0, data=Tokyo, family="binomial", Ntrials=n, control.predictor=list(compute=TRUE)) | + | ## 3. Agora o mesmo modelo nulo anterior porém jusado pelo INLA |
+ | ## | ||
+ | modelo0 = y ~ 1 | ||
+ | fit0 <- inla(modelo0, data=Tokyo, family="binomial", Ntrials=n, control.predictor=list(compute=TRUE)) | ||
summary(fit0) | summary(fit0) | ||
fit0$summary.fitted.values | fit0$summary.fitted.values | ||
+ | with(fit0, matlines(summary.fitted.values[,c(1,3:6)], lty=c(1,2,2,2,3), col=2)) | ||
+ | ## | ||
+ | ## 4. Modelando usando GAM (generalised additive model) | ||
+ | ## | ||
+ | require(mgcv) | ||
+ | fit.gam <- gam(cbind(y, n-y) ~ s(time), family=binomial, data=Tokyo) | ||
+ | names(fit.gam) | ||
+ | fitted(fit.gam, se=T) | ||
+ | pred.gam <- predict(fit.gam, type="response", se=T, newdata=Tokyo["time"]) | ||
+ | names(pred.gam) | ||
+ | with(pred.gam, matlines(cbind(fit, fit+2*se.fit, fit-2*se.fit), lty=c(1,2,2), col=4)) | ||
</code> | </code> | ||