Análise Exploratória de Dados sobre Queimadas
Queimadas
#Queimadas
Resumo
Incêndios florestais geram impactos sociais e ambientais nos locais onde ocorrem. A Energia Radiativa do Fogo (FRP) é uma técnica para quantificar a biomassa queimada usando dados de sensoriamento remoto.A FRP mede a energia radiante emitida por unidade de tempo pela vegetação queimada. A estimativa do total de biomassa queimada é realizada a partir da Energia Radiativa do Fogo (FRE), que é definida como a energia emitida pelo fogo como radiação eletromagnética durante o ciclo de vida da queimada e pode ser obtida a partir da integração temporal da FRP.
2. Descrição das variáveis
Analisando os tipos dos dados Este estudo analisa para determinar quanto cada , com base em . Isso é calculado através da
# Leitura dos dados
dados_queimadas_v1 <- read.csv("Focos_2021-06-26_2021-06-27.csv")
dados_queimadas_v1 %>%
DT::datatable()3. Análise Exploratória dos dados
Nesta seção serão apresentados os principais resultados obtidos na análise de dados em questão. No primeiro momento fez-se a leitura das \(1.430\) observações referentes às quatro variáveis citadas anteriormente e todos os dados podem ser consultados na tabela a seguir:
str(dados_queimadas_v1) %>%
kable()## 'data.frame': 627 obs. of 12 variables:
## $ datahora : chr "2021/06/26 17:00:00" "2021/06/26 17:00:00" "2021/06/26 17:00:00" "2021/06/26 17:00:00" ...
## $ satelite : chr "AQUA_M-T" "AQUA_M-T" "AQUA_M-T" "AQUA_M-T" ...
## $ pais : chr "Brasil" "Brasil" "Brasil" "Brasil" ...
## $ estado : chr "RIO DE JANEIRO" "SAO PAULO" "MATO GROSSO DO SUL" "SAO PAULO" ...
## $ municipio : chr "SANTO ANTONIO DE PADUA" "IBITINGA" "ANTONIO JOAO" "SANTA BARBARA D'OESTE" ...
## $ bioma : chr "Mata Atlantica" "Cerrado" "Cerrado" "Mata Atlantica" ...
## $ diasemchuva : int 17 15 9 4 -999 3 3 3 3 2 ...
## $ precipitacao: num 0 0 0 0.1 0 0.3 0.3 0.3 0.3 0 ...
## $ riscofogo : num -999 1 0.5 1 1 1 1 1 0.9 1 ...
## $ latitude : num -21.5 -21.9 -22.3 -22.8 -22.9 ...
## $ longitude : num -42.2 -48.8 -56 -47.5 -43.4 ...
## $ frp : num 11.4 4.7 28.9 15.3 9.3 ...
|| || || ||
summary(dados_queimadas_v1)## datahora satelite pais estado
## Length:627 Length:627 Length:627 Length:627
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## municipio bioma diasemchuva precipitacao
## Length:627 Length:627 Min. :-999.0 Min. :0.00000
## Class :character Class :character 1st Qu.: 14.0 1st Qu.:0.00000
## Mode :character Mode :character Median : 24.0 Median :0.00000
## Mean : 21.9 Mean :0.06109
## 3rd Qu.: 37.0 3rd Qu.:0.00000
## Max. : 59.0 Max. :3.20000
## NA's :185 NA's :185
## riscofogo latitude longitude frp
## Min. :-999.00 Min. :-25.865 Min. :-72.32 Min. : 4.60
## 1st Qu.: 0.80 1st Qu.:-14.695 1st Qu.:-53.85 1st Qu.: 14.45
## Median : 1.00 Median :-11.747 Median :-49.72 Median : 24.20
## Mean : -10.43 Mean :-12.304 Mean :-50.26 Mean : 74.76
## 3rd Qu.: 1.00 3rd Qu.: -9.633 3rd Qu.:-46.94 3rd Qu.: 54.80
## Max. : 1.00 Max. : 3.875 Max. :-35.59 Max. :5013.60
## NA's :185
Verificamos que existem dados faltantes e outliers
Análise dias sem chuva
hist(dados_queimadas_v1$diasemchuva,
main = "Histograma dias sem chuva",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise precipitação
hist(dados_queimadas_v1$precipitacao,
main = "Histograma precipitacao",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise riscofogo
hist(dados_queimadas_v1$riscofogo,
main = "Histograma Riscofogo",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)#Removendo outliers negativos
dados_queimadas_v2 =filter(dados_queimadas_v1,diasemchuva >=0 | is.na(diasemchuva),riscofogo >=0 | is.na(riscofogo))Analise dos dados após a retirada dos outliers
summary(dados_queimadas_v2)## datahora satelite pais estado
## Length:621 Length:621 Length:621 Length:621
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
##
## municipio bioma diasemchuva precipitacao
## Length:621 Length:621 Min. : 0.00 Min. :0.00000
## Class :character Class :character 1st Qu.:14.00 1st Qu.:0.00000
## Mode :character Mode :character Median :24.00 Median :0.00000
## Mean :24.27 Mean :0.06193
## 3rd Qu.:37.00 3rd Qu.:0.00000
## Max. :59.00 Max. :3.20000
## NA's :185 NA's :185
## riscofogo latitude longitude frp
## Min. :0.0000 Min. :-25.865 Min. :-72.32 Min. : 4.60
## 1st Qu.:0.8000 1st Qu.:-14.645 1st Qu.:-54.00 1st Qu.: 14.50
## Median :1.0000 Median :-11.721 Median :-49.77 Median : 24.30
## Mean :0.8782 Mean :-12.241 Mean :-50.30 Mean : 75.34
## 3rd Qu.:1.0000 3rd Qu.: -9.568 3rd Qu.:-46.94 3rd Qu.: 55.00
## Max. :1.0000 Max. : 3.875 Max. :-35.59 Max. :5013.60
## NA's :185
Análise dias sem chuva
hist(dados_queimadas_v2$diasemchuva,
main = "Histograma dias sem chuva",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise riscofogo
hist(dados_queimadas_v2$riscofogo,
main = "Histograma Riscofogo",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise precipitação
hist(dados_queimadas_v2$precipitacao ,
main = "Precipitacao",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise FRP (verificar se faz sentido!!!)
hist(dados_queimadas_v2$frp ,
main = "Energia Radiativa do Fogo (FRP)",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Contando os valores NA(185 linhas e 2220 informações)
sapply(dados_queimadas_v2, function(x)sum(is.na(x)))## datahora satelite pais estado municipio bioma
## 0 0 0 0 0 0
## diasemchuva precipitacao riscofogo latitude longitude frp
## 185 185 185 0 0 0
sum(is.na(dados_queimadas_v2)) %>%
kable()| x |
|---|
| 555 |
Aplicando Imputação em Valores Missing Usando Método PMM (Predictive Mean Matching)
chr_col <- as.integer(0)
chrnames <- names(Filter(is.character, dados_queimadas_v2))
chrnames## [1] "datahora" "satelite" "pais" "estado" "municipio" "bioma"
k = 12º Encontrando o indice dessas colunas
for(i in chrnames){
while (k <= 6){ #nesse dataset temos apenas 6
grep(i, colnames(dados_queimadas_v2))
chr_col[k] <- grep(i, colnames(dados_queimadas_v2))
k = k + 1
break
}
}Colunas que são do tipo caracter
chr_col## [1] 1 2 3 4 5 6
Imputação Definindo a regra de imputação
regra_imputacao <- mice((dados_queimadas_v2[,-c(chr_col)]),
m = 1,
maxit = 50,
meth = 'pmm',)##
## iter imp variable
## 1 1 diasemchuva precipitacao riscofogo
## 2 1 diasemchuva precipitacao riscofogo
## 3 1 diasemchuva precipitacao riscofogo
## 4 1 diasemchuva precipitacao riscofogo
## 5 1 diasemchuva precipitacao riscofogo
## 6 1 diasemchuva precipitacao riscofogo
## 7 1 diasemchuva precipitacao riscofogo
## 8 1 diasemchuva precipitacao riscofogo
## 9 1 diasemchuva precipitacao riscofogo
## 10 1 diasemchuva precipitacao riscofogo
## 11 1 diasemchuva precipitacao riscofogo
## 12 1 diasemchuva precipitacao riscofogo
## 13 1 diasemchuva precipitacao riscofogo
## 14 1 diasemchuva precipitacao riscofogo
## 15 1 diasemchuva precipitacao riscofogo
## 16 1 diasemchuva precipitacao riscofogo
## 17 1 diasemchuva precipitacao riscofogo
## 18 1 diasemchuva precipitacao riscofogo
## 19 1 diasemchuva precipitacao riscofogo
## 20 1 diasemchuva precipitacao riscofogo
## 21 1 diasemchuva precipitacao riscofogo
## 22 1 diasemchuva precipitacao riscofogo
## 23 1 diasemchuva precipitacao riscofogo
## 24 1 diasemchuva precipitacao riscofogo
## 25 1 diasemchuva precipitacao riscofogo
## 26 1 diasemchuva precipitacao riscofogo
## 27 1 diasemchuva precipitacao riscofogo
## 28 1 diasemchuva precipitacao riscofogo
## 29 1 diasemchuva precipitacao riscofogo
## 30 1 diasemchuva precipitacao riscofogo
## 31 1 diasemchuva precipitacao riscofogo
## 32 1 diasemchuva precipitacao riscofogo
## 33 1 diasemchuva precipitacao riscofogo
## 34 1 diasemchuva precipitacao riscofogo
## 35 1 diasemchuva precipitacao riscofogo
## 36 1 diasemchuva precipitacao riscofogo
## 37 1 diasemchuva precipitacao riscofogo
## 38 1 diasemchuva precipitacao riscofogo
## 39 1 diasemchuva precipitacao riscofogo
## 40 1 diasemchuva precipitacao riscofogo
## 41 1 diasemchuva precipitacao riscofogo
## 42 1 diasemchuva precipitacao riscofogo
## 43 1 diasemchuva precipitacao riscofogo
## 44 1 diasemchuva precipitacao riscofogo
## 45 1 diasemchuva precipitacao riscofogo
## 46 1 diasemchuva precipitacao riscofogo
## 47 1 diasemchuva precipitacao riscofogo
## 48 1 diasemchuva precipitacao riscofogo
## 49 1 diasemchuva precipitacao riscofogo
## 50 1 diasemchuva precipitacao riscofogo
Aplicando a regra de imputação
total_data <- complete(regra_imputacao, 1)
View(total_data)
sum(is.na(total_data))## [1] 0
Juntar novamente as variáveis categóricas ao dataset
dados_queimadas_v2_final <- cbind(dados_queimadas_v2[,c(chr_col)],total_data )#incluindo as colunas com fator o c esta sem o sinal de negativo
View(dados_queimadas_v2_final)
View(dados_queimadas_v2)
sum(is.na(dados_queimadas_v2_final))## [1] 0
summary(dados_queimadas_v2_final)## datahora satelite pais estado
## Length:621 Length:621 Length:621 Length:621
## Class :character Class :character Class :character Class :character
## Mode :character Mode :character Mode :character Mode :character
##
##
##
## municipio bioma diasemchuva precipitacao
## Length:621 Length:621 Min. : 0.00 Min. :0.00000
## Class :character Class :character 1st Qu.:14.00 1st Qu.:0.00000
## Mode :character Mode :character Median :25.00 Median :0.00000
## Mean :24.39 Mean :0.05717
## 3rd Qu.:37.00 3rd Qu.:0.00000
## Max. :59.00 Max. :3.20000
## riscofogo latitude longitude frp
## Min. :0.0000 Min. :-25.865 Min. :-72.32 Min. : 4.60
## 1st Qu.:0.8000 1st Qu.:-14.645 1st Qu.:-54.00 1st Qu.: 14.50
## Median :1.0000 Median :-11.721 Median :-49.77 Median : 24.30
## Mean :0.8688 Mean :-12.241 Mean :-50.30 Mean : 75.34
## 3rd Qu.:1.0000 3rd Qu.: -9.568 3rd Qu.:-46.94 3rd Qu.: 55.00
## Max. :1.0000 Max. : 3.875 Max. :-35.59 Max. :5013.60
Análise dias sem chuva
hist(dados_queimadas_v2_final$diasemchuva,
main = "Histograma dias sem chuva",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise riscofogo
hist(dados_queimadas_v2_final$riscofogo,
main = "Histograma Riscofogo",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)Análise precipitação
hist(dados_queimadas_v2_final$precipitacao ,
main = "Precipitacao",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE) Análise FRP (verificar se faz sentido!!!)
hist(dados_queimadas_v2_final$frp ,
main = "Energia Radiativa do Fogo (FRP)",
xlab = "Quantidade de Dias",
ylab = "Frequência",
col = "#6600cc",
labels = TRUE)BoxPlot
boxplot(dados_queimadas_v2_final$riscofogo)boxplot(dados_queimadas_v2_final$diasemchuva)boxplot(dados_queimadas_v2_final$precipitacao)boxplot(dados_queimadas_v2_final$frp)calculando a média de dias sem chuva por município
diaschuva_municipio_antes<-aggregate(data = dados_queimadas_v2, diasemchuva ~ municipio, mean)
diaschuva_municipio_antes<-aggregate(data = dados_queimadas_v2_final, diasemchuva ~ municipio, mean)calculando a média de dias sem chuva por estado
diaschuva_estado_antes<- aggregate(data = dados_queimadas_v2, diasemchuva ~ estado, mean)
diaschuva_estado_depois<- aggregate(data = dados_queimadas_v2_final, diasemchuva ~ estado, mean)calculando vários juntos
aggregate(data = dados_queimadas_v2_final, cbind(diasemchuva,precipitacao,riscofogo,frp) ~ estado, mean)## estado diasemchuva precipitacao riscofogo frp
## 1 ACRE 18.20000 0.0600000000 0.5800000 21.04000
## 2 AMAZONAS 23.83333 0.0000000000 0.3833333 16.23333
## 3 BAHIA 38.61111 0.0222222222 0.9555556 25.81667
## 4 CEARA 33.00000 0.0000000000 1.0000000 6.00000
## 5 ESPIRITO SANTO 13.66667 0.0000000000 1.0000000 104.96667
## 6 GOIAS 15.68750 0.0000000000 0.9687500 34.74063
## 7 MARANHAO 20.65854 0.0780487805 0.9097561 48.02195
## 8 MATO GROSSO 29.42922 0.0506849315 0.8328767 149.15936
## 9 MATO GROSSO DO SUL 12.15385 0.2923076923 0.8076923 35.56923
## 10 MINAS GERAIS 16.89583 0.0000000000 0.9854167 25.56250
## 11 PARA 8.04000 0.4440000000 0.3720000 27.36400
## 12 PARAIBA 38.66667 0.0000000000 1.0000000 15.00000
## 13 PARANA 10.00000 0.0000000000 0.6181818 29.08182
## 14 PERNAMBUCO 17.33333 0.0000000000 1.0000000 13.30000
## 15 PIAUI 26.47222 0.0166666667 0.9611111 34.06111
## 16 RIO DE JANEIRO 21.33333 0.0000000000 1.0000000 32.90000
## 17 RIO GRANDE DO NORTE 30.75000 0.0000000000 1.0000000 39.60000
## 18 RONDONIA 16.80000 0.3000000000 0.4600000 20.36000
## 19 RORAIMA 4.00000 0.5000000000 0.5000000 7.70000
## 20 SAO PAULO 13.18519 0.0518518519 0.9629630 67.02963
## 21 TOCANTINS 28.88393 0.0008928571 0.9803571 33.66339
aggregate(data = dados_queimadas_v2_final, cbind(diasemchuva,precipitacao,riscofogo,frp) ~ municipio, mean)## municipio diasemchuva precipitacao riscofogo frp
## 1 ABAETETUBA 0.000000 2.350000000 0.0000000 15.300000
## 2 ABAIARA 33.000000 0.000000000 1.0000000 6.000000
## 3 ABREULANDIA 42.000000 0.000000000 1.0000000 20.000000
## 4 ACARA 2.000000 0.000000000 0.0000000 22.600000
## 5 AGUA BOA 15.000000 0.000000000 1.0000000 33.600000
## 6 ALDEIAS ALTAS 26.000000 0.000000000 1.0000000 18.400000
## 7 ALMAS 36.400000 0.000000000 0.9600000 61.460000
## 8 ALTA FLORESTA 25.000000 1.966666667 0.6666667 59.933333
## 9 ALTAIR 15.000000 0.000000000 1.0000000 91.983333
## 10 ALTO BOA VISTA 36.000000 0.000000000 1.0000000 71.900000
## 11 ALTO PARNAIBA 16.000000 0.000000000 1.0000000 83.300000
## 12 AMAJARI 4.000000 0.500000000 0.5000000 7.700000
## 13 AMAMBAI 2.000000 0.000000000 1.0000000 17.300000
## 14 ANTONIO JOAO 9.000000 0.000000000 0.5000000 28.900000
## 15 APARECIDA DO TABOADO 15.000000 0.000000000 1.0000000 17.700000
## 16 ARAGUACEMA 41.000000 0.000000000 1.0000000 20.700000
## 17 ARAGUAINA 12.000000 0.000000000 1.0000000 10.200000
## 18 ARAPONGAS 2.000000 0.000000000 0.6000000 6.600000
## 19 ARICANDUVA 35.000000 0.000000000 1.0000000 31.900000
## 20 ARINOS 10.000000 0.000000000 1.0000000 10.400000
## 21 ASSAI 35.000000 0.000000000 1.0000000 21.600000
## 22 ASSIS BRASIL 15.000000 0.000000000 0.6000000 21.066667
## 23 AURORA DO TOCANTINS 38.000000 0.000000000 1.0000000 15.700000
## 24 BAIANOPOLIS 39.000000 0.000000000 1.0000000 18.750000
## 25 BAIXA GRANDE 32.000000 0.400000000 1.0000000 13.600000
## 26 BALSAS 6.600000 0.000000000 0.9900000 43.870000
## 27 BARRA 51.500000 0.000000000 1.0000000 29.750000
## 28 BARREIRAS 39.000000 0.000000000 1.0000000 28.800000
## 29 BELEM 28.000000 0.000000000 0.9000000 53.100000
## 30 BELEM DO BREJO DO CRUZ 39.000000 0.000000000 1.0000000 16.900000
## 31 BIQUINHAS 15.500000 0.000000000 1.0000000 16.550000
## 32 BOCA DO ACRE 39.000000 0.000000000 0.5000000 18.200000
## 33 BOCAIUVA 37.000000 0.000000000 1.0000000 19.200000
## 34 BOCAIUVA DO SUL 0.000000 0.000000000 0.4000000 28.900000
## 35 BOM JESUS DO ARAGUAIA 35.000000 0.000000000 0.9800000 45.670000
## 36 BRUMADINHO 14.000000 0.000000000 0.9000000 19.600000
## 37 BURITAMA 19.750000 0.000000000 0.8000000 144.925000
## 38 BURITI BRAVO 36.000000 0.000000000 1.0000000 36.800000
## 39 BURITI DOS MONTES 47.000000 0.000000000 1.0000000 24.800000
## 40 CACHOEIRA DA PRATA 14.000000 0.000000000 1.0000000 16.500000
## 41 CAMETA 2.000000 0.100000000 0.0000000 17.300000
## 42 CAMPINAPOLIS 22.333333 0.000000000 0.8500000 30.083333
## 43 CAMPO NOVO DO PARECIS 28.818182 0.000000000 0.9545455 114.245455
## 44 CAMPOS DOS GOYTACAZES 15.000000 0.000000000 1.0000000 14.400000
## 45 CANAVIEIRA 47.000000 0.000000000 1.0000000 22.800000
## 46 CANDEIAS DO JAMARI 0.500000 0.000000000 0.4000000 11.050000
## 47 CAPIVARI 3.000000 0.300000000 0.9750000 80.475000
## 48 CARANDAI 4.000000 0.000000000 0.9000000 20.700000
## 49 CARIRI DO TOCANTINS 39.000000 0.000000000 1.0000000 17.200000
## 50 CAROLINA 39.000000 0.000000000 1.0000000 86.200000
## 51 CATOLE DO ROCHA 39.000000 0.000000000 1.0000000 14.800000
## 52 CAVALCANTE 11.200000 0.000000000 0.9800000 9.160000
## 53 CENTENARIO 18.500000 0.000000000 1.0000000 93.800000
## 54 CHAPADA DOS GUIMARAES 26.000000 0.000000000 0.8666667 57.000000
## 55 CIDADE OCIDENTAL 11.000000 0.000000000 0.9500000 27.000000
## 56 CLAUDIA 34.333333 0.000000000 0.7500000 29.916667
## 57 COCOS 36.000000 0.000000000 1.0000000 12.300000
## 58 COLINAS DO TOCANTINS 0.000000 0.000000000 0.9000000 10.150000
## 59 COMODORO 25.000000 0.000000000 0.7090909 370.690909
## 60 CONCEICAO DO TOCANTINS 37.000000 0.000000000 1.0000000 13.800000
## 61 CONFRESA 34.000000 0.000000000 1.0000000 15.950000
## 62 CORINTO 30.000000 0.000000000 1.0000000 29.750000
## 63 CORRENTINA 31.666667 0.000000000 0.7333333 30.933333
## 64 CORUMBA 13.857143 0.100000000 0.8428571 22.814286
## 65 CRISTALANDIA 39.000000 0.000000000 0.9000000 11.900000
## 66 CRISTALANDIA DO PIAUI 43.000000 0.000000000 1.0000000 22.500000
## 67 CRISTALINA 10.000000 0.000000000 1.0000000 10.800000
## 68 CRUZEIRO DO SUL 32.000000 0.000000000 0.6000000 23.800000
## 69 CUIABA 18.000000 0.000000000 1.0000000 19.600000
## 70 CURUA 6.000000 0.700000000 0.1000000 8.200000
## 71 DARCINOPOLIS 3.000000 0.000000000 0.9500000 29.000000
## 72 DIANOPOLIS 30.333333 0.000000000 1.0000000 30.333333
## 73 DOIS IRMAOS DO BURITI 5.000000 3.100000000 0.1000000 134.700000
## 74 DOM AQUINO 23.000000 0.000000000 1.0000000 16.700000
## 75 DOM ELISEU 15.200000 0.000000000 0.7200000 74.040000
## 76 FATIMA 11.000000 0.000000000 1.0000000 8.900000
## 77 FEIJO 14.000000 0.300000000 0.5000000 18.200000
## 78 FELIZ NATAL 26.166667 0.000000000 0.7166667 109.400000
## 79 FERNANDO FALCAO 13.000000 0.066666667 0.9000000 76.433333
## 80 FLORIANO 40.000000 0.000000000 1.0000000 18.200000
## 81 FORMOSA DO RIO PRETO 39.000000 0.000000000 1.0000000 16.700000
## 82 FORMOSO DO ARAGUAIA 36.800000 0.010000000 0.9600000 39.620000
## 83 FUNILANDIA 35.000000 0.000000000 1.0000000 21.000000
## 84 GAUCHA DO NORTE 30.400000 0.000000000 0.9400000 33.420000
## 85 GENERAL CARNEIRO 25.636364 0.000000000 0.9909091 248.009091
## 86 GOIANORTE 39.000000 0.000000000 1.0000000 12.100000
## 87 GUADALUPE 44.500000 0.000000000 1.0000000 37.100000
## 88 GUAJARA-MIRIM 15.000000 0.000000000 0.8000000 7.200000
## 89 GUARAI 36.000000 0.000000000 1.0000000 17.400000
## 90 IBATE 19.000000 0.000000000 1.0000000 71.000000
## 91 IBITINGA 15.000000 0.000000000 1.0000000 4.700000
## 92 IBOTIRAMA 44.333333 0.000000000 1.0000000 28.233333
## 93 IGARAPAVA 8.500000 0.000000000 1.0000000 15.000000
## 94 INACIOLANDIA 15.750000 0.000000000 1.0000000 158.825000
## 95 INHAUMA 14.000000 0.000000000 1.0000000 17.300000
## 96 IPAMERI 13.666667 0.000000000 1.0000000 13.900000
## 97 IPIRANGA DO NORTE 31.000000 0.000000000 0.8000000 18.900000
## 98 ITAITUBA 3.000000 0.000000000 0.3000000 9.400000
## 99 ITAPACI 32.000000 0.000000000 1.0000000 6.000000
## 100 ITAPIRATINS 2.000000 0.000000000 0.8500000 11.500000
## 101 ITAPUA DO OESTE 28.000000 2.600000000 0.9000000 88.700000
## 102 ITAUEIRA 6.666667 0.000000000 0.8666667 34.433333
## 103 ITUIUTABA 15.000000 0.000000000 1.0000000 48.250000
## 104 JANUARIA 11.000000 0.000000000 1.0000000 41.040000
## 105 JARAGUA 19.500000 0.000000000 1.0000000 23.400000
## 106 JARDIM OLINDA 24.500000 0.000000000 1.0000000 84.050000
## 107 JEQUITIBA 35.000000 0.000000000 1.0000000 20.200000
## 108 JERUMENHA 34.833333 0.000000000 0.9500000 24.700000
## 109 JUARA 20.500000 0.025000000 0.6250000 46.075000
## 110 JUINA 25.000000 0.000000000 0.7000000 33.200000
## 111 LABREA 24.000000 0.000000000 0.3500000 29.150000
## 112 LAGOA DA CONFUSAO 38.600000 0.000000000 0.9600000 38.840000
## 113 LAGOA GRANDE 17.333333 0.000000000 1.0000000 13.300000
## 114 LANDRI SALES 26.200000 0.080000000 0.9600000 58.000000
## 115 LIZARDA 36.750000 0.000000000 1.0000000 19.825000
## 116 LONDRINA 6.500000 0.000000000 0.8000000 13.700000
## 117 LOURDES 15.000000 0.000000000 1.0000000 60.700000
## 118 LUZIANIA 11.000000 0.000000000 1.0000000 6.466667
## 119 MACHADINHO D'OESTE 31.500000 0.200000000 0.4500000 11.450000
## 120 MAIRIPOTABA 12.000000 0.000000000 1.0000000 13.600000
## 121 MANAQUIRI 11.000000 0.000000000 0.5500000 7.850000
## 122 MARCELANDIA 31.333333 0.044444444 0.7500000 168.305556
## 123 MARIANOPOLIS DO TOCANTINS 39.000000 0.000000000 1.0000000 20.650000
## 124 MATEIROS 24.173913 0.000000000 1.0000000 58.626087
## 125 MATUPA 27.666667 0.000000000 0.8000000 50.933333
## 126 MAURILANDIA 15.000000 0.000000000 1.0000000 9.300000
## 127 MAURILANDIA DO TOCANTINS 28.000000 0.000000000 1.0000000 37.800000
## 128 MINEIROS 14.750000 0.000000000 0.8750000 47.150000
## 129 MIRADOR 41.500000 0.000000000 0.9500000 55.325000
## 130 MIRANDOPOLIS 15.000000 0.100000000 0.9000000 10.500000
## 131 MONTE ALEGRE 3.666667 0.066666667 0.1333333 10.933333
## 132 MONTE ALEGRE DE MINAS 15.000000 0.000000000 1.0000000 92.900000
## 133 MONTE DO CARMO 38.000000 0.000000000 1.0000000 20.200000
## 134 MUNIZ FREIRE 5.500000 0.000000000 1.0000000 131.650000
## 135 NATIVIDADE 39.000000 0.000000000 1.0000000 10.300000
## 136 NIQUELANDIA 20.000000 0.000000000 1.0000000 6.500000
## 137 NOVA BANDEIRANTES 6.000000 0.000000000 0.4000000 23.500000
## 138 NOVA MARINGA 26.916667 0.000000000 0.7916667 268.300000
## 139 NOVA NAZARE 35.111111 0.000000000 0.8444444 24.500000
## 140 NOVA SERRANA 17.000000 0.000000000 1.0000000 7.800000
## 141 NOVA UBIRATA 39.000000 0.000000000 1.0000000 13.900000
## 142 NOVA VENECIA 30.000000 0.000000000 1.0000000 51.600000
## 143 NOVA XAVANTINA 30.666667 0.000000000 1.0000000 26.066667
## 144 NOVO PROGRESSO 15.000000 0.000000000 0.6000000 13.200000
## 145 NOVO REPARTIMENTO 0.000000 0.300000000 0.1000000 19.800000
## 146 NOVO SANTO ANTONIO 39.333333 0.000000000 1.0000000 19.800000
## 147 OBIDOS 6.000000 0.300000000 0.1000000 9.100000
## 148 OEIRAS 8.750000 0.000000000 1.0000000 33.375000
## 149 OLIVEIRA DE FATIMA 17.000000 0.000000000 1.0000000 6.900000
## 150 ONDA VERDE 15.000000 0.000000000 1.0000000 22.050000
## 151 ORIXIMINA 4.000000 0.000000000 0.1000000 21.700000
## 152 OURILANDIA DO NORTE 1.000000 0.450000000 0.9000000 12.300000
## 153 PALMEIRA 3.500000 0.000000000 0.3000000 26.350000
## 154 PARAISO DO TOCANTINS 39.000000 0.000000000 1.0000000 7.800000
## 155 PARANA 13.500000 0.000000000 0.8500000 10.350000
## 156 PARANATINGA 44.200000 0.000000000 0.8800000 39.460000
## 157 PARAUNA 30.000000 0.000000000 1.0000000 9.400000
## 158 PARNARAMA 22.400000 0.000000000 0.8800000 46.040000
## 159 PASTOS BONS 5.000000 0.100000000 1.0000000 39.050000
## 160 PATROCINIO 15.000000 0.000000000 1.0000000 6.500000
## 161 PEIXE 38.000000 0.000000000 1.0000000 46.750000
## 162 PETROPOLIS 24.500000 0.000000000 1.0000000 42.150000
## 163 PICOS 14.000000 0.000000000 1.0000000 9.000000
## 164 PIUM 32.666667 0.000000000 1.0000000 24.633333
## 165 PONTA GROSSA 2.000000 0.000000000 0.5000000 10.000000
## 166 PONTE ALTA DO BOM JESUS 38.000000 0.000000000 1.0000000 16.000000
## 167 PONTE ALTA DO TOCANTINS 40.750000 0.000000000 1.0000000 26.425000
## 168 PORTEL 1.000000 3.200000000 0.0000000 6.200000
## 169 PORTO ALEGRE DO NORTE 36.000000 0.000000000 0.9000000 6.850000
## 170 PORTO DOS GAUCHOS 26.250000 0.000000000 0.7000000 31.450000
## 171 PORTO NACIONAL 11.000000 0.000000000 1.0000000 14.800000
## 172 PORTO VELHO 16.000000 0.000000000 0.3500000 19.300000
## 173 PRESIDENTE OLEGARIO 15.000000 0.000000000 1.0000000 21.800000
## 174 QUERENCIA 25.357143 0.200000000 0.7428571 829.392857
## 175 QUITANDINHA 2.000000 0.000000000 0.1000000 4.600000
## 176 RECURSOLANDIA 14.333333 0.000000000 0.9666667 25.800000
## 177 RIACHO DOS CAVALOS 38.000000 0.000000000 1.0000000 13.300000
## 178 RIBEIRAO PRETO 15.000000 0.000000000 1.0000000 12.000000
## 179 RIO CRESPO 14.500000 0.000000000 0.2500000 12.050000
## 180 RIO SONO 22.000000 0.000000000 1.0000000 11.000000
## 181 RIO VERDE DE MATO GROSSO 15.000000 0.000000000 1.0000000 86.400000
## 182 SACRAMENTO 14.500000 0.000000000 0.8750000 9.900000
## 183 SANTA BARBARA D'OESTE 4.000000 0.100000000 1.0000000 15.300000
## 184 SANTA CARMEM 26.200000 0.000000000 0.8400000 31.120000
## 185 SANTA CRUZ DO XINGU 10.750000 0.050000000 0.6750000 33.275000
## 186 SANTA FILOMENA 30.000000 0.000000000 1.0000000 38.600000
## 187 SANTA ISABEL 48.000000 0.000000000 1.0000000 11.500000
## 188 SANTA MARIA DAS BARREIRAS 35.000000 0.000000000 1.0000000 7.200000
## 189 SANTA QUITERIA DO MARANHAO 30.000000 0.000000000 0.9000000 55.150000
## 190 SANTA RITA 7.000000 2.800000000 0.1000000 28.400000
## 191 SANTANA DO PIAUI 25.500000 0.000000000 1.0000000 23.250000
## 192 SANTO ANTONIO DO DESCOBERTO 11.000000 0.000000000 0.7000000 5.100000
## 193 SAO DESIDERIO 39.000000 0.000000000 1.0000000 24.000000
## 194 SAO FELIX DE BALSAS 40.000000 0.000000000 1.0000000 27.033333
## 195 SAO FELIX DO ARAGUAIA 36.611111 0.005555556 0.9111111 53.144444
## 196 SAO FELIX DO TOCANTINS 38.000000 0.000000000 1.0000000 32.400000
## 197 SAO GONCALO DO ABAETE 15.000000 0.000000000 1.0000000 31.200000
## 198 SAO JOAO DO SOTER 7.000000 0.000000000 0.6000000 44.950000
## 199 SEBASTIAO LEAL 8.000000 0.000000000 1.0000000 22.200000
## 200 SENADOR JOSE PORFIRIO 7.000000 0.000000000 0.2000000 23.500000
## 201 SINOP 35.000000 0.000000000 0.8333333 50.500000
## 202 SUCUPIRA 39.000000 0.000000000 0.9000000 10.300000
## 203 TABAPORA 35.000000 0.000000000 0.7000000 22.600000
## 204 TABAPUA 15.000000 0.000000000 1.0000000 15.700000
## 205 TAGUATINGA 37.000000 0.000000000 1.0000000 41.600000
## 206 TAIPU 28.000000 0.000000000 1.0000000 46.700000
## 207 TANGARA DA SERRA 27.000000 0.000000000 1.0000000 29.650000
## 208 TAPAUA 34.000000 0.000000000 0.0000000 5.200000
## 209 TERESINA 7.666667 0.000000000 0.9000000 45.366667
## 210 TESOURO 28.000000 0.000000000 1.0000000 21.600000
## 211 TIMON 22.000000 0.000000000 1.0000000 28.800000
## 212 TOCANTINIA 31.076923 0.000000000 0.9923077 14.546154
## 213 TOME-ACU 3.000000 0.700000000 0.1000000 14.600000
## 214 TREMEDAL 32.500000 0.000000000 1.0000000 41.250000
## 215 TUPACIGUARA 15.000000 0.000000000 1.0000000 11.950000
## 216 TURIUBA 15.000000 0.000000000 1.0000000 31.600000
## 217 TUTOIA 39.000000 0.000000000 0.8000000 11.400000
## 218 UBERABA 14.900000 0.000000000 1.0000000 22.910000
## 219 UNIAO DO SUL 28.187500 0.075000000 0.7937500 77.093750
## 220 UPANEMA 39.000000 0.000000000 1.0000000 18.300000
## 221 URUCUI 41.500000 0.050000000 0.9500000 34.075000
## 222 VALPARAISO DE GOIAS 11.000000 0.000000000 1.0000000 7.900000
## 223 VILA RICA 38.000000 0.000000000 0.9000000 24.000000
## 224 VITORIA DO MEARIM 18.000000 0.000000000 0.8000000 55.250000
Variancia
var(dados_queimadas_v2_final$riscofogo)## [1] 0.05228056
var(dados_queimadas_v2_final$diasemchuva)## [1] 183.9776
var(dados_queimadas_v2_final$precipitacao)## [1] 0.1092268
var(dados_queimadas_v2_final$frp)## [1] 78911.65
Desvio Padrão
sd(dados_queimadas_v2_final$riscofogo)## [1] 0.2286494
sd(dados_queimadas_v2_final$diasemchuva)## [1] 13.56384
sd(dados_queimadas_v2_final$precipitacao)## [1] 0.3304948
sd(dados_queimadas_v2_final$frp)## [1] 280.9122
Coeficiente de Assimetria
skewness(dados_queimadas_v2_final$diasemchuva)## [1] -0.1434838
skewness(dados_queimadas_v2_final$precipitacao )## [1] 7.647052
skewness(dados_queimadas_v2_final$riscofogo)## [1] -2.09894
skewness(dados_queimadas_v2_final$frp)## [1] 12.77149
Curtose grau de achatamento em relação a normal Padrão
kurtosis(dados_queimadas_v2_final$diasemchuva)## [1] -1.218481
kurtosis(dados_queimadas_v2_final$riscofogo)## [1] 4.096687
kurtosis(dados_queimadas_v2_final$precipitacao )## [1] 59.93042
kurtosis(dados_queimadas_v2_final$frp)## [1] 194.5906
Diasemchuva X riscofogo(correlação fraca positiva)
x = dados_queimadas_v2_final$diasemchuva
y = dados_queimadas_v2_final$riscofogo
cor(x,y)## [1] 0.3379485
Precipitacao X riscofogo (correlação fraca negativa)
x = dados_queimadas_v2_final$precipitacao
y = dados_queimadas_v2_final$riscofogo
cor(x,y)## [1] -0.3521952
frp X riscofogo (correlação fraca negativa)
x = dados_queimadas_v2_final$frp
y = dados_queimadas_v2_final$riscofogo
cor(x,y)## [1] -0.208772
Correlacao
cor(dados_queimadas_v2_final[c( "diasemchuva", "precipitacao", "riscofogo", "latitude","longitude","frp" )])## diasemchuva precipitacao riscofogo latitude longitude
## diasemchuva 1.000000000 -0.17131824 0.3379485 0.13194133 0.009535746
## precipitacao -0.171318240 1.00000000 -0.3521952 0.12821318 -0.080443961
## riscofogo 0.337948463 -0.35219518 1.0000000 -0.23502190 0.428353617
## latitude 0.131941328 0.12821318 -0.2350219 1.00000000 0.074502478
## longitude 0.009535746 -0.08044396 0.4283536 0.07450248 1.000000000
## frp -0.066387703 0.19645315 -0.2087720 -0.01971455 -0.113175719
## frp
## diasemchuva -0.06638770
## precipitacao 0.19645315
## riscofogo -0.20877198
## latitude -0.01971455
## longitude -0.11317572
## frp 1.00000000
pairs.panels(dados_queimadas_v2_final[c( "diasemchuva", "precipitacao", "riscofogo", "latitude","longitude","frp" )]) Checando se a variável alvo está balanceada (*******colocar o indicador de queimada e ou tipo vegetação, região, etc) Muita concentração em 1
prop.table(table(dados_queimadas_v2_final$riscofogo)) * 100##
## 0 0.1 0.2 0.3 0.4 0.5 0.6
## 1.2882448 2.2544283 1.1272142 0.3220612 1.6103060 1.4492754 5.7971014
## 0.7 0.8 0.9 1
## 6.7632850 10.3059581 5.7971014 63.2850242
prop.table(table(dados_queimadas_v2_final$diasemchuva)) * 100##
## 0 1 2 3 4 5 6
## 2.0933977 0.8051530 2.7375201 3.0595813 2.4154589 0.3220612 1.4492754
## 7 8 9 10 11 12 13
## 1.2882448 0.4830918 0.9661836 0.4830918 4.5088567 1.4492754 0.3220612
## 14 15 16 17 18 19 20
## 2.7375201 12.3993559 1.4492754 0.9661836 0.8051530 1.4492754 0.8051530
## 21 22 23 24 25 26 27
## 1.6103060 1.9323671 1.4492754 1.2882448 0.9661836 1.6103060 0.8051530
## 28 29 30 31 32 33 34
## 2.0933977 0.9661836 1.1272142 0.6441224 2.0933977 1.4492754 6.1191626
## 35 36 37 38 39 40 41
## 4.6698873 1.7713366 1.7713366 4.3478261 11.4331723 1.4492754 1.6103060
## 42 43 44 45 46 47 48
## 0.8051530 0.9661836 1.1272142 0.3220612 0.9661836 0.6441224 0.1610306
## 50 52 55 59
## 0.3220612 0.1610306 0.1610306 0.1610306
Muita concentração em 0
prop.table(table(dados_queimadas_v2_final$precipitacao)) * 100##
## 0 0.1 0.2 0.3 0.4 0.5 0.7
## 90.9822866 2.8985507 1.7713366 1.4492754 0.4830918 0.6441224 0.3220612
## 2.3 2.4 2.6 2.8 3.1 3.2
## 0.1610306 0.3220612 0.3220612 0.3220612 0.1610306 0.1610306
Antes e depois da imputação
as.data.frame(table(dados_queimadas_v2$riscofogo))## Var1 Freq
## 1 0 5
## 2 0.1 9
## 3 0.2 3
## 4 0.3 2
## 5 0.4 4
## 6 0.5 6
## 7 0.6 25
## 8 0.7 30
## 9 0.8 45
## 10 0.9 28
## 11 1 279
as.data.frame(table(dados_queimadas_v2_final$riscofogo))## Var1 Freq
## 1 0 8
## 2 0.1 14
## 3 0.2 7
## 4 0.3 2
## 5 0.4 10
## 6 0.5 9
## 7 0.6 36
## 8 0.7 42
## 9 0.8 64
## 10 0.9 36
## 11 1 393
Transformando dados que estão como character mas podem ter comportamento de fatores Bioma
dados_queimadas_v3_final <-data.frame(dados_queimadas_v2_final)
dados_queimadas_v3_final$bioma <- as.factor(dados_queimadas_v3_final$bioma)
dados_queimadas_v3_final$diasemchuva<- as.numeric(dados_queimadas_v3_final$diasemchuva)str(dados_queimadas_v3_final)## 'data.frame': 621 obs. of 12 variables:
## $ datahora : chr "2021/06/26 17:00:00" "2021/06/26 17:00:00" "2021/06/26 17:00:00" "2021/06/26 17:00:00" ...
## $ satelite : chr "AQUA_M-T" "AQUA_M-T" "AQUA_M-T" "AQUA_M-T" ...
## $ pais : chr "Brasil" "Brasil" "Brasil" "Brasil" ...
## $ estado : chr "SAO PAULO" "MATO GROSSO DO SUL" "SAO PAULO" "SAO PAULO" ...
## $ municipio : chr "IBITINGA" "ANTONIO JOAO" "SANTA BARBARA D'OESTE" "CAPIVARI" ...
## $ bioma : Factor w/ 5 levels "Amazonia","Caatinga",..: 3 3 4 4 4 4 4 4 4 4 ...
## $ diasemchuva : num 15 9 4 3 3 3 3 2 7 6 ...
## $ precipitacao: num 0 0 0.1 0.3 0.3 0.3 0.3 0 0 0 ...
## $ riscofogo : num 1 0.5 1 1 1 1 0.9 1 0.8 0.8 ...
## $ latitude : num -21.9 -22.3 -22.8 -22.9 -22.9 ...
## $ longitude : num -48.8 -56 -47.5 -47.5 -47.5 ...
## $ frp : num 4.7 28.9 15.3 74.7 52.9 ...
Dividindo os dados em treino 60% e 30% teste e ( balancear dados de treino ??)
indice_divisao_dos_dados <- sample(x = nrow(dados_queimadas_v3_final),
size = 0.6 * nrow(dados_queimadas_v3_final),
replace = FALSE)#amostra sem reposiçãoSeparando os dados
dados_treino <- dados_queimadas_v3_final[indice_divisao_dos_dados ,]
dados_teste <- dados_queimadas_v3_final[-indice_divisao_dos_dados ,]** Treinamento do modelo de regressão linear n1 **
model_v1 <- lm(riscofogo ~ diasemchuva +precipitacao+ latitude + longitude + frp, data = dados_treino[,-c(1:6)] )previsao_treino_v1 <- predict(model_v1)Testando o modelo Nº1
teste_v1 <- dados_teste[,-c(1:6,9)] #retirando colunas de character e target
View(dados_teste)
View(teste_v1)
previsao_teste_v1 <- predict(model_v1,teste_v1)summary(model_v1)##
## Call:
## lm(formula = riscofogo ~ diasemchuva + precipitacao + latitude +
## longitude + frp, data = dados_treino[, -c(1:6)])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.63399 -0.07627 0.02326 0.10180 0.44081
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.545e+00 8.415e-02 18.362 < 2e-16 ***
## diasemchuva 4.878e-03 6.164e-04 7.914 2.99e-14 ***
## precipitacao -5.146e-02 3.269e-02 -1.574 0.11629
## latitude -1.603e-02 1.811e-03 -8.847 < 2e-16 ***
## longitude 1.939e-02 1.634e-03 11.862 < 2e-16 ***
## frp -9.718e-05 2.577e-05 -3.771 0.00019 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1588 on 366 degrees of freedom
## Multiple R-squared: 0.4538, Adjusted R-squared: 0.4463
## F-statistic: 60.81 on 5 and 366 DF, p-value: < 2.2e-16
Detectando a colinearidade: quando duas ou mais variaveis preditivas são altamente correlacionadas aumenta o erro padrão obtendo estimativas instáveis avaliar valores maiores que 5
kable(vif(model_v1 ),align='c')| x | |
|---|---|
| diasemchuva | 1.048761 |
| precipitacao | 1.178935 |
| latitude | 1.055471 |
| longitude | 1.035011 |
| frp | 1.137639 |
Fazendo seleção de atributos com o método Akaike(AIC)
step<-stepAIC(model_v1, direction='both', trace=FALSE)
summary(step)##
## Call:
## lm(formula = riscofogo ~ diasemchuva + precipitacao + latitude +
## longitude + frp, data = dados_treino[, -c(1:6)])
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.63399 -0.07627 0.02326 0.10180 0.44081
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.545e+00 8.415e-02 18.362 < 2e-16 ***
## diasemchuva 4.878e-03 6.164e-04 7.914 2.99e-14 ***
## precipitacao -5.146e-02 3.269e-02 -1.574 0.11629
## latitude -1.603e-02 1.811e-03 -8.847 < 2e-16 ***
## longitude 1.939e-02 1.634e-03 11.862 < 2e-16 ***
## frp -9.718e-05 2.577e-05 -3.771 0.00019 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1588 on 366 degrees of freedom
## Multiple R-squared: 0.4538, Adjusted R-squared: 0.4463
## F-statistic: 60.81 on 5 and 366 DF, p-value: < 2.2e-16
Incluindo uma coluna com os valores previstos no dataset
dados_teste_com_previsoes <- cbind(dados_teste, previsao_teste_v1)Colocando a variavel Target ao Lado dos valores Previstos
dados_teste_com_previsoes<- dados_teste_com_previsoes %>%
select(datahora, satelite, pais, estado, municipio,bioma,diasemchuva,precipitacao,latitude,longitude,frp,riscofogo,previsao_teste_v1)
View(dados_teste_com_previsoes)** Treinamento do modelo de regressão linear n2 **
model_v2 <- lm(riscofogo ~bioma + diasemchuva + precipitacao + latitude + longitude + frp, data = dados_treino)
previsao_treino_v2 <- predict(model_v2)Testando o modelo Nº2
teste_v2 <- dados_teste[,-c(1:5,9)] #retirando coluna de character e target
View(dados_teste)
View(teste_v2)
previsao_teste_v2 <- predict(model_v2,teste_v2)
View(previsao_teste_v1)summary(model_v2)##
## Call:
## lm(formula = riscofogo ~ bioma + diasemchuva + precipitacao +
## latitude + longitude + frp, data = dados_treino)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.58597 -0.06846 0.00712 0.09332 0.42222
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.294e+00 1.146e-01 11.291 < 2e-16 ***
## biomaCaatinga 3.724e-02 4.693e-02 0.793 0.428060
## biomaCerrado 1.152e-01 2.324e-02 4.958 1.10e-06 ***
## biomaMata Atlantica -2.390e-03 4.668e-02 -0.051 0.959195
## biomaPantanal 1.126e-01 7.170e-02 1.570 0.117299
## diasemchuva 4.859e-03 5.998e-04 8.100 8.52e-15 ***
## precipitacao -2.381e-02 3.147e-02 -0.757 0.449681
## latitude -1.509e-02 2.168e-03 -6.957 1.63e-11 ***
## longitude 1.556e-02 2.137e-03 7.282 2.07e-12 ***
## frp -9.226e-05 2.466e-05 -3.742 0.000213 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1513 on 362 degrees of freedom
## Multiple R-squared: 0.5095, Adjusted R-squared: 0.4973
## F-statistic: 41.77 on 9 and 362 DF, p-value: < 2.2e-16
Resultado: Adjusted R-squared: 0.5785
** Treinamento do modelo de regressão linear n3 **
model_v3 <- lm(riscofogo ~diasemchuva + precipitacao + latitude + longitude , data = dados_treino)
previsao_treino_v3 <- predict(model_v3)Testando o modelo Nº3
teste_v3 <- dados_teste[,-c(1:6,9,12)]
View(dados_teste)
View(teste_v3)
previsao_teste_v3 <- predict(model_v3,teste_v3)
View(previsao_teste_v3)summary(model_v3)##
## Call:
## lm(formula = riscofogo ~ diasemchuva + precipitacao + latitude +
## longitude, data = dados_treino)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.71297 -0.07687 0.02498 0.09604 0.54648
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.5683446 0.0854301 18.358 < 2e-16 ***
## diasemchuva 0.0049444 0.0006271 7.884 3.65e-14 ***
## precipitacao -0.0906864 0.0315426 -2.875 0.00428 **
## latitude -0.0157486 0.0018422 -8.549 3.40e-16 ***
## longitude 0.0199364 0.0016571 12.031 < 2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1616 on 367 degrees of freedom
## Multiple R-squared: 0.4326, Adjusted R-squared: 0.4264
## F-statistic: 69.94 on 4 and 367 DF, p-value: < 2.2e-16
Resultado: Adjusted R-squared: 0.5255
** Treinamento do modelo de regressão linear n4 **
dados_treino_v2 <- dados_treino
dados_treino_v2$latitude <- dados_treino$latitude^2
dados_treino_v2$longitude <- dados_treino$longitude^2
dados_teste_v2 <- dados_teste
dados_teste_v2$latitude <- dados_teste$latitude^2
dados_teste_v2$longitude <- dados_teste$longitude^2model_v4 <- lm(riscofogo ~bioma + diasemchuva + precipitacao + latitude + longitude + frp, data = dados_treino_v2)
previsao_treino_v4 <- predict(model_v4)teste_v4 <- dados_teste_v2[,-c(1:5,9)] #retirando coluna de character e target
View(dados_teste_v2)
View(teste_v4)
previsao_teste_v4 <- predict(model_v4,teste_v4)summary(model_v4)##
## Call:
## lm(formula = riscofogo ~ bioma + diasemchuva + precipitacao +
## latitude + longitude + frp, data = dados_treino_v2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -0.59703 -0.05973 0.00504 0.09190 0.44724
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 9.436e-01 6.423e-02 14.691 < 2e-16 ***
## biomaCaatinga 6.379e-02 4.680e-02 1.363 0.17368
## biomaCerrado 1.340e-01 2.355e-02 5.690 2.63e-08 ***
## biomaMata Atlantica 3.280e-02 5.065e-02 0.647 0.51774
## biomaPantanal 1.415e-01 7.409e-02 1.910 0.05692 .
## diasemchuva 5.163e-03 6.226e-04 8.293 2.19e-15 ***
## precipitacao -3.724e-02 3.227e-02 -1.154 0.24926
## latitude 4.234e-04 8.990e-05 4.710 3.54e-06 ***
## longitude -1.340e-04 2.050e-05 -6.537 2.13e-10 ***
## frp -8.340e-05 2.532e-05 -3.294 0.00108 **
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 0.1558 on 362 degrees of freedom
## Multiple R-squared: 0.4798, Adjusted R-squared: 0.4669
## F-statistic: 37.1 on 9 and 362 DF, p-value: < 2.2e-16
Resultado: Adjusted R-squared: 0.5507
** Treinamento do modelo Random Forest **
teste_v5 <- dados_teste[,-c(1:5,9)] #retirando coluna de character e target
treino_v5 <- dados_treino[,-c(1:5,9)] #retirando coluna de character e targetView(treino_v5)
View(dados_treino[9])
View(teste_v5)
View(dados_teste[9])length(treino_v5)## [1] 6
rf <- randomForest(x=treino_v5,
y=dados_treino[,9],
xtest=teste_v5,
ytest=dados_teste[,9],
ntree=200)rf ##
## Call:
## randomForest(x = treino_v5, y = dados_treino[, 9], xtest = teste_v5, ytest = dados_teste[, 9], ntree = 200)
## Type of random forest: regression
## Number of trees: 200
## No. of variables tried at each split: 2
##
## Mean of squared residuals: 0.01723502
## % Var explained: 62.04
## Test set MSE: 0.02
## % Var explained: 62.59
varImpPlot(rf)plot(rf) Testando o modelo Nº6(Decision Tree)
teste_v6 <- dados_teste[,-c(1:5,9)] #retirando coluna de character e target
treino_v6 <- dados_treino[,-c(1:5)] #retirando coluna de character tree_1<-tree(riscofogo ~ bioma + diasemchuva + precipitacao + latitude + longitude + frp, data = treino_v6)summary(tree_1)##
## Regression tree:
## tree(formula = riscofogo ~ bioma + diasemchuva + precipitacao +
## latitude + longitude + frp, data = treino_v6)
## Variables actually used in tree construction:
## [1] "bioma" "diasemchuva" "latitude" "longitude"
## Number of terminal nodes: 10
## Residual mean deviance: 0.01519 = 5.497 / 362
## Distribution of residuals:
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -0.57170 -0.06250 0.02827 0.00000 0.02827 0.70000
plot(tree_1)cv.tree1<- cv.tree(tree_1)
plot(cv.tree1$size, cv.tree1$dev, type ="b", col="blue")teste
riscofogo_teste <- predict(tree_1,teste_v6 )
riscofogo_original <-dados_teste[,9]teste1 <- data.frame(obs=riscofogo_original, pred=riscofogo_teste)
str(teste1)## 'data.frame': 249 obs. of 2 variables:
## $ obs : num 1 0.8 0.5 0.4 0.2 0.8 0.7 1 1 1 ...
## $ pred: num 0.785 0.972 0.785 0.972 0.972 ...
str(teste1)## 'data.frame': 249 obs. of 2 variables:
## $ obs : num 1 0.8 0.5 0.4 0.2 0.8 0.7 1 1 1 ...
## $ pred: num 0.785 0.972 0.785 0.972 0.972 ...
prop.table(table(dados_treino$riscofogo)) * 100##
## 0 0.1 0.2 0.3 0.4 0.5 0.6
## 1.0752688 1.6129032 1.0752688 0.2688172 1.6129032 0.8064516 5.6451613
## 0.7 0.8 0.9 1
## 6.9892473 10.7526882 6.9892473 63.1720430
dados_treino$precipitacao = as.factor (dados_treino$precipitacao)
dados_treino$riscofogo = as.factor (dados_treino$riscofogo)
dados_treino$latitude = as.factor (dados_treino$latitude )
dados_treino$longitude = as.factor (dados_treino$longitude)
dados_treino$frp = as.factor (dados_treino$frp )aplicando balanceamento com SMOTE(não deu certo) dados_treino_balanceados <- SMOTE(riscofogo ~ ., dados_treino, perc.over = 600, perc.under = 100)