Ajuste-dos-modelos-fluxo6-amostragem-por-distancia-estratificada-por-ano
Fluxo6-estratificacao-por-ano.Rmd
library(distanceMonitoraflorestal)
Fluxo 6 - Amostragem por distância estratificada por ano
Para obter as estimativas anuais de densidade continuaremos utilizando a abordagem do Fluxo 2, com amostragens sem repetição.
Carregando os dados
Aqui vamos trabalhar com os dados filtrados, sem repetições. O número de observações total foi de 55.
cutias_year <- filtrar_dados(
nome_ucs == "resex_tapajos_arapiuns",
nome_sps == "dasyprocta_croconota",
validacao_obs = "especie"
)
cutias_year_distance <- transformar_dados_formato_Distance(
cutias_year,
amostras_repetidas = FALSE)
cutias_year_distance
Plotando o histograma das frequências de ocorrência pela distância
Dados Globais
Plotando o histograma para os dados globais.
cutias_year_distance |>
tidyr::drop_na(distance) |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
Por Estrato
Plotando o histograma para cada ano.
2014
cutia_2014 <- cutias_year_distance |>
dplyr::filter(year == 2014)
cutia_2014 |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
**2015*
cutia_2015 <- cutias_year_distance |>
dplyr::filter(year == 2015)
cutia_2015 |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
2016
cutia_2016 <- cutias_year_distance |>
dplyr::filter(year == 2016)
cutia_2016 |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
2017
cutia_2017 <- cutias_year_distance |>
dplyr::filter(year == 2017)
cutia_2017 |>
tidyr::drop_na(distance) |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
2018
cutia_2018 <- cutias_year_distance |>
dplyr::filter(year == 2018)
cutia_2018 |>
tidyr::drop_na(distance) |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
2019
cutia_2019 <- cutias_year_distance |>
dplyr::filter(year == 2019)
cutia_2019 |>
tidyr::drop_na(distance) |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
2020
cutia_2020 <- cutias_year_distance |>
dplyr::filter(year == 2020)
cutia_2020|>
tidyr::drop_na(distance) |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
2021
cutia_2021 <- cutias_year_distance |>
dplyr::filter(year == 2021)
cutia_2021 |>
tidyr::drop_na(distance) |>
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
Ajustando diferentes modelos para dados Globais
Para ajustar os modelos aos dados globais e estratificados, mantivemos a mesma distância de truncamento para os dados das cutias na Resex Tapajós-Arapiuns, de 10%, uma vez que a distrbuição dos dados é semelhante tanto nos dados globais como nas UCs analisadas.
Uniforme com termos de ajuste Cosseno e polinomial simples
# ajustando a função de detecção uniforme para um truncamento de 10% dos dados
cutias_distance_unif_year <- cutias_year_distance |>
dplyr::filter(year != 2014) |>
dplyr::mutate(Region.Label = year) |>
ajustar_modelos_Distance(
funcao_chave = "unif",
truncamento = "10%")
Half-Normal sem termos de ajuste e com termos de ajuste Cosseno e Polinomial de Hermite
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_distance_hn_year <- cutias_year_distance |>
dplyr::filter(year != 2014) |>
dplyr::mutate(Region.Label = year) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
truncamento = "10%")
Hazard-rate sem termos de ajuste e com termos de ajuste Cosseno e Polinomial de Hermite
# ajustando a função de detecção hazard-rate para um truncamento de 10% dos dados
cutias_distance_hr_year <- cutias_year_distance |>
dplyr::filter(year != 2014) |>
dplyr::mutate(Region.Label = year) |>
ajustar_modelos_Distance(
funcao_chave = "hr",
truncamento = "10%")
Comparando os modelos
Tabela com o resumo comparativo dos modelos
melhor_modelo_cutias_year <- selecionar_funcao_deteccao_termo_ajuste(
cutias_distance_unif_year$Cosseno,
cutias_distance_unif_year$`Polinomial simples`,
cutias_distance_hn_year$`Sem termo`,
cutias_distance_hn_year$Cosseno,
cutias_distance_hn_year$`Hermite polinomial`,
cutias_distance_hr_year$`Sem termo`,
cutias_distance_hr_year$Cosseno,
cutias_distance_hr_year$`Polinomial simples`
)
melhor_modelo_cutias_year
Gráficos de ajuste das funções de deteção às probabilidades de deteção
modelos_cutias_year <- gerar_lista_modelos_selecionados(
cutias_distance_hn_year$Cosseno,
cutias_distance_hr_year$`Sem termo`,
cutias_distance_unif_year$Cosseno,
cutias_distance_unif_year$`Polinomial simples`,
cutias_distance_hn_year$`Sem termo`,
nome_modelos_selecionados = melhor_modelo_cutias_year
)
plotar_funcao_deteccao_modelos_selecionados(modelos_cutias_year)
Teste de bondade de ajuste dos modelos e Q-Q plots
#criar uma lista com os modelos selecionados, na ordem de seleção
testar_bondade_ajuste(
modelos_cutias_year,
plot = TRUE,
chisq = FALSE,
)
Aqui são gerados Q-Q plots que permitem avaliar a qualidade do ajuste dos modelos. E também uma tabela com os resultados do Carmér-von Mises, onde W é o valor do teste e p seu valor de significância. Nesse caso, quanto maior o valor de p, melhor o ajuste do modelo.
Avaliando as estimativas de Abundância e Densidade
Aqui, são resumidos os dados de taxa de encontro, abundância e densidade em três tabelas.
Área coberta pela Amostragem
gerar_resultados_Distance(
dados = modelos_cutias_year,
resultado_selecao_modelos = melhor_modelo_cutias_year,
tipo_de_resultado = "area_estudo",
estratificacao = TRUE
)
Ábundância
resultado_abundancia <-
gerar_resultados_Distance(
dados = modelos_cutias_year,
resultado_selecao_modelos = melhor_modelo_cutias_year,
tipo_de_resultado = "abundancia",
estratificacao = TRUE
)
resultado_abundancia
resultado_abundancia |>
dplyr::mutate(ano = as.integer(Regiao)) |>
dplyr::group_by(ano) |>
dplyr::summarise(n = sum(`Abundancia estimada`)) |>
ggplot2::ggplot() +
ggplot2::aes(
x = ano,
y = n
) +
ggplot2::geom_line() +
ggplot2::theme_minimal()
Densidade
resultados_densidade <-
gerar_resultados_Distance(
dados = modelos_cutias_year,
resultado_selecao_modelos = melhor_modelo_cutias_year,
tipo_de_resultado = "densidade",
estratificacao = TRUE
)
resultados_densidade
resultados_densidade |>
dplyr::filter(Rotulo != "Total") |>
dplyr::mutate(ano = as.integer(Rotulo)) |>
ggplot2::ggplot() +
ggplot2::aes(
x = ano,
y = `Estimativa de densidade`
) +
ggplot2::geom_line() +
ggplot2::facet_wrap(facets = ggplot2::vars(Modelo)) +
ggplot2::theme_minimal()
Ajustando modelos para cada estrato temporal (ano)
Half-Normal
Dados Globais
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_distance_year_hn <- cutias_year_distance |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2015
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2015_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2015) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2016
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2016_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2016) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2017
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2017_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2017) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2018
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2018_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2018) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2019
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2019_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2019) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2020
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2020_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2020) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
2021
# ajustando a função de detecção half-normal para um truncamento de 10% dos dados
cutias_2021_distance_hn <- cutias_year_distance |>
dplyr::filter(year == 2021) |>
ajustar_modelos_Distance(
funcao_chave = "hn",
termos_ajuste = "cos",
truncamento = "10%")
Comparando os modelos
Tabela com o resumo comparativo dos modelos
modelo_cutias_estrat_year <- comparar_aic_modelo_estratificado(
cutias_distance_year_hn,
cutias_2015_distance_hn,
cutias_2016_distance_hn,
cutias_2017_distance_hn,
cutias_2018_distance_hn,
cutias_2019_distance_hn,
cutias_2020_distance_hn,
cutias_2021_distance_hn,
nome_modelos = c(
"Global",
"2015",
"2016",
"2017",
"2018",
"2019",
"2020",
"2021"
)
)
modelo_cutias_estrat_year
Gráficos de ajuste das funções de deteção às probabilidades de deteção
modelos_cutias_estrat <- gerar_lista_modelos_selecionados(
cutias_distance_year_hn,
cutias_2015_distance_hn,
cutias_2016_distance_hn,
cutias_2017_distance_hn,
cutias_2018_distance_hn,
cutias_2019_distance_hn,
cutias_2020_distance_hn,
cutias_2021_distance_hn,
nome_modelos_selecionados = modelo_cutias_estrat
)
plotar_funcao_deteccao_modelos_selecionados(modelos_cutias_estrat)