Skip to contents
library(distanceMonitoraflorestal)

Fluxo 4 - Amostragem por Distância com Múltiplas Covariáveis

Aqui vamos usar a abordagem do Fluxo 2, sem amostragens repetidas, para o ajuste de covariáveis. Vamos usar o tamanho do grupo (size) e tempo de denso percorrido até cada observação como exemplo de covariáveis.

Carregando os dados

Aqui vamos trabalhar com os dados filtrados, sem repetições. O número de observações total foi de 55.

cutias_cov <- filtrar_dados(
  nome_ucs == "resex_tapajos_arapiuns", 
  nome_sps == "dasyprocta_croconota",
  validacao_obs = "especie"
)

cutias_cov_distance <- transformar_dados_formato_Distance(
  cutias_cov,
  amostras_repetidas = FALSE)

cutias_cov_distance
Plotando o histograma
cutias_cov_distance |> 
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
Ajustando diferentes modelos com covariáveis

Para o uso de coveriáveis, podemos usar somente as distribuições half-normal ou hazard-rate, pois ambas possuem o parâmetro escalar (sigma) pelo qual o vetor das covariáveis será multiplicado. Não é recomendável o uso de termos de ajuste com o uso de covariáveis pela grande chance de perda de monotonicidade nas curvas das funções de detecção. Assim, vamos trabalhar com as seguintes combinações de modelos.

Half-normal sem termos de ajuste (HN)
# ajustando a função de detecção half-normal, sem covariável, para um truncamento de 10% dos dados
cutias_cov_distance_hn <- cutias_cov_distance |> 
  ajustar_modelos_Distance(
    funcao_chave = "hn",
    truncamento = "10%"
    )

cutias_cov_distance_hn$`Sem termo`
HN + Tamanho do grupo (HN + S)
# ajustando a função de detecção half-normal, com tamanho do grupo como covariável, para um truncamento de 10% dos dados
cutias_cov_distance_hn_size <- cutias_cov_distance |> 
  ajustar_modelos_Distance(
    funcao_chave = "hn",
    truncamento = "10%",
    formula = ~ size
    )

cutias_cov_distance_hn_size
HN + Tamanho do grupo (HN + S)
# ajustando a função de detecção half-normal, com tamanho do grupo como covariável, para um truncamento de 10% dos dados
cutias_cov_distance_hn_size_time <- cutias_cov_distance |> 
  ajustar_modelos_Distance(
    funcao_chave = "hn",
    truncamento = "10%",
    formula = ~ size + cense_time
    )

cutias_cov_distance_hn_size_time
Hazard-rate sem termos de ajuste (HZ)
# ajustando a função de detecção hazard-rate, sem covariável, para um truncamento de 10% dos dados
cutias_cov_distance_hr <- cutias_cov_distance |> 
  ajustar_modelos_Distance(
    funcao_chave = "hr",
    truncamento = "10%"
    )

cutias_cov_distance_hr$`Sem termo`
HZ + Tamanho do grupo (HZ + S)
# ajustando a função de detecção hazard-rate, com tamanho do grupo como covariável, para um truncamento de 10% dos dados
cutias_cov_distance_hr_size <- cutias_cov_distance |> 
  ajustar_modelos_Distance(
    funcao_chave = "hr",
    truncamento = "10%",
    formula = ~ size
    )

cutias_cov_distance_hr_size
HZ + Tamanho do grupo (HZ + S)
# ajustando a função de detecção hazard-rate, com tamanho do grupo como covariável, para um truncamento de 10% dos dados
cutias_cov_distance_hr_size_time <- cutias_cov_distance |> 
  ajustar_modelos_Distance(
    funcao_chave = "hr",
    truncamento = "10%",
    formula = ~ size + cense_time
    )

cutias_cov_distance_hr_size_time
Comparando os modelos
Tabela com o resumo comparativo dos modelos

Aqui, vamos selecionar somente os modelos sem termos de ajuste, com e sem covariáveis.

cutias_cov_distance_melhor_modelo <- 
  selecionar_funcao_deteccao_termo_ajuste(
  cutias_cov_distance_hn$`Sem termo`,
  cutias_cov_distance_hn_size,
  cutias_cov_distance_hn_size_time,
  cutias_cov_distance_hr$`Sem termo`,
  cutias_cov_distance_hr_size,
  cutias_cov_distance_hr_size_time
)

cutias_cov_distance_melhor_modelo

Observe que nesse caso as covariávies alteraram pouco o ajuste dos modelos.

Gráficos de ajuste das funções de deteção às probabilidades de deteção

Ainda estamos ajustando a função para poder gerar os gráficos dos modelos com covariáveis. A função criada para os gráficos ainda não comporta os dados de modelos com covariáveis.

modelos_cutias_cov_distance <-
  gerar_lista_modelos_selecionados(
    cutias_cov_distance_hr_size_time,
    cutias_cov_distance_hn_size_time,
    cutias_cov_distance_hn$`Sem termo`,
    cutias_cov_distance_hn_size,
    cutias_cov_distance_hr_size,
    cutias_cov_distance_hr$`Sem termo`,
    nome_modelos_selecionados = cutias_cov_distance_melhor_modelo
  )

plotar_funcao_deteccao_modelos_selecionados(modelos_cutias_cov_distance)
Teste de bondade de ajuste dos modelos e Q-Q plots

Ainda estamos ajustando a função para poder gerar a tabela com os resultados do Cramér-von Mises e os gráficos dos modelos com covariáveis. A função criada para gerar tabela e os Q-Q plots ainda não comporta os dados de modelos com covariáveis.

testar_bondade_ajuste(
  modelos_cutias_cov_distance,
  plot = TRUE,
  nboot = 100
)
Avaliando as estimativas de Abundância e Densidade

Para o uso de covariáveis, as estimativas de abundância/densidade devem ser feitas através do bootstrap (função bootdht do Distance). Ainda estamos implementando o bootstrap em nosso fluxo de estimativas de taxa de encontro, abundância e densidade.

Área coberta pela Amostragem

gerar_resultados_Distance(
  modelos_cutias_cov_distance,
  cutias_cov_distance_melhor_modelo,
  tipo_de_resultado = "area_estudo"
  )
Ábundância

gerar_resultados_Distance(
  modelos_cutias_cov_distance,
  cutias_cov_distance_melhor_modelo,
  tipo_de_resultado = "abundancia"
  )
Densidade

gerar_resultados_Distance(
  modelos_cutias_cov_distance,
  cutias_cov_distance_melhor_modelo,
  tipo_de_resultado = "densidade"
  )