1.2.0: This time it’s LCMAP

Lidar-based models using LCMAP primary and secondary classes as predictors. 2021-08-05

Mike Mahoney true
2021-08-05

Evaluation Results

Last iteration of these models: 2021-05-30

Change Summary

RF (ranger) GBM (LightGBM) SVM (kernlab) Ensemble (model weighted) Ensemble (RMSE weighted)
RMSE 37.591 37.232 36.854 36.723 36.499
MBE 1.894 1.843 -0.726 1.821 1.015
R2 0.771 0.775 0.780 0.780 0.785

AGB Distribution

summary(bind_rows(training, testing)$agb_mgha)
   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
  0.000   9.107  85.393  91.573 149.091 425.000 

Bootstrapping Results

Across 1000 bootstrap iterations, our ensemble model had a mean RMSE of 36.693 \(\pm\) 0.327.

RMSE Distribution

Plot Errors

Validation Results

RMSE Min Median Max
Rf 34.695 40.522 45.031
Lgb 35.272 40.364 44.787
Svm 34.435 40.756 64.763
Ensemble 34.394 40.005 45.806
R2 Min Median Max
rf 0.681 0.739 0.797
lgb 0.681 0.742 0.790
svm 0.408 0.734 0.796
ensemble 0.688 0.746 0.793

Metadata

Ensembles

      lgb        rf       svm 
0.3370106 0.3342122 0.3287773 

Call:
lm(formula = agb_mgha ~ rf_pred * lgb_pred * svm_pred, data = pred_values)

Residuals:
     Min       1Q   Median       3Q      Max 
-126.487  -22.287   -0.039   14.119  219.826 

Coefficients:
                            Estimate Std. Error t value Pr(>|t|)    
(Intercept)               -2.605e+00  5.866e-01  -4.440 9.04e-06 ***
rf_pred                    7.367e-01  6.368e-02  11.568  < 2e-16 ***
lgb_pred                   2.591e-01  7.381e-02   3.510 0.000448 ***
svm_pred                   6.707e-02  4.079e-02   1.644 0.100180    
rf_pred:lgb_pred          -1.172e-03  3.183e-04  -3.683 0.000231 ***
rf_pred:svm_pred          -1.590e-03  5.023e-04  -3.166 0.001549 ** 
lgb_pred:svm_pred          2.153e-03  5.963e-04   3.610 0.000306 ***
rf_pred:lgb_pred:svm_pred  2.471e-06  1.416e-06   1.745 0.080921 .  
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 39.66 on 23492 degrees of freedom
Multiple R-squared:  0.7436,    Adjusted R-squared:  0.7435 
F-statistic:  9731 on 7 and 23492 DF,  p-value: < 2.2e-16

Coverages

\(n\) and \(p\)

Component Models

Random forest:

$num.trees
[1] 500

$mtry
[1] 33

$min.node.size
[1] 9

$sample.fraction
[1] 0.25

$splitrule
[1] "maxstat"

$replace
[1] TRUE

$formula
agb_mgha ~ .

LGB:

$learning_rate
[1] 0.1

$nrounds
[1] 50

$num_leaves
[1] 24

$max_depth
[1] -1

$extra_trees
[1] TRUE

$min_data_in_leaf
[1] 10

$bagging_fraction
[1] 0.6

$bagging_freq
[1] 1

$feature_fraction
[1] 0.9

$min_data_in_bin
[1] 3

$lambda_l1
[1] 10

$lambda_l2
[1] 3

$force_col_wise
[1] TRUE

SVM:

$x
agb_mgha ~ .

$kernel
[1] "laplacedot"

$type
[1] "eps-svr"

$kpar
$kpar$sigma
[1] 0.001953125


$C
[1] 21

$epsilon
[1] 0.125

Corrections

If you see mistakes or want to suggest changes, please create an issue on the source repository.

Citation

For attribution, please cite this work as

Mahoney (2021, Aug. 5). CAFRI Labs: 1.2.0: This time it's LCMAP. Retrieved from https://cafri-labs.github.io/acceptable-growing-stock/posts/120-this-time-its-lcmap/

BibTeX citation

@misc{mahoney20211.2.0:,
  author = {Mahoney, Mike},
  title = {CAFRI Labs: 1.2.0: This time it's LCMAP},
  url = {https://cafri-labs.github.io/acceptable-growing-stock/posts/120-this-time-its-lcmap/},
  year = {2021}
}