Using only overstory measurements/removing understory plots from AGB. 2021-05-30
Last iteration of these models: 2021-05-12
RF (ranger) | GBM (LightGBM) | SVM (kernlab) | Ensemble (model weighted) | Ensemble (RMSE weighted) | |
---|---|---|---|---|---|
RMSE | 38.031 | 36.942 | 36.972 | 36.617 | 36.624 |
MBE | 2.594 | 2.684 | -1.681 | 2.087 | 1.196 |
R2 | 0.765 | 0.779 | 0.780 | 0.782 | 0.783 |
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
Across 1000 bootstrap iterations, our ensemble model had a mean RMSE of 36.993 \(\pm\) 0.337.
RMSE | Min | Median | Max |
---|---|---|---|
Rf | 33.746 | 39.697 | 43.525 |
Lgb | 32.495 | 39.252 | 43.268 |
Svm | 34.456 | 40.661 | 44.947 |
Ensemble | 32.649 | 39.258 | 43.391 |
R2 | Min | Median | Max |
---|---|---|---|
rf | 0.690 | 0.747 | 0.791 |
lgb | 0.697 | 0.751 | 0.804 |
svm | 0.681 | 0.740 | 0.782 |
ensemble | 0.699 | 0.755 | 0.798 |
lgb rf svm
0.3363945 0.3294700 0.3341355
Call:
lm(formula = agb_mgha ~ rf_pred * lgb_pred * svm_pred, data = pred_values)
Residuals:
Min 1Q Median 3Q Max
-132.679 -21.086 -0.691 13.965 199.124
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.761e+00 5.508e-01 -5.013 5.38e-07 ***
rf_pred -1.188e-02 7.727e-02 -0.154 0.877824
lgb_pred 1.002e+00 8.608e-02 11.640 < 2e-16 ***
svm_pred 1.741e-01 5.272e-02 3.301 0.000964 ***
rf_pred:lgb_pred -1.609e-03 3.834e-04 -4.197 2.71e-05 ***
rf_pred:svm_pred 2.474e-03 6.317e-04 3.917 8.98e-05 ***
lgb_pred:svm_pred -2.820e-03 6.391e-04 -4.412 1.03e-05 ***
rf_pred:lgb_pred:svm_pred 6.795e-06 1.085e-06 6.260 3.93e-10 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 38.95 on 23492 degrees of freedom
Multiple R-squared: 0.7527, Adjusted R-squared: 0.7526
F-statistic: 1.021e+04 on 7 and 23492 DF, p-value: < 2.2e-16
Random forest:
$num.trees
[1] 1000
$mtry
[1] 30
$min.node.size
[1] 3
$sample.fraction
[1] 0.25
$splitrule
[1] "variance"
$replace
[1] TRUE
$formula
agb_mgha ~ .
LGB:
$learning_rate
[1] 0.05
$nrounds
[1] 100
$num_leaves
[1] 17
$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.6
$min_data_in_bin
[1] 3
$lambda_l1
[1] 2
$lambda_l2
[1] 0.5
$force_col_wise
[1] TRUE
SVM:
$x
agb_mgha ~ .
$kernel
[1] "laplacedot"
$type
[1] "eps-svr"
$kpar
$kpar$sigma
[1] 0.00390625
$C
[1] 8
$epsilon
[1] 0.0001220703
If you see mistakes or want to suggest changes, please create an issue on the source repository.
For attribution, please cite this work as
Mahoney (2021, May 30). CAFRI Labs: 1.1.0: Overstory Only. Retrieved from https://cafri-labs.github.io/acceptable-growing-stock/posts/110-overstory-only/
BibTeX citation
@misc{mahoney20211.1.0:, author = {Mahoney, Mike}, title = {CAFRI Labs: 1.1.0: Overstory Only}, url = {https://cafri-labs.github.io/acceptable-growing-stock/posts/110-overstory-only/}, year = {2021} }