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

  • Previsão da área basal
  • \[ \operatorname{lnb_2}^{\text{est}} =b_0 + b_1 \cdot x_1 + b_2 \cdot x_2 + b_3 \cdot x_3 + b_4 \cdot \frac{1}{I_2} + b_5 \cdot S \]

  • Previsão do volume
  • \[ \operatorname{lnv_2} = b_0 + b_1 \cdot \frac{1}{I_2} + b_2 \cdot S + b_3 \cdot \operatorname{lnb_2}^{\text{est} } \]
    Notação
    • \( β_n \): Parâmetros ajustados
    • \( I \): Idade
    • \[\operatorname{x_1} = \ln(β_1) \cdot \frac{\operatorname{I_1}}{\operatorname{I}_2}\]
    • \[\operatorname{x_2} = 1 - \frac{\operatorname{I}_1}{\operatorname{I}_2}\]
    • \[\operatorname{x_3} = \left( 1 - \frac{\operatorname{I}_1}{\operatorname{I}_2} \right) \cdot \operatorname{S}\]
    • \( S \): Índice de sítio da floresta

    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, 333 p.