dengue: coronel fabricianogi3ceaul.fc.ul.pt/report2/report_antunes_aturkman_denguecor… · dengue:...
Post on 26-Apr-2020
2 Views
Preview:
TRANSCRIPT
Dengue: Coronel Fabriciano
Relatorio Tecnico
Maria Antonia Amaral Turkman e Marılia Antunes
Lisbon, 26 de junho de 2013
Sumario
1 Introducao 1
2 Analise preliminar dos dados 2
3 Modelo Bayesiano Espaco-temporal 13
4 Implementacao do modelo 154.1 Dados e modelo . . . . . . . . . . . . . . . . . . . . . . . . . . . . 154.2 Analise dos Resultados . . . . . . . . . . . . . . . . . . . . . . . . 174.3 Previsao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
1 Introducao
Este relatorio diz respeito a analise de dados de Dengue coligidos por MarcoHorta e Cristina Catita.
A base inicial de dados consta de:
• ocorrencias (notificacoes) semanais de casos de dengue: de 2002 a 2009,no total de 417 semanas, em 121 sectores em Coronel Fabriciano(MinasGerais);
• dados climaticos: temperatura, pluviosidade, temperatura maxima, tem-peratura mınima, humidade media, semanais; embora os dados climaticossejam tambem respeitantes as 417 semanas nao tem estrutura espacial.
• Variaveis sociais estaticas relativas a cada sector, tais como populacao,numero de domicılios, etc, as quais serao descritas posteriormente.
O objectivo do estudo estatıstico e de fazer uma analise espaco-temporal demodo a encontrar um modelo com o qual se possa predizer a possıvel ocorrenciade epidemia de dengue com base nas variaveis climaticas e sociais.
1
Inicialmente tentou-se construir um modelo de regressao Poisson espaco-temporal usando como variavel resposta o numero de casos de dengue em cadasector e ao longo do tempo e como variaveis explicativas as variaveis climaticas esociais. Contudo este estudo foi abandonado uma vez que o numero de sectorese semanas com zero casos de dengue era demasiado elevado para se conseguircorrer o modelo.
Assim optou-se por dicotomizar as ocorrencias de casos de dengue e parasector e semana considerou-se apenas se tinha ocorrido pelo menos um caso dedengue ou nenhum.
Adaptou-se entao um modelo de cadeia de Markov nao homogenea comdois estados (ocorrencia/nao ocorrencia) em que as probabilidades de transicaoforam modeladas usando uma funcao de ligacao logıstica sendo o preditor linearfuncao das variaveis sociais e climaticas.
No relatorio que se segue comeca-se, na seccao 2 por fazer uma analise pre-liminar dos dados; na seccao 3 apresenta-se o modelo bayesiano hierarquicoespaco-temporal para a cadeia de Markov nao homogenea descrita acima; naseccao 4 apresentam-se os resultados obtidos pela implemetacao do modelo e naseccao 5 faz-se uma discussao dos resultados.
2 Analise preliminar dos dados
Nesta seccao faz-se uma analise preliminar dos dados descritos na seccao ante-rior.
• ocorrencias (notificacoes) semanais de casos de dengue: de 2002 a 2009,no total de 417 semanas, em 121 sectores em Coronel Fabriciano(MinasGerais);
> rm(list=ls())
> dengue_casos<-read.table("tabela_final_completa.txt",dec=",",header=T)
> dim(dengue_casos)
[1] 50457 4
> names(dengue_casos)
[1] "sem_temporal" "sem_epid" "num_cases" "ID"
> summary(dengue_casos$num_cases)
Min. 1st Qu. Median Mean 3rd Qu. Max.
0.0000 0.0000 0.0000 0.1648 0.0000 31.0000
> table(dengue_casos$num_cases)
0 1 2 3 4 5 6 7 8 9 10 11 12
45548 3289 852 386 185 81 46 24 6 9 11 4 4
13 14 17 24 28 30 31
2 3 2 1 1 2 1
> round(table(dengue_casos$num_cases)/nrow(dengue_casos),4)
2
0 1 2 3 4 5 6 7 8 9 10
0.9027 0.0652 0.0169 0.0077 0.0037 0.0016 0.0009 0.0005 0.0001 0.0002 0.0002
11 12 13 14 17 24 28 30 31
0.0001 0.0001 0.0000 0.0001 0.0000 0.0000 0.0000 0.0000 0.0000
> par(mfrow=c(1,2))
> plot(table(dengue_casos$num_cases),ylab="frequencia",xlab="numero de casos")
> plot(1:nrow(dengue_casos),dengue_casos$num_cases,
+ "l",main="Serie temporal de casos de dengue",xlab="indice",ylab="numero de casos",
+ axes=F,col=2,lty=2)
> abline(v=seq(1,nrow(dengue_casos),6292),lty=2,col=3)
> axis(1,at=seq(3146,nrow(dengue_casos),6292),labels=2002:2009,cex.axis=0.5)
> axis(2,at=1:31,cex.axis=0.5)
> box()
> casos_sector<-0
> for(i in 1:121){
+ casos_sector[i]<-sum(dengue_casos$num_cases[dengue_casos$ID==i]>0)
+ }
> table(casos_sector)
casos_sector
0 1
113 8
010
000
2000
030
000
4000
0
número de casos
freq
uênc
ia
0 5 11 24 31
Serie temporal de casos de dengue
indice
num
ero
de c
asos
2002 2004 2006 2008
12
34
56
78
911
1315
1719
2123
2527
2931
Os resultados anteriores msotram que nas 417 semanas em analise e nos121 sectores, em 90% dos casos nao se registou nenhum caso de dengue.
3
Inicialmente pensou-se em dicotomizar os dados considerando nao apenasocorrencia/nao ocorrencia, mas sim epidemia/nao epidemia, sendo essesos estados da cadeia de Markov. Para tal definiu-se estado de epidemiaquando o numero de ocorrencias de casos de dengue por semana e pelomenos 5 em cada 100 000 habitantes. Havia muito poucos casos de sectorescom epidemias ao longo das 417 semanas, pelo que se optou por considerarapenas o estudo ocorrencia/nao ocorrencia.
> dengue_epid<-read.table("Tab_bin01_v2.txt",header=T)
> dim(dengue_epid)
[1] 121 418
> dengue_epid_1<-apply(dengue_epid[,-1],1,sum)
> tab_1<-table(dengue_epid_1)
> tab_1
dengue_epid_1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 15 16 17 18 19 20 21 22 23 24 25 52
14 11 15 3 5 12 13 12 7 3 3 2 2 2 1 3 2 2 1 2 1 1 1 1 1 1
> sum(tab_1)
[1] 121
> dengue_ocor<-read.table("ocorrencia.txt",header=T)
> dim(dengue_ocor)
[1] 121 419
> dengue_ocor_1<-apply(dengue_ocor[,-c(1,2)],1,sum)
> tab_2<-table(dengue_ocor_1)
> tab_2
dengue_ocor_1
2 3 7 8 12 13 14 15 17 18 19 20 21 23 24 25 27 28 29 30
1 1 1 2 2 2 1 1 2 1 1 1 1 2 2 1 1 2 2 6
31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
2 3 4 3 2 2 2 2 2 1 6 4 5 4 5 4 4 1 1 1
51 52 53 54 55 56 57 59 61 71 72 73 74 76 80 83 89 106
2 3 5 2 2 2 1 1 1 1 2 2 1 1 1 1 1 1
> sum(tab_2)
[1] 121
> dengue_casos$casos_01<-(dengue_casos$num_cases>0)*1
> table(dengue_casos$casos_01)
0 1
45548 4909
4
• dados climaticos: temperatura, pluviosidade, temperatura maxima, tem-peratura mınima, humidade media, semanais; embora os dados climaticossejam tambem respeitantes as 417 semanas, nao ha dados durante 2003.Assim so se comecou a usar dados a partir de 2004, isto e, da semana 105a semana 417; ha ainda 18 dados omissos da pluviosidade (em anos sub-sequentes); estes casos omissos foram substituıdos por imputacao, usandoregressao.
Apresenta-se de seguida uma tabela com as estatisticas sumarias destasvariaveis antes da imputacao, assim como os histogramas da temperaturamaxima e pluviosidade a partir da semana 105.
> clima<-read.table("dengueclimatic.txt",dec=",",header=T)
> dim(clima)
[1] 417 9
> names(clima)
[1] "sema_epi" "data" "SEM_TEMPORAL" "temp" "pluv"
[6] "nu_casos" "tempMax" "tempMin" "umidmedia"
> xx<-as.data.frame(cbind(summary(clima$temp),summary(clima$pluv),
+ summary(clima$tempMax),summary(clima$tempMin),summary(clima$umidmedia)))
> names(xx)<-c("Temp","Pluv","Temp Max", "Temp Mni", "Humi Media")
> xx
Temp Pluv Temp Max Temp Mni Humi Media
Min. 17.67 0.000 23.41 11.03 0.4902
1st Qu. 21.65 8.291 28.55 16.86 14.9100
Median 23.92 32.450 30.50 19.98 28.8300
Mean 23.55 69.790 30.38 19.02 47.9700
3rd Qu. 25.23 97.500 32.06 21.14 87.7900
Max. 30.30 538.000 38.80 23.79 99.5600
NA’s 52.00 70.000 52.00 52.00 52.0000
> clima1<-clima[105:417,]
> par(mfrow=c(2,2))
> hist(clima1$tempMax,main="",xlab="temperatura maxima")
> hist(clima1$pluv, main="",xlab="pluviosidade")
5
temperatura máxima
Fre
quen
cy
25 30 35 40
020
6010
0
pluviosidade
Fre
quen
cy
0 100 300 500
050
100
150
Para imputar os 18 dados omissos da pluviosidade fez-se um modelo de re-gressao com a temperatura maxima e a humidade media. Como os dadosde pluviosidade apresentam uma distribuicao nao normal, considerou-se atransformacao pluv14 = (pluv)1/4. Tambem, por razoes que serao apre-sentadas posteriormente trabalhou-se com o logaritmo da temperaturamaxima. Com essas transformacoes obtiveram-se os 18 dados omissos dapluviosidade (melhor dizendo da variavel transformada da pluviosidade)
Obtiveram-se ainda as novas estatısticas sumarias dos dados transforma-dos e imputados e os histogramas respectivos.
> par(mfrow=c(1,2))
> hist(log(clima1$tempMax),main="",xlab="log(Temperatura maxima)")
> hist((clima1$pluv)^(1/4), main="", xlab="pluviosidade^(1/4)")
> clima1$pluv14<-(clima1$pluv)^(1/4)
> clima1$logtempMax<-log(clima1$tempMax)
> nas<-which(is.na(clima1$pluv14))#valores omissos de pluv4
> modelo1<-lm(clima1$pluv14~clima1$logtempMax+clima1$umidmedia)#modelo para estimar valores omissos
> new<-data.frame(clima1$logtempMax[nas],clima1$umidmedia[nas])
> pred<-predict(modelo1,new)# contem os valores omissos de pluv14
> clima1$pluv14[nas]<-pred[nas]
> xx1<-as.data.frame(cbind(summary(clima1$logtempMax),summary(clima1$pluv14)))
> names(xx1)<-c("logtempMax","pluv14")
> xx1
logtempMax pluv14
Min. 3.153 0.000
6
1st Qu. 3.352 1.781
Median 3.413 2.437
Mean 3.409 2.465
3rd Qu. 3.466 3.152
Max. 3.658 4.816
>
log(Temperatura máxima)
Fre
quen
cy
3.2 3.4 3.6
020
4060
80
pluviosidade^(1/4)
Fre
quen
cy
0 1 2 3 4 5
010
2030
4050
60
• Variaveis sociais de acordo com a tabela e notaca correspondente
1. POP: Populacao
2. Var01: Numero de domicılios
3. Var09: Total de anos de estudo das pessoas responsaveis por domi-cılios
4. Var12: Numero de moradores
5. V0001: Numero de domicılios (mesmo valor da Var01)
6. V0006: Numero de casas (nao apartamentos)
7. V0018: Domicılios com abastecimento de agua da rede geral
8. V0019: Domicılios com abastecimento de agua da rede geral em pelomenos 1 comodo
9. V0029: Domicılios com banheiro ou sanitario
7
10. V0030: Domicılios com banheiro e esgoto sanitario para a rede geral
11. V0048: Domicılios com lixo coletado
12. V0049: Domicılios com lixo coletado
13. V0058: Domicılios com 3 moradores
14. V0183: Domicılios do tipo apartamento sem banheiro
15. V0195: Domicılios do tipo apartamento com lixo jogado em terrenobaldio
16. V0198: Domicılios com lixo coletado e abastecimento de agua
17. V0209: Domicılios com lixo coletado e banheiro
18. V0224: Domicılios com lixo nao coletado, agua via poco e nao cana-lizada
19. V0242: Numero de moradores que moram em casa
20. V0284: Numero de moradores favorecidos com coleta de lixo
21. V0285: Numero de moradores favorecidos com coleta de lixo
22. V0589: Responsaveis por Domicılios com 9 anos de estudo
23. V0601: Responsaveis por Domicılios com rendimento mensal superiora 5 salarios mınimos
Apresenta-se de seguida uma tabela com as estatısticas sumarias das va-riaveis sociais
> social<-read.table("dengueincidencessocial.txt",header=T,dec=",")
> dim(social)
[1] 121 44
> names(social)
[1] "Cod_setor" "ca_02" "ca_03" "ca_04"
[5] "ca_05" "ca_06" "ca_07" "ca_08"
[9] "ca_09" "inc_02" "inc_03" "inc_04"
[13] "inc_05" "inc_06" "inc_07" "inc_08"
[17] "inc_09" "POP" "Situacao" "Tipo_do_setor"
[21] "Var01" "Var09" "Var12" "V0001"
[25] "V0006" "V0018" "V0019" "V0029"
[29] "V0030" "V0048" "V0049" "V0058"
[33] "V0183" "V0195" "V0198" "V0199"
[37] "V0209" "V0223" "V0224" "V0242"
[41] "V0284" "V0285" "V0589" "V0601"
> xx<-summary(social[,c(18,21:44)])
> zz<-as.matrix(xx)
> zz
POP Var01 Var09 Var12
Min. : 222.0 Min. : 53.0 Min. : 124 Min. : 216.0
1st Qu.: 726.0 1st Qu.:199.0 1st Qu.: 986 1st Qu.: 718.0
Median : 830.0 Median :227.0 Median :1240 Median : 845.0
8
Mean : 856.8 Mean :228.7 Mean :1309 Mean : 862.3
3rd Qu.:1006.0 3rd Qu.:271.0 3rd Qu.:1649 3rd Qu.:1012.0
Max. :1816.0 Max. :420.0 Max. :3171 Max. :1816.0
V0001 V0006 V0018 V0019
Min. : 55.0 Min. : 48.0 Min. : 1.0 Min. : 1.0
1st Qu.:201.0 1st Qu.:170.0 1st Qu.:143.0 1st Qu.:138.0
Median :227.0 Median :205.0 Median :194.0 Median :187.0
Mean :230.4 Mean :209.1 Mean :184.3 Mean :178.4
3rd Qu.:272.0 3rd Qu.:254.0 3rd Qu.:228.0 3rd Qu.:224.0
Max. :420.0 Max. :403.0 Max. :403.0 Max. :334.0
V0029 V0030 V0048 V0049
Min. : 51.0 Min. : 0.0 Min. : 10.0 Min. : 10.0
1st Qu.:198.0 1st Qu.:151.0 1st Qu.:187.0 1st Qu.:172.0
Median :227.0 Median :196.0 Median :217.0 Median :213.8
Mean :227.1 Mean :185.9 Mean :213.5 Mean :209.4
3rd Qu.:269.0 3rd Qu.:234.0 3rd Qu.:258.0 3rd Qu.:255.0
Max. :401.0 Max. :386.0 Max. :378.0 Max. :371.0
V0058 V0183 V0195 V0198
Min. : 11.00 Min. :0.00000 Min. :0.00000 Min. : 0.0
1st Qu.: 42.00 1st Qu.:0.00000 1st Qu.:0.00000 1st Qu.:136.0
Median : 50.46 Median :0.00000 Median :0.00000 Median :179.0
Mean : 50.83 Mean :0.03306 Mean :0.02479 Mean :174.4
3rd Qu.: 61.00 3rd Qu.:0.00000 3rd Qu.:0.00000 3rd Qu.:223.0
Max. :103.00 Max. :2.00000 Max. :1.00000 Max. :333.0
V0199 V0209 V0223 V0224
Min. : 0.0 Min. : 10.0 Min. : 0.0000 Min. :0.0000
1st Qu.:130.0 1st Qu.:187.0 1st Qu.: 0.0000 1st Qu.:0.0000
Median :177.0 Median :217.0 Median : 0.0000 Median :0.0000
Mean :170.1 Mean :212.6 Mean : 0.6605 Mean :0.2894
3rd Qu.:220.0 3rd Qu.:256.0 3rd Qu.: 0.0000 3rd Qu.:0.0000
Max. :333.0 Max. :377.0 Max. :26.0000 Max. :6.0000
V0242 V0284 V0285 V0589
Min. : 202.0 Min. : 32.0 Min. : 32.0 Min. : 0.000
1st Qu.: 643.0 1st Qu.: 678.0 1st Qu.: 643.0 1st Qu.: 2.000
Median : 804.0 Median : 809.0 Median : 801.0 Median : 4.000
Mean : 801.3 Mean : 801.7 Mean : 785.3 Mean : 4.918
3rd Qu.: 974.0 3rd Qu.: 959.0 3rd Qu.: 954.0 3rd Qu.: 7.000
Max. :1763.0 Max. :1432.0 Max. :1432.0 Max. :14.000
V0601
Min. : 124
1st Qu.: 986
Median :1240
Mean :1309
3rd Qu.:1649
Max. :3171
> boxplot(x = as.list(social[,c(18,21:44)]),cex.axis=0.5,las=2)
9
PO
P
Var
01
Var
09
Var
12
V00
01
V00
06
V00
18
V00
19
V00
29
V00
30
V00
48
V00
49
V00
58
V01
83
V01
95
V01
98
V01
99
V02
09
V02
23
V02
24
V02
42
V02
84
V02
85
V05
89
V06
01
0
500
1000
1500
2000
2500
3000
Como seve pelas estatısticas sumarias e pelos boxplot algumas variaveis tem muitopouca variabilidade, pelo que se excluem da analise. Sao elas V0183,V0195, V0223, V=224. Tambem a variavel v0001 por ser a mesma que aVar01 e excluıda.
Por outro lado ha correlacao muito elevada entre varias variaveis sociaiscomo se pode ver pela matriz de correlacao.
Essa matriz esta representada graficamente. As 8 tonalidades de cor cor-respondem, da mais clara a mais escura a intervalos de 0.2 (correlacaomınima) a 1 (correlacao maxima) com intervalos de amplitude 0.1.
> social_novo<-social[,c(18,21:23,25:32,35:37,40:44)]
> cc<-cor(social_novo)
> cc
POP Var01 Var09 Var12 V0006 V0018 V0019
POP 1.0000000 0.9429628 0.4597028 0.9741049 0.9011183 0.5781446 0.5479425
Var01 0.9429628 1.0000000 0.6035231 0.9694141 0.8950939 0.7108305 0.6956935
Var09 0.4597028 0.6035231 1.0000000 0.4523290 0.3081062 0.6654575 0.7129841
Var12 0.9741049 0.9694141 0.4523290 1.0000000 0.9316891 0.6166176 0.5879393
V0006 0.9011183 0.8950939 0.3081062 0.9316891 1.0000000 0.5903818 0.5651973
V0018 0.5781446 0.7108305 0.6654575 0.6166176 0.5903818 1.0000000 0.9850680
V0019 0.5479425 0.6956935 0.7129841 0.5879393 0.5651973 0.9850680 1.0000000
V0029 0.9367146 0.9986251 0.6186809 0.9634080 0.8908861 0.7121155 0.7024226
V0030 0.6232471 0.7519123 0.7542393 0.6543595 0.6030566 0.8082089 0.8310680
V0048 0.8623389 0.9545214 0.7149808 0.8874201 0.8189593 0.7464515 0.7556145
10
V0049 0.8259860 0.9243476 0.7058968 0.8529207 0.7945757 0.7125418 0.7269041
V0058 0.8211325 0.9104038 0.5914650 0.8443488 0.7972185 0.6759227 0.6724870
V0198 0.5369732 0.6894266 0.7313473 0.5753225 0.5488225 0.9756815 0.9813899
V0199 0.5163728 0.6758652 0.7545763 0.5556409 0.5310070 0.9591412 0.9843412
V0209 0.8578408 0.9519186 0.7197148 0.8830900 0.8154652 0.7471569 0.7578992
V0242 0.9131049 0.8648742 0.2243623 0.9418344 0.9819080 0.5134694 0.4779276
V0284 0.9246159 0.9626086 0.5954983 0.9511802 0.8887748 0.6893746 0.6858010
V0285 0.8877296 0.9345092 0.5931119 0.9162476 0.8652115 0.6594319 0.6614178
V0589 0.2461909 0.3093738 0.4766756 0.2417731 0.2004825 0.3351220 0.3587071
V0601 0.4597028 0.6035231 1.0000000 0.4523290 0.3081062 0.6654575 0.7129841
V0029 V0030 V0048 V0049 V0058 V0198 V0199
POP 0.9367146 0.6232471 0.8623389 0.8259860 0.8211325 0.5369732 0.5163728
Var01 0.9986251 0.7519123 0.9545214 0.9243476 0.9104038 0.6894266 0.6758652
Var09 0.6186809 0.7542393 0.7149808 0.7058968 0.5914650 0.7313473 0.7545763
Var12 0.9634080 0.6543595 0.8874201 0.8529207 0.8443488 0.5753225 0.5556409
V0006 0.8908861 0.6030566 0.8189593 0.7945757 0.7972185 0.5488225 0.5310070
V0018 0.7121155 0.8082089 0.7464515 0.7125418 0.6759227 0.9756815 0.9591412
V0019 0.7024226 0.8310680 0.7556145 0.7269041 0.6724870 0.9813899 0.9843412
V0029 1.0000000 0.7643029 0.9617996 0.9344397 0.9121259 0.6967578 0.6855510
V0030 0.7643029 1.0000000 0.8253415 0.7924541 0.7260582 0.8391137 0.8467354
V0048 0.9617996 0.8253415 1.0000000 0.9807972 0.8898053 0.7800762 0.7764987
V0049 0.9344397 0.7924541 0.9807972 1.0000000 0.8580256 0.7560214 0.7545579
V0058 0.9121259 0.7260582 0.8898053 0.8580256 1.0000000 0.6658821 0.6603490
V0198 0.6967578 0.8391137 0.7800762 0.7560214 0.6658821 1.0000000 0.9926662
V0199 0.6855510 0.8467354 0.7764987 0.7545579 0.6603490 0.9926662 1.0000000
V0209 0.9600940 0.8311067 0.9997591 0.9810350 0.8889257 0.7823549 0.7796027
V0242 0.8569268 0.5272699 0.7625435 0.7344036 0.7381336 0.4578721 0.4354434
V0284 0.9659805 0.7653516 0.9732046 0.9490552 0.8608698 0.7029024 0.6929056
V0285 0.9407906 0.7359608 0.9581926 0.9751999 0.8319233 0.6841321 0.6764139
V0589 0.3217909 0.4006673 0.4002027 0.4233613 0.3565320 0.3841376 0.3879860
V0601 0.6186809 0.7542393 0.7149808 0.7058968 0.5914650 0.7313473 0.7545763
V0209 V0242 V0284 V0285 V0589 V0601
POP 0.8578408 0.9131049 0.9246159 0.8877296 0.2461909 0.4597028
Var01 0.9519186 0.8648742 0.9626086 0.9345092 0.3093738 0.6035231
Var09 0.7197148 0.2243623 0.5954983 0.5931119 0.4766756 1.0000000
Var12 0.8830900 0.9418344 0.9511802 0.9162476 0.2417731 0.4523290
V0006 0.8154652 0.9819080 0.8887748 0.8652115 0.2004825 0.3081062
V0018 0.7471569 0.5134694 0.6893746 0.6594319 0.3351220 0.6654575
V0019 0.7578992 0.4779276 0.6858010 0.6614178 0.3587071 0.7129841
V0029 0.9600940 0.8569268 0.9659805 0.9407906 0.3217909 0.6186809
V0030 0.8311067 0.5272699 0.7653516 0.7359608 0.4006673 0.7542393
V0048 0.9997591 0.7625435 0.9732046 0.9581926 0.4002027 0.7149808
V0049 0.9810350 0.7344036 0.9490552 0.9751999 0.4233613 0.7058968
V0058 0.8889257 0.7381336 0.8608698 0.8319233 0.3565320 0.5914650
V0198 0.7823549 0.4578721 0.7029024 0.6841321 0.3841376 0.7313473
V0199 0.7796027 0.4354434 0.6929056 0.6764139 0.3879860 0.7545763
V0209 1.0000000 0.7576851 0.9713191 0.9568361 0.4033397 0.7197148
V0242 0.7576851 1.0000000 0.8677803 0.8385193 0.1577474 0.2243623
V0284 0.9713191 0.8677803 1.0000000 0.9777194 0.3528724 0.5954983
V0285 0.9568361 0.8385193 0.9777194 1.0000000 0.3806152 0.5931119
V0589 0.4033397 0.1577474 0.3528724 0.3806152 1.0000000 0.4766756
V0601 0.7197148 0.2243623 0.5954983 0.5931119 0.4766756 1.0000000
> n=8
> brks<-seq(from=min(cc),to=max(cc),length.out=9)
> brksround<-round(brks,1)
> brksround
11
[1] 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1.0
> image(1:20,1:20,cc,col=grey.colors(n, start = 1, end =0, alpha = 1),breaks=brksround,axes=F,main="Matriz de correlacoes")
> axis(1,at=1:20,labels=row.names(cc),cex.axis=0.5,las=2)
> axis(2,at=1:20,labels=row.names(cc),cex.axis=0.5,las=2)
> box()
>
>
Matriz de correlacoes
1:20
1:20
PO
P
Var
01
Var
09
Var
12
V00
06
V00
18
V00
19
V00
29
V00
30
V00
48
V00
49
V00
58
V01
98
V01
99
V02
09
V02
42
V02
84
V02
85
V05
89
V06
01
POP
Var01
Var09
Var12
V0006
V0018
V0019
V0029
V0030
V0048
V0049
V0058
V0198
V0199
V0209
V0242
V0284
V0285
V0589
V0601
Assim escolheram-se para entrar na analise, as variaveis V0019, V0198,V0006, Var01 e POP.
As primeiras tres variaveis foram divididas pelo numero de domicılios dorespectivo sector e a var01 foi dividida pela populacao do sector, tendo-secriado as novas variaveis, cuja analise preliminar segue:
> social_19_1<-social$V0019/social$Var01
> social_198_1<-social$V0198/social$Var01
> social_6_1<-social$V0006/social$Var01
> social_1_POP<-social$Var01/social$POP
> soc<-matrix(c(social_19_1,social_198_1,social_6_1,social_1_POP),ncol=4,nrow=121)
> dim(soc)
[1] 121 4
> soc<-as.data.frame(soc)
> names(soc)<-c("social_19_1","social_198_1","social_6_1","social_1_POP")
12
> boxplot(x = as.list(soc),cex.axis=0.5,las=2)
> cor(soc)
social_19_1 social_198_1 social_6_1 social_1_POP
social_19_1 1.0000000 0.9389598 -0.2383557 0.3973996
social_198_1 0.9389598 1.0000000 -0.2911576 0.4465903
social_6_1 -0.2383557 -0.2911576 1.0000000 -0.4179901
social_1_POP 0.3973996 0.4465903 -0.4179901 1.0000000
soci
al_1
9_1
soci
al_1
98_1
soci
al_6
_1
soci
al_1
_PO
P
0.0
0.2
0.4
0.6
0.8
1.0
Ve-se que as variaveis social 19 1 e social 198 1 ainda teem correlacaoforte.
3 Modelo Bayesiano Espaco-temporal
Vamos considerar o seguinte modelo de Markov nao homogeneo espaco-temporal,com dois estados 0 (nao ocorrencia) e 1 (ocorrencia de dengue).
Seja {Y (i, t)} uma cadeia de Markov nao homogenea com dois estados, 0and 1, tais que
• Y (i, t) = 1 se no sector i na semana t ha pelo menos um caso de dengue
• Y (i, t) = 0 caso contrario
e probabilidades de transicao
13
• p01(i, t) =exp(a01(i,t))
1+exp(a01(i,t))
• p11(i, t) =exp(a11(i,t))
1+exp(a11(i,t))
onde os prediores lineares sao
a01(i, t) = α0 +
K∑k=1
αkxk(t) +
J∑j=K+1
αjxj(i) +W (i)
e
a11(i, t) = β0 +K∑
k=1
βkxk(t) +J∑
j=K+1
βjxj(i) +W (i),
onde J e o numero total de variaveis explicativas (considerando possıveisinteraccoes entre as variaveis temporais), xk, k = 1, ...K refere-se as variaveisexplicativas dinamicas (nao dependentes do sector) e xj , j = K + 1, ..., J dizrespeito as variaveis sociais estaticas (dependentes do sector).
W (i) e um efeito aleatorio espacial estruturado – Intrinsic Conditional Au-toregressive (ICAR) model, definido por
W (i)|W (−i) ∼ N(∑
j∈N (i)
W (j)/mi,mi/τ),
onde
• N (i) e o conjunto dos ındices dos vizinhos do sector i
• m(i) e o numero de sectores em N (i)
• τ e a precisao (inverso da variancia).
Para completar o modelo bayesiano considerarm-se as seguintes distribuicoesa priori para os parametros do modelo:
Distribuicoes a priori:
• α0 e β0 ∼ dflat (uniforme na recta real)
• αi e βi ∼ N(0, 1/0.001), i = 1, . . . , J
• τ1 e τ0 ∼ Gamma(1, 1/0.001)
O modelo foi implementado no WinBUGS e GeoBUGS. O objectivo e estimar osparametros do modelo assim como estimar p(i, t): probabilidade de ocorrenciade pelo menos um caso de dengue no sector i, i = 1, . . . , 121, e cada semana t,t = 1, . . . , 300, condicional ao estado da cadeia de Markov (ocorrencia ou nao)na semana t− 1.
14
4 Implementacao do modelo
4.1 Dados e modelo
• Uma analise preliminar (cross correlations) sugeriu que as condicoes cli-maticas influenciariam o aparecimento de caoso de dengue com um lag deℓ = 12 a ℓ = 10 semanas.
• Como ja se referiu anteriormente aplicou-se uma transformacao a tempe-ratura maxima (logarıtmica) e a pluviosidade (raiz quarta) de modo quehouvesse um efeito aproximadamente linear no preditor linear.
O modelo final incluiu as seguintes variaveis
• log(temperaturaMxima) com lags 10 e 11
• (pluviosidade)0.25
• termos de interaccao (log(temperaturaMxima)×(pluviosidade)0.25) paraas quatro possıveis combinacoes (10-10,10-11, 11-10, 11-11)
• percentagem de domicılios com agua da companhia, por sector
• (numero de domicılios/populacao) por sector
Todas as variaveis explicativas foram centradas, isto e, foram subtraıdas damedia global respectiva, usando a funcao reduzir
> reduzir<-function(x) x-mean(x)
> red_logtempMax<-reduzir(clima1$logtempMax)
> red_pluv14<-reduzir(clima1$pluv14)
> social_red_2<-data.frame(reduzir(social_19_1),reduzir(social_198_1),reduzir(social_1_POP))
>
>
Os dados utilizados foram
• ocorrencias semanais da semana temporal 117 a 417 (300 semanas);
• temperatura e pluviosidade da semana temporal da semana 106 a semana406;
• variaveis sociais descritas acima para os 121 sectores.
O codigo do modelo implementado no WinBUGS foi
model{
pi<-3.141593
for(i in 1:121){
p1[i,1]<-Y[i,1]
15
p0[i,1]<-Y[i,1]
for(t in 2:301){
Y[i,t]~dbern(p[i,t])
p[i,t]<-pow(p1[i,t],Y[i,(t-1)])*pow(p0[i,t],(1-Y[i,(t-1)]))
a1[i,t]<-alpha[1]+alpha[2]*ltm2[t]+alpha[3]*ltm3[t]+alpha[4]*ltm2[t]*plu142[t]
+alpha[5]*ltm3[t]*plu143[t]+alpha[6]*plu142[t]+alpha[7]*plu143[t]
+alpha[8]*ltm2[t]*plu143[t]+alpha[9]*ltm3[t]*plu142[t]
+alpha[10]*P198[ID[i]]+alpha[11]*PPOP[ID[i]]+W1[ID[i]]
a0[i,t]<-beta[1]+beta[2]*ltm2[t]+beta[3]*ltm3[t]+beta[4]*ltm2[t]*plu142[t]
+beta[5]*ltm3[t]*plu143[t]+beta[6]*plu142[t]+beta[7]*plu143[t]+beta[8]*ltm2[t]*plu143[t]
+beta[9]*ltm3[t]*plu142[t]+beta[10]*P198[ID[i]]+beta[11]*PPOP[ID[i]]+W1[ID[i]]
logit(p1[i,t])<-a1[i,t]
logit(p0[i,t])<-a0[i,t]
}
}
W1[1:121]~car.normal(adj[],weights[],num[],tauW1)
for(l in 1:sumNumNeigh){
weights[l]<-1
}
alpha[1]~dflat()
beta[1]~dflat()
for(i in 2:11){
alpha[i]~dnorm(0,0.001)
beta[i]~dnorm(0,0.001)
}
16
tauW1~dgamma(1,0.001)
}
Este modelo usa os dados com a seguinte notacao:
• markov ocorrencia contem os valores da cadeia de markov ( codido dosector e o e 1) da semana temporal 117 a 417. os nomes sao ID[] e Y[] avariar de 1 a 301; tem 121 linhas e 302 variaveis; as linhas sao os sectoresem numero de 121.
• clima red2 contem os dados (ja transformados) e centrados da logtemp-Max e pluv14 da semana 106 a semana 406; tem 301 valores para cadavariavel; as variaveis tem os nomes ltm2[],plu142[]
• clima red3 contem os dados (ja transformados) e centrados da logtemp-Max e pluv14 da semana 107 a semana 407; tem 301 valores para cadavariavel; as variaveis tem os nomes ltm3[],plu143[]
• social red 1 contem as variaveis sociais em percentagem V0198/V01 evar1/POP. Tem 121 linhas e as variaveis tem os nomes P198[],PPOP[]
Os resultados que se seguem baseiam-se no output de uma cadeia de valo-res simulados da distribuicao a posteriori, usando Markov Chain Monte CarloMethods.
O numero de valores simulados dessa cadeia foi de 165000. O perıodo deaquecimento (burn-in) foi 85000 valores simulados; a amostra usada para infe-rencia tem dimensao 2000, correspondentes a 80000 restantes valores, os quaisforam escolhidos a intervalos de 40 para eliminar a autocorrelacao.
4.2 Analise dos Resultados
Os resultados que se seguem dizem respeito ao modelo final.No que se segue, existe a seguinte correspondencia entre o nome dos parame-
tros e as variaveis explicativas (para simplicidade quando se escreve temperaturaou pluviosidade entende-se os valores transformados dessas variaveis):
• alpha[1] e beta[1] ⇔ constante
• alpha[2] e beta[2] ⇔ ltm2[t], ou seja temperatura da 11a semana que an-tecede a semana t
• alpha[3] e beta[3] ⇔ ltm3[t], ou seja temperatura da 10a semana que an-tecede a semana t
• alpha[4] e beta[4] ⇔ ltm2[t]*plu142[t], ou seja interaccao entre tempera-tura e pluviosidade da 11a semana que antecede a semana t
• alpha[5]e beta[5] ⇔ ltm3[t]*plu143[t] ou seja interaccao entre temperaturae pluviosidade da 10a semana que antecede a semana t
17
• alpha[6] e beta[6] ⇔ plu142[t] ou seja pluviosidade da 11a semana queantecede a semana t
• alpha[7] e beta[7] ⇔ plu143[t] ou seja pluviosidade da 10a semana queantecede a semana t
• alpha[8] e beta[8]⇔ ltm2[t]*plu143[t] ou seja interaccao entre temperaturada 11a semana que antecede a semana t e pluviosidade da 10a semana queantecede a semana t
• alpha[9] e beta[9]⇔ ltm3[t]*plu142[t] ou seja interaccao entre temperaturada 10a semana que antecede a semana t e pluviosidade da 11a semana queantecede a semana t
• alpha[10] e beta[10] ⇔ P198[ID[i]] ou seja a proporcao de domicılios comagua da companhia
• alpha[11] e beta[11] ⇔ P198[ID[i]] ou seja a densidade habitacional
• leitura dos valores simulados e das estatisticas sumarias alphas
> sumario<-function(x) cbind("mean"=mean(x),"sd"=sd(x),"0.025"=quantile(x,0.025),"median"=median(x),"0.975"=quantile(x,0.975))
> alpha_index<-read.table("alpha_index9.txt")
> head(alpha_index)
V1 V2 V3
1 alpha[1] 1 1001
2 alpha[2] 1002 2002
3 alpha[3] 2003 3003
4 alpha[4] 3004 4004
5 alpha[5] 4005 5005
6 alpha[6] 5006 6006
> alpha_values<-read.table("alpha_intervalues9.txt")
> names(alpha_values)
[1] "V1" "V2"
> dim(alpha_values)
[1] 11011 2
> alpha_matrix<-matrix(alpha_values[,2],nrow=1001,ncol=11)
> sumar_alpha<-as.data.frame(t(apply(alpha_matrix,2,sumario)))
> names(sumar_alpha)<-c("mean","sd","q0.025","median","q0.975")
> row.names(sumar_alpha)<-alpha_index[,1]
> sumar_alpha
mean sd q0.025 median q0.975
alpha[1] -1.0882922 0.06847507 -1.22500 -1.0880 -0.9564
alpha[2] -0.1232488 1.05582007 -2.34300 -0.0856 1.8460
alpha[3] 2.9454906 1.01811397 0.86650 2.9620 4.9880
alpha[4] -7.7565744 1.10979520 -9.96000 -7.7660 -5.6360
alpha[5] -9.2375075 1.19063699 -11.58000 -9.2400 -6.8870
alpha[6] 0.4945071 0.06745624 0.36840 0.4917 0.6338
18
alpha[7] 0.4752035 0.07197205 0.33790 0.4762 0.6149
alpha[8] 4.7810460 1.15041387 2.45700 4.8190 6.9550
alpha[9] 5.3025025 0.96343375 3.45300 5.2760 7.1900
alpha[10] 0.4733627 0.27016275 -0.02106 0.4710 1.0050
alpha[11] -0.2797625 2.24200235 -4.62300 -0.3151 4.0300
>
• leitura dos valores simulados e das estatisticas sumarias alphas
> sumario<-function(x) cbind("mean"=mean(x),"sd"=sd(x),"0.025"=quantile(x,0.025),"median"=median(x),"0.975"=quantile(x,0.975))
> beta_index<-read.table("beta_interindex9.txt")
> head(beta_index)
V1 V2 V3
1 beta[1] 1 1001
2 beta[2] 1002 2002
3 beta[3] 2003 3003
4 beta[4] 3004 4004
5 beta[5] 4005 5005
6 beta[6] 5006 6006
> beta_values<-read.table("beta_intervalues9.txt")
> names(beta_values)
[1] "V1" "V2"
> dim(beta_values)
[1] 11011 2
> beta_matrix<-matrix(beta_values[,2],nrow=1001,ncol=11)
> sumar_beta<-as.data.frame(t(apply(beta_matrix,2,sumario)))
> names(sumar_beta)<-c("mean","sd","q0.025","median","q0.975")
> row.names(sumar_beta)<-beta_index[,1]
> summary_beta<-read.table("beta_intersummary9.txt",header=T)
> sumar_beta
mean sd q0.025 median q0.975
beta[1] -2.9935934 0.03583927 -3.0610 -2.9940 -2.9260
beta[2] 3.3981908 0.47047207 2.4960 3.3940 4.3350
beta[3] 3.0722957 0.44449067 2.1430 3.0820 3.9040
beta[4] -3.3016823 0.62085108 -4.5450 -3.2900 -2.0040
beta[5] -6.7094575 0.64449696 -8.0360 -6.7000 -5.4720
beta[6] 0.4197005 0.03790020 0.3453 0.4193 0.4958
beta[7] 0.4660941 0.03812615 0.3919 0.4662 0.5375
beta[8] 3.6049870 0.62687554 2.3150 3.6050 4.8490
beta[9] 4.3722338 0.61987597 3.1180 4.3720 5.5630
beta[10] 0.1092485 0.22822658 -0.3257 0.1168 0.5227
beta[11] -1.2487254 1.89853708 -4.7610 -1.3120 2.5300
Destas tabelas das estatısticas sumarias das distribuicoes a posteriori mar-ginais dos parametros relativos aos coeficientes das variaveis explicativas,e examinando se os intervalos de credibilidade de 95% contem o 0 ou nao,podemos concluir que o que contribui para a ocorrencia de casos de den-gue numa determinada semana e, e a interaccao entre temperatura da 11a
19
semana e a pluviosidade da 10a semana que antecedem a semana em queha ocorrencia de dengue, como tambem a interaccao entre temperatura da10a semana e pluviosidade da 11a semana que antecedem a semana em queha ocorrencia de dengue. No entanto, a interaccao entre a temperatura epluviosidade na mesma semana (11a ou 10a) que antecedem a semana emque ha ocorrencia de dengue tem um efeito negativo na probabilidade deocorrencia de dengue.
As variaveis sociais em estudo nao parecem ter qualquer efeito na ocor-rencia de dengue.
• leitura dos valores simulados e das estatisticas sumarias do esfeito aleatorioespacial W1; como ha 121 valores apenas se apresentam os primeiros 5.Faz-se contudo o mapa da mediana desses valores.
> sumario<-function(x) cbind("mean"=mean(x),"sd"=sd(x),"0.025"=quantile(x,0.025),"median"=median(x),"0.975"=quantile(x,0.975))
> W1_index<-read.table("W1_interindex9.txt")
> head(W1_index)
V1 V2 V3
1 W1[1] 1 1000
2 W1[2] 1001 2000
3 W1[3] 2001 3000
4 W1[4] 3001 4000
5 W1[5] 4001 5000
6 W1[6] 5001 6000
> dim(W1_index)
[1] 121 3
> W1_values<-read.table("W1_intervalues9.txt")
> names(W1_values)
[1] "V1" "V2"
> dim(W1_values)
[1] 121000 2
> W1_matrix<-matrix(W1_values[,2],nrow=1000,ncol=121)
> sumar_W1<-as.data.frame(t(apply(W1_matrix,2,sumario)))
> names(sumar_W1)<-c("mean","sd","q0.025","median","q0.975")
> row.names(sumar_W1)<-W1_index[,1]
> sumar_W1[1:5,]
mean sd q0.025 median q0.975
W1[1] 0.32879655 0.1777657 -0.01091300 0.328500 0.68873250
W1[2] -0.71246730 0.2151278 -1.14007500 -0.705550 -0.31967000
W1[3] -0.47693649 0.2241903 -0.92722750 -0.482200 -0.04922275
W1[4] 0.28947075 0.1738255 -0.06497875 0.290050 0.63091000
W1[5] -0.09302969 0.1865083 -0.45672750 -0.087035 0.27427000
> library(sp)
> library(maptools)
> gpclibPermit()
20
[1] FALSE
> library(RColorBrewer)
> library(classInt)
> mapapol <- readShapePoly("sectores_CF.shp")
> colours <- brewer.pal(4, "Reds")
> max(sumar_W1[,4])
[1] 0.90715
> min(sumar_W1[,4])
[1] -1.497
> brks<-seq(from=min(sumar_W1[,1]),to=max(sumar_W1[,4]),length.out=5)
> brksround<-round(brks,1)
> plot(mapapol, col=colours[findInterval(sumar_W1[,1], brks,all.inside=TRUE)], axes=F)
> box()
> title(paste ("spatial random effects \n in Coronel Fabriciano -"))
> legend("topright", legend=leglabs(brksround), fill=colours, bty="n")
> box()
spatial random effects in Coronel Fabriciano −
under −0.9−0.9 − −0.3−0.3 − 0.3over 0.3
• leitura dos valores simulados e das estatisticas sumarias da precisao doefeito aleatorio espacial estruturado (tau W1) e calculo do respectivo des-vio padrao (sd W1)
21
> sumario<-function(x) cbind("mean"=mean(x),"sd"=sd(x),"0.025"=quantile(x,0.025),"median"=median(x),"0.975"=quantile(x,0.975))
> tauW1_values<-read.table("tauW1_intervalues9.txt")
> names(tauW1_values)
[1] "V1" "V2"
> dim(tauW1_values)
[1] 1001 2
> sd_W1<-sqrt(1/tauW1_values[,2])
> sumar_sdW1<-sumario(sd_W1)
> sumar_tauW1<-sumario(tauW1_values[,2])
> names(sumar_W1)<-c("mean","sd","q0.025","median","q0.975")
> sumar_tauW1
mean sd 0.025 median 0.975
2.5% 1.685487 0.3363949 1.11 1.646 2.464
> sumar_sdW1
mean sd 0.025 median 0.975
2.5% 0.7814957 0.07676094 0.637059 0.7794443 0.949158
> summary_tauW1<-read.table("tauW1_intersummary9.txt",header=T)
>
• leitura das estatısticas sumarias das probabilidades de transicao de 0 para1 (p0(i,t)) e de 1 para 1 (p1(i,t)) e p(i,t) probabilidade de passar de umestado ( 0 ou 1) para o estado 1. Lembrar que i varia de 1 a 121 e t de 1a 300.
Apresenta-se o grafico da serie temporal das estimativas das probabilidadesp(i,t), juntamente com os intervalos de credibilidade a 95%, para algunssectores, juntamente com a ocorrencia ou nao de casos de dengue.
> p_summary<-read.table("p_intersummary9.txt",header=T)
> dim(p_summary)
[1] 36300 7
> p_summary[1:5,-7]
node mean sd X2.5. median X97.5.
1 p[1,2] 0.20380 0.035530 0.130700 0.20240 0.29050
2 p[1,3] 0.21760 0.037220 0.139900 0.21500 0.30390
3 p[1,4] 0.07240 0.015170 0.027690 0.06999 0.12570
4 p[1,5] 0.03892 0.008696 -0.005404 0.03724 0.07828
5 p[1,6] 0.10540 0.019620 0.056020 0.10320 0.16150
> p0_summary<-read.table("p0_intersummary9.txt",header=T)
> p0_summary[1:5,-7]
22
node mean sd X2.5. median X97.5.
1 p0[1,2] 0.20380 0.035530 0.130700 0.20240 0.29050
2 p0[1,3] 0.21760 0.037220 0.139900 0.21500 0.30390
3 p0[1,4] 0.07240 0.015170 0.027690 0.06999 0.12570
4 p0[1,5] 0.03892 0.008696 -0.005404 0.03724 0.07828
5 p0[1,6] 0.10540 0.019620 0.056020 0.10320 0.16150
> p1_summary<-read.table("p1_intersummary9.txt",header=T)
> p1_summary[1:5,-7]
node mean sd X2.5. median X97.5.
1 p1[1,2] 0.6018 0.05885 0.4803 0.6060 0.7124
2 p1[1,3] 0.5058 0.06083 0.3837 0.5072 0.6177
3 p1[1,4] 0.2694 0.04890 0.1750 0.2656 0.3797
4 p1[1,5] 0.3586 0.05783 0.2448 0.3543 0.4844
5 p1[1,6] 0.4043 0.05162 0.3005 0.4062 0.5023
> ocorrencia<-read.table("markov_ocorrencia.txt",header=T)
> ini<-seq(1,36001,300)
> fini<-seq(300,36300,300)
> ID<-ocorrencia[,1]
> sec<-c(2,20,12,120)
> par(mfrow=c(2,2))
> for(i in 1:length(sec)){
+ plot(1:300,p_summary[ini[which(ID==sec[i])]:fini[which(ID==sec[i])],2],"l",ylim=c(0,1),main=paste("sector",sec[i]))
+ points(1:300,ocorrencia[which(ID==sec[i]),2:301],pch=16)
+ lines(1:300,p_summary[ini[which(ID==sec[i])]:fini[which(ID==sec[i])],4],"l",ylim=c(0,1),main=paste("sector",sec[i]),lty=2,col=2)
+
+ lines(1:300,p_summary[ini[which(ID==sec[i])]:fini[which(ID==sec[i])],6],"l",ylim=c(0,1),main=paste("sector",sec[i]),lty=2,col=2)
+
+ legend(150,0.8,legend=c("estimativas", "intervalos"),lty=c(1,2,2),col=c(1,2,2),cex=0.6,bty="n")
+ legend(160,0.68,legend=c("observados"),pch=16,cex=0.6,bty="n")
+ }
> p_matrix<-matrix(p_summary[,2],nrow=300,ncol=121)
> oc_matrix<-as.matrix(t(ocorrencia[,-c(1,2)]))
> par(mfrow=c(1,2))
> image(1:300,1:121,1-p_matrix,main="estimated probabilities",
+ col = heat.colors(12),xlab="week",ylab="sector")
> image(1:300,1:121,1-oc_matrix,main="occurrence",xlab="week",ylab="sector")
>
23
0 50 150 250
0.0
0.4
0.8
sector 2
1:300
p_su
mm
ary[
ini[w
hich
(ID
==
sec
[i])]
:fini
[whi
ch(I
D =
= s
ec[i]
)],
2
]estimativasintervalos
observados
0 50 150 250
0.0
0.4
0.8
sector 20
1:300
p_su
mm
ary[
ini[w
hich
(ID
==
sec
[i])]
:fini
[whi
ch(I
D =
= s
ec[i]
)],
2
]
estimativasintervalos
observados
0 50 150 250
0.0
0.4
0.8
sector 12
1:300
p_su
mm
ary[
ini[w
hich
(ID
==
sec
[i])]
:fini
[whi
ch(I
D =
= s
ec[i]
)],
2
]
estimativasintervalos
observados
0 50 150 250
0.0
0.4
0.8
sector 120
1:300
p_su
mm
ary[
ini[w
hich
(ID
==
sec
[i])]
:fini
[whi
ch(I
D =
= s
ec[i]
)],
2
]estimativasintervalos
observados
Ha um bom acordo entre as probabilidades estimadas e a ocorrencia decasos de dengue.
4.3 Previsao
Para avaliar da qualidade preditiva do modelo fez-se o seguinte:
• Para cada sector i, i = 1, . . . , 121,
– consideraram-se valores uij , de uma grelha fina no intervalo (0,1);
– para cada semana t, t = 1, . . . , 300, fez-se pred(i, t) = 1 se p(i, t) ≥ui,j e pred(i, t) = 0 caso contrario;
– calculou-se sensibilidade(uij)+especificidade(uij)
– encontrou-se o valor ui tal que sensibilidade(uij)+especificidade(uij)emaxima
A sensibilidade e calculada como a percentagem de vezes que se preve cor-rectamente ocorrencia de dengue e a especificidade e a percentagem de vezesque se preve correctamente a nao ocorrencia de dengue.
Apos calcular os pontos de corte ui para cada sector i = 1, . . . , 121 e os corres-pondentes valores da sensibilidade e especificidade, construi-se um ficheiro (”Th-reshold.csv”) com os elementos: ponto de corte, sensibilidade+especificidade esensibilidade correspondente.
24
> thresh<-read.table("Threshold.csv",header=T,sep=",")
> dim(thresh)
[1] 121 3
> summary(thresh)
cutpoint sensesp sensib
Min. :0.1000 Min. :1.736 Min. :0.7895
1st Qu.:0.1900 1st Qu.:1.889 1st Qu.:0.9189
Median :0.2300 Median :1.932 Median :0.9535
Mean :0.2261 Mean :1.924 Mean :0.9480
3rd Qu.:0.2700 3rd Qu.:1.954 3rd Qu.:1.0000
Max. :0.3800 Max. :2.000 Max. :1.0000
> max(thresh[,2])
[1] 2
> min(thresh[,2])
[1] 1.736282
> brks<-seq(from=min(thresh[,2]),to=max(thresh[,2]),length.out=5)
> brksround<-round(brks,1)
> plot(mapapol, col=colours[findInterval(thresh[,2], brks,all.inside=TRUE)], axes=F)
> box()
> title(paste ("sensibilidade+especificidade \n in Coronel Fabriciano -"))
> legend("topright", legend=leglabs(brksround), fill=colours, bty="n")
> box()
> brks<-seq(from=min(thresh[,3]),to=max(thresh[,3]),length.out=5)
> brksround<-round(brks,1)
> plot(mapapol, col=colours[findInterval(thresh[,3], brks,all.inside=TRUE)], axes=F)
> box()
> title(paste ("sensibilidade\n in Coronel Fabriciano -"))
> legend("topright", legend=leglabs(brksround), fill=colours, bty="n")
> box()
>
25
sensibilidade+especificidade in Coronel Fabriciano −
under 1.81.8 − 1.91.9 − 1.9over 1.9
26
top related