Skip to contents
library(distanceMonitoraflorestal)

Fluxo 3 - Distâncias agrupadas com todas as repetições

Aqui vamos partir do mesmo conjunto de dados do Fluxo 1 (cutia_tap_arap), com todas as repetições, mas vamos agrupar as distâncias em intervalos. Vamos usar o mesmo valor de truncamento, removendo 10% das observações nas maiores distâncias, o que significa que aproveitaremos as observações feitas até 15m de distância do observador.

Plotando o histograma das frequências de observações pela distância

O histograma interativo está disponível no aplicativo em Shiny app_distancia_interativo.Rem piper3d_monitora_florestal\apps.

Aqui, plotamos quatro histogramas com binagens diferentes, para observar o efeito de agrupar os dados sobre as distribuições das frequências de observações nos histogramas.

cutia_tap_arap |> 
  tidyr::drop_na(distance) |> 
plotar_distribuicao_distancia_interativo(largura_caixa = 1)
cutia_tap_arap |> 
  tidyr::drop_na(distance) |> 
plotar_distribuicao_distancia_interativo(largura_caixa = 2)
cutia_tap_arap |> 
  tidyr::drop_na(distance) |> 
plotar_distribuicao_distancia_interativo(largura_caixa = 3)
cutia_tap_arap |> 
  tidyr::drop_na(distance) |> 
plotar_distribuicao_distancia_interativo(largura_caixa = 5)
Definindo os intevalos de distância de agrupamento

É importante ressaltar que o valor máximo para categorização dos dados não deve utltrapassar o valor de truncagem. Caso contrário, não será possível ajustar os modelos aos dados.

Primeira binagem - Intervalos iguais de 1.5m
cutia_tap_arap_bin1 <- cutia_tap_arap |> 
  definir_intervalos_distancia(
    intervalos_distancia = seq(
      from = 0,
      to = 15,
      by = 1.5
      )
  )
Segunda binagem - Primeiro intervalo de 1m e demais intervalos de 1.4m
cutia_tap_arap_bin2 <- cutia_tap_arap |> 
  definir_intervalos_distancia(
    intervalos_distancia = c(
      0,
      seq(
      from = 1,
      to = 15,
      by = 1.4
      )
    )
  )
  
Terceira binagem - Intervalos iguais de 2.5m
cutia_tap_arap_bin3 <- cutia_tap_arap |> 
  definir_intervalos_distancia(
    intervalos_distancia = seq(
      from = 0,
      to = 15,
      by = 2.5
      )
  )
Ajustando diferentes modelos de funções de detecção
Uniforme + Cosseno

Primeira Binagem

Aqui, por conta da binagem, o truncamento deve ser expresso em distância. Para os dados que estamos trabalhando, o corte de 10% das observações mais distantes truncam os dados em 15m.

cutia_tap_arap_bin1_unif <- cutia_tap_arap_bin1 |> 
  ajustar_modelos_Distance(
    funcao_chave = "unif",
    termos_ajuste = "cos",
    truncamento = 15)

Segunda binagem


cutia_tap_arap_bin2_unif <- cutia_tap_arap_bin2 |> 
  ajustar_modelos_Distance(
    funcao_chave = "unif",
    termos_ajuste = "cos",
    truncamento = 15)

Terceira binagem


cutia_tap_arap_bin3_unif <- cutia_tap_arap_bin3 |> 
  ajustar_modelos_Distance(
    funcao_chave = "unif",
    termos_ajuste = "cos",
    truncamento = 15)
Half-Normal sem termos de ajuste e com termos de ajuste

Primeira binagem


cutia_tap_arap_bin1_hn <- cutia_tap_arap_bin1 |> 
  ajustar_modelos_Distance(
    funcao_chave = "hn",
    truncamento = 15)

Segunda binagem


cutia_tap_arap_bin2_hn <- cutia_tap_arap_bin2 |> 
  ajustar_modelos_Distance(
    funcao_chave = "hn",
    truncamento = 15)

Terceira binagem


cutia_tap_arap_bin3_hn <- cutia_tap_arap_bin3 |> 
  ajustar_modelos_Distance(
    funcao_chave = "hn",
    truncamento = 15)
Hazard-rate sem termos de ajuste e com termos de ajuste

Primeira binagem


cutia_tap_arap_bin1_hr <- cutia_tap_arap_bin1 |> 
  ajustar_modelos_Distance(
    funcao_chave = "hr",
    truncamento = 15)

Segunda binagem


cutia_tap_arap_bin2_hr <- cutia_tap_arap_bin2 |> 
  ajustar_modelos_Distance(
    funcao_chave = "hr",
    truncamento = 15)

Terceira binagem


cutia_tap_arap_bin3_hr <- cutia_tap_arap_bin3 |> 
  ajustar_modelos_Distance(
    funcao_chave = "hr",
    truncamento = 15)
Comparando os modelos
Tabela com o resumo comparativo dos modelos
fluxo3.1_selecao_funcao_deteccao_termo_ajuste <- selecionar_funcao_deteccao_termo_ajuste(
  cutia_tap_arap_bin1_unif,
  cutia_tap_arap_bin1_hn$`Sem termo`,
  cutia_tap_arap_bin1_hn$Cosseno,
  cutia_tap_arap_bin1_hn$`Hermite polinomial`,
  cutia_tap_arap_bin1_hr$`Sem termo`,
  cutia_tap_arap_bin1_hr$Cosseno,
  cutia_tap_arap_bin1_hr$`Polinomial simples`,
  distancia_categorizada = TRUE
)

fluxo3.1_selecao_funcao_deteccao_termo_ajuste
fluxo3.2_selecao_funcao_deteccao_termo_ajuste <- selecionar_funcao_deteccao_termo_ajuste(
  cutia_tap_arap_bin2_unif,
  cutia_tap_arap_bin2_hn$`Sem termo`,
  cutia_tap_arap_bin2_hn$Cosseno,
  cutia_tap_arap_bin2_hn$`Hermite polinomial`,
  cutia_tap_arap_bin2_hr$`Sem termo`,
  cutia_tap_arap_bin2_hr$Cosseno,
  cutia_tap_arap_bin2_hr$`Polinomial simples`,
  distancia_categorizada = TRUE
)

fluxo3.2_selecao_funcao_deteccao_termo_ajuste
fluxo3.3_selecao_funcao_deteccao_termo_ajuste <- selecionar_funcao_deteccao_termo_ajuste(
  cutia_tap_arap_bin3_unif,
  cutia_tap_arap_bin3_hn$`Sem termo`,
  cutia_tap_arap_bin3_hn$Cosseno,
  cutia_tap_arap_bin3_hn$`Hermite polinomial`,
  cutia_tap_arap_bin3_hr$`Sem termo`,
  cutia_tap_arap_bin3_hr$Cosseno,
  cutia_tap_arap_bin3_hr$`Polinomial simples`,
  distancia_categorizada = TRUE
)

fluxo3.3_selecao_funcao_deteccao_termo_ajuste
Gráficos de ajuste das funções de detecção às probabilidades de detecção

Primeira binagem

# Gráficos de ajuste das funções de deteção às probabilidades de deteção
fluxo3.1_modelos_selecionados <- gerar_lista_modelos_selecionados(
  cutia_tap_arap_bin1_hn$`Cosseno`,
  cutia_tap_arap_bin1_unif,
  cutia_tap_arap_bin1_hr$`Sem termo`,
  cutia_tap_arap_bin1_hn$`Sem termo`, 
  nome_modelos_selecionados = fluxo3.1_selecao_funcao_deteccao_termo_ajuste
)

# plotar a probabilidade de detecção observada (barras) e a esperada (linhas e pontos)
plotar_funcao_deteccao_modelos_selecionados(
  fluxo3.1_modelos_selecionados
)

Segunda binagem

# Gráficos de ajuste das funções de deteção às probabilidades de deteção
fluxo3.2_modelos_selecionados <- gerar_lista_modelos_selecionados(
  cutia_tap_arap_bin2_unif,
  cutia_tap_arap_bin2_hr$`Sem termo`,
  cutia_tap_arap_bin2_hn$`Cosseno`,
  cutia_tap_arap_bin2_hn$`Sem termo`, 
  nome_modelos_selecionados = fluxo3.2_selecao_funcao_deteccao_termo_ajuste
)

# plotar a probabilidade de detecção observada (barras) e a esperada (linhas e pontos)
plotar_funcao_deteccao_modelos_selecionados(fluxo3.2_modelos_selecionados)

Terceira binagem

# Gráficos de ajuste das funções de deteção às probabilidades de deteção
fluxo3.3_modelos_selecionados <- gerar_lista_modelos_selecionados(
  cutia_tap_arap_bin3_hn$`Cosseno`,
  cutia_tap_arap_bin3_hr$Cosseno,
  cutia_tap_arap_bin3_hr$`Polinomial simples`,
  cutia_tap_arap_bin3_hr$`Sem termo`,
  cutia_tap_arap_bin3_unif,
  cutia_tap_arap_bin3_hn$`Sem termo`, 
  nome_modelos_selecionados = fluxo3.3_selecao_funcao_deteccao_termo_ajuste
)

# plotar a probabilidade de detecção observada (barras) e a esperada (linhas e pontos)
plotar_funcao_deteccao_modelos_selecionados(fluxo3.3_modelos_selecionados)
Teste de bondade de ajuste dos modelos e Q-Q plots

Primeira binagem

bondade_ajuste_fluxo3.1 <- testar_bondade_ajuste(fluxo3.1_modelos_selecionados,
  plot = TRUE,
  chisq = TRUE, 
  intervalos_distancia =  seq(
    from = 0,
    to  = 15,
    by = 1.5
  )
)

bondade_ajuste_fluxo3.1

Segunda binagem

bondade_ajuste_fluxo3.2 <- testar_bondade_ajuste(fluxo3.2_modelos_selecionados,
  plot = TRUE,
  chisq = TRUE, 
  intervalos_distancia =  
    c(0, seq(1, 15, 1.4))
  )


bondade_ajuste_fluxo3.2

Terceira binagem

bondade_ajuste_fluxo3.3 <- testar_bondade_ajuste(fluxo3.3_modelos_selecionados,
  plot = TRUE,
  chisq = TRUE, 
  intervalos_distancia =  seq(
    from = 0,
    to  = 15,
    by = 2.5
  )
)

bondade_ajuste_fluxo3.3
Avaliando as estimativas de Abundância e Densidade
Características da área de estudo e da taxa de encontro

Primeira binagem

# gerar resultados sobre a área, número de detecções, e taxa de encontro  
fluxo3.1_caracteristicas_area_estudo_taxa_encontro <- fluxo3.1_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.1_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "area_estudo"
  )

fluxo3.1_caracteristicas_area_estudo_taxa_encontro

Segunda binagem

# gerar resultados sobre a área, número de detecções, e taxa de encontro  
fluxo3.2_caracteristicas_area_estudo_taxa_encontro <- fluxo3.2_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.2_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "area_estudo"
  )

fluxo3.2_caracteristicas_area_estudo_taxa_encontro

Terceira binagem

# gerar resultados sobre a área, número de detecções, e taxa de encontro  
fluxo3.3_caracteristicas_area_estudo_taxa_encontro <- fluxo3.3_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.3_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "area_estudo"
  )

fluxo3.3_caracteristicas_area_estudo_taxa_encontro
Características de abundância, esforço e detecção

Primeira binagem

# gerar resultados sobre a abundância
fluxo3.1_caracteristicas_abundancia <- fluxo3.1_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.1_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "abundancia"
  )

fluxo3.1_caracteristicas_abundancia

Segunda binagem

# gerar resultados sobre a abundância
fluxo3.2_caracteristicas_abundancia <- fluxo3.2_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.2_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "abundancia"
  )

fluxo3.2_caracteristicas_abundancia

Terceira binagem

# gerar resultados sobre a abundância
fluxo3.3_caracteristicas_abundancia <- fluxo3.3_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.3_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "abundancia"
  )

fluxo3.3_caracteristicas_abundancia
Características de densidade

Primeira binagem

# gerar resultados sobre a densidade
fluxo3.1_caracteristicas_densidade <- fluxo3.1_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.1_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "densidade"
  )

fluxo3.1_caracteristicas_densidade

Segunda binagem

# gerar resultados sobre a densidade
fluxo3.2_caracteristicas_densidade <- fluxo3.2_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.2_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "densidade"
  )

fluxo3.2_caracteristicas_densidade

Terceira binagem

# gerar resultados sobre a densidade
fluxo3.3_caracteristicas_densidade <- fluxo3.3_modelos_selecionados |> 
  gerar_resultados_Distance(
    resultado_selecao_modelos = fluxo3.3_selecao_funcao_deteccao_termo_ajuste,
    tipo_de_resultado = "densidade"
  )

fluxo3.3_caracteristicas_densidade