Pular para conteúdo

Modelo de Clutter


Warning

Esta biblioteca está em desenvolvimento, nenhuma das soluções apresentadas está disponível para download.

Use bancos de dados de inventário florestal contínuo para prever o crescimento e a produção da floresta. Utilize o método tradicional do modelo de Clutter. Com este módulo, você poderá estimar o volume e a área basal.


Parâmetros da Classe

ClutterTrainer

ClutterTrainer(df, age1, age2, ba1, ba2, site, vol, iterator=None)
Parâmetros Descrição
df O dataframe contendo os dados processados do inventário florestal contínuo.
age1 Nome da coluna contendo a idade da parcela amostrada anteriormente.
age2 Nome da coluna contendo a idade da parcela amostrada posteriormente.
ba1 Nome da coluna contendo a área basal da parcela amostrada anteriormente.
ba2 Nome da coluna contendo a área basal da parcela amostrada posteriormente.
site Nome da coluna contendo o índice de sítio do povoamento.
vol Nome da coluna contendo o volume da parcela amostrada posteriormente.
iterator (Opcional) Nome de um iterador que será usado para agrupar os dados. Exemplo de um iterador: Material genético, Estrato.
Exemplo de entrada para o modelo de Clutter
Iterador Parcela age1 age2 ba1 ba2 site vol
GM 1 1 2.5 3.5 7.57 8.42 7.83 44.04
GM 1 1 3.5 4.5 8.42 14 8.73 51.42
GM 1 2 2.1 3.1 4.94 5.51 6.98 38.06
GM 1 2 3.1 4.33 5.51 6.45 7.45 39.26
GM 2 1 2 3 7.3 8.25 11.37 74.63
GM 2 1 3 4 8.25 9.13 11.69 68.27
GM 2 1 4 5 9.13 12.79 12.83 72.76
GM 2 1 5 6 12.79 15.63 14 73.87

Funções da Classe

functions and parameters
  ClutterTrainer.fit_model(save_dir=None)#(1)!

  1. save_dir = Diretório onde os coeficientes e parâmetros dos modelos treinados serão salvos.
Parâmetros Descrição
.fit_model() Ajusta os modelos para prever a área basal e o volume.

Modelos de Clutter

  • Predição da área basal
  • \[ \ln G_2 = \ln G_1 \left( \frac{t_1}{t_2} \right) + \alpha_0 \left( 1 - \frac{t_1}{t_2} \right) + \alpha_1 \left( 1 - \frac{t_1}{t_2} \right) S \]

  • Predição do volume
  • \[ \ln V_2 = \beta_0 + \beta_1 \cdot \frac{1}{t_2} + \beta_2 \cdot S + \beta_3 \cdot \ln G_2 \]
    Notação
    • \( G_1 \): Área basal inicial (na idade \( t_1 \)) em m²·ha⁻¹
    • \( G_2 \): Área basal final (na idade \( t_2 \)) em m²·ha⁻¹
    • \( t_1 \): Idade inicial em meses ou anos
    • \( t_2 \): Idade final em meses ou anos
    • \( S \): Índice de sítio, adimensional, \( f(\text{idade índice}, t_i) \)
    • \( \alpha_0, \alpha_1 \): Coeficientes a serem ajustados
    • \( V_2 \): Volume final (na idade \( t_2 \)) em m³·ha⁻¹
    • \( \beta_i \): Coeficientes a serem ajustados

    Parâmetros da Classe

    ClutterPredictor

    ClutterPredictor(coefs_file, age1, site, ba1, iterator=None)
    
    Parâmetros Descrição
    coefs_file Diretório do arquivo json contendo os coeficientes e parâmetros dos modelos ajustados.
    age1 Nome da coluna contendo a idade da parcela amostrada anteriormente.
    ba1 Nome da coluna contendo a área basal da parcela amostrada anteriormente.
    site Nome da coluna contendo o índice de sítio do povoamento.
    iterator (Opcional) Nome de um iterador que será usado para previsões.
    Funções da Classe

    funções e parâmetros
      ClutterTrainer.get_coefs()#(1)!
    
      ClutterTrainer.predict(age2)#(2)!
    
      ClutterTrainer.predict_range(age_range=(2, 10),show_plots=False)#(3)!
    

    1. Retorna os coeficientes carregados do coefs_file.
    2. Retorna a previsão feita para age2.
    3. Retorna a previsão feita para um intervalo de idades especificado em age_range como uma tupla.
      Se show_plots=True, exibe os gráficos das previsões realizadas.

    Example Usage

    clutter_forecast_example.py
    1
    2
    3
    fptools.forecast import ClutterTrainer, ClutterPredictor#(1)!
    
    import pandas as pd#(2)!
    

    1. Importa as classes ClutterTrainer e ClutterPredictor.
    2. Importa o pandas para manipulação de dados.

    clutter_forecast_example.py
    df = pd.read_csv(r'C:\Your\path\clutter_data.csv')#(1)!
    
    c_train = ClutterTrainer(df,"age-column1","age-column2", "basal-area1",
                             "basal-area1","site-column","volume-target",
                             iterator="Genetic Material")#(2)!
    
    c_train_metrics = c_train.fit_model(save_dir = r"C:\Your\path\output")#(3)!
    
    c_predictor = ClutterPredictor(r"C:\Your\path\output\all_coefficients.json",
                                 2.35,9.27,9.13, iterator="type-x")#(4)!
    
    
    ba_vol_predicted = c_predictor.predict(4)#(5)!
    
    coef = predictor.get_coefs()#(6)!
    
    ba_vol_range_predicted = predictor.predict_range((2,12), show_plots=True)#(7)!
    

    1. Carregue seu arquivo CSV.
    2. Crie a variável c_train contendo a classe ClutterTrainer.
    3. Ajuste o modelo de Clutter, salvando os coeficientes e parâmetros na pasta C:\Your\path\output, e salve as métricas do treinamento na variável c_train_metrics.
    4. Crie uma variável contendo o preditor. Esse preditor usará o modelo salvo C:\Your\path\output\all_coefficients.json para aplicar um inventário com idade de 2.35, um índice de sítio de 9.27 e uma área basal de 9.13, a fim de prever a produção futura de volume e área basal.
    5. Faça a previsão para essa plantação quando atingir 4 anos e salve os resultados em ba_vol_predicted.
    6. Obtenha os coeficientes do modelo e salve-os na variável coef.
    7. Faça a previsão para essa plantação de 2 a 12 anos, gerando um gráfico que mostre a evolução da área basal e do volume ao longo desse período, juntamente com o nível de confiança.

    Exemplo de Gráfico de Saída da Previsão

    Referências

    CLUTTER, J. L.; FORTSON, J. C.; PIENAAR, L. V.; BRISTER, G. H.; BAILEY, R. L. (1983). Timber management: a quantitative approach. New York: John Wiley & Sons, 333p.

    ARCE, JULIO EDUARDO; DOBNER JR., MARIO. (2024). Manejo e planejamento de florestas plantadas: com ênfase nos gêneros Pinus e Eucalyptus. Curitiba, PR: Ed. dos Autores, 419p.