One-year-ahead predictive performance compared across all stocks using four models:
Notably, the neural models were usually the worst performing model. The only exception were the Sablefish and Vermilion & Sunset Rockfish (Southern CA) models, where the neural network was the only model that had any predictive skill.
Models for the following stocks had some predictive skill (RMSE < RMSE of the null model) - models that outperformed the null model are listed after the stock:
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.2963724 | null |
| rsq | standard | 0.0077847 | null |
| rmse | standard | 0.4050867 | lm(Value ~ ssh_PC1) |
| rsq | standard | 0.1412242 | lm(Value ~ ssh_PC1) |
| rmse | standard | 0.4050867 | gam(Value ~ ssh_PC1) |
| rsq | standard | 0.1412242 | gam(Value ~ ssh_PC1) |
| rmse | standard | 0.3107733 | random forest |
| rsq | standard | 0.1220411 | random forest |
| rmse | standard | 19.3888487 | nn(Value ~ bbv_PC4 + ild_PC1 + ild_PC2) |
| rsq | standard | 0.0812707 | nn(Value ~ bbv_PC4 + ild_PC1 + ild_PC2) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ssh_PC1) | 1.37 |
| gam(Value ~ ssh_PC1) | 1.37 |
| random forest | 1.05 |
| nn(Value ~ bbv_PC4 + ild_PC1 + ild_PC2) | 65.42 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.4155415 | null |
| rsq | standard | 0.0082954 | null |
| rmse | standard | 0.4569453 | lm(Value ~ bbv_PC3) |
| rsq | standard | 0.3895526 | lm(Value ~ bbv_PC3) |
| rmse | standard | 0.4458777 | gam(Value ~ bbv_PC3) |
| rsq | standard | 0.1971388 | gam(Value ~ bbv_PC3) |
| rmse | standard | 0.4181146 | random forest |
| rsq | standard | 0.0708997 | random forest |
| rmse | standard | 0.8547570 | nn(Value ~ ssh_PC2 + sst_PC1 + sst_PC2) |
| rsq | standard | 0.0236019 | nn(Value ~ ssh_PC2 + sst_PC1 + sst_PC2) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ bbv_PC3) | 1.10 |
| gam(Value ~ bbv_PC3) | 1.07 |
| random forest | 1.01 |
| nn(Value ~ ssh_PC2 + sst_PC1 + sst_PC2) | 2.06 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.5632123 | null |
| rsq | standard | 0.4316920 | null |
| rmse | standard | 0.5323956 | lm(Value ~ ssh_PC1) |
| rsq | standard | 0.0377900 | lm(Value ~ ssh_PC1) |
| rmse | standard | 0.5323956 | gam(Value ~ ssh_PC1) |
| rsq | standard | 0.0377900 | gam(Value ~ ssh_PC1) |
| rmse | standard | 0.4907266 | random forest |
| rsq | standard | 0.3319038 | random forest |
| rmse | standard | 1.8961576 | nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) |
| rsq | standard | 0.0678639 | nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ssh_PC1) | 0.95 |
| gam(Value ~ ssh_PC1) | 0.95 |
| random forest | 0.87 |
| nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) | 3.37 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.4396591 | null |
| rsq | standard | 0.3216705 | null |
| rmse | standard | 0.3704799 | lm(Value ~ ild_PC1) |
| rsq | standard | 0.4492561 | lm(Value ~ ild_PC1) |
| rmse | standard | 0.3704799 | gam(Value ~ ild_PC1) |
| rsq | standard | 0.4492561 | gam(Value ~ ild_PC1) |
| rmse | standard | 0.4061710 | random forest |
| rsq | standard | 0.1483888 | random forest |
| rmse | standard | 0.4597364 | nn(Value ~ bbv_PC3 + bbv_PC4 + ild_PC1) |
| rsq | standard | 0.0476205 | nn(Value ~ bbv_PC3 + bbv_PC4 + ild_PC1) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ild_PC1) | 0.84 |
| gam(Value ~ ild_PC1) | 0.84 |
| random forest | 0.92 |
| nn(Value ~ bbv_PC3 + bbv_PC4 + ild_PC1) | 1.05 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.5849578 | null |
| rsq | standard | 0.0000053 | null |
| rmse | standard | 0.8953659 | lm(Value ~ ild_PC1) |
| rsq | standard | 0.2563002 | lm(Value ~ ild_PC1) |
| rmse | standard | 0.8953659 | gam(Value ~ ild_PC1) |
| rsq | standard | 0.2563002 | gam(Value ~ ild_PC1) |
| rmse | standard | 0.7131607 | random forest |
| rsq | standard | 0.0130052 | random forest |
| rmse | standard | 1.7180547 | nn(Value ~ sst_PC3 + BEUTI_north + BEUTI_central) |
| rsq | standard | 0.1805439 | nn(Value ~ sst_PC3 + BEUTI_north + BEUTI_central) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ild_PC1) | 1.53 |
| gam(Value ~ ild_PC1) | 1.53 |
| random forest | 1.22 |
| nn(Value ~ sst_PC3 + BEUTI_north + BEUTI_central) | 2.94 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.4249447 | null |
| rsq | standard | 0.0524008 | null |
| rmse | standard | 0.5989102 | lm(Value ~ sst_PC2) |
| rsq | standard | 0.0057120 | lm(Value ~ sst_PC2) |
| rmse | standard | 0.5989102 | gam(Value ~ sst_PC2) |
| rsq | standard | 0.0057120 | gam(Value ~ sst_PC2) |
| rmse | standard | 0.3965304 | random forest |
| rsq | standard | 0.2068388 | random forest |
| rmse | standard | 0.5159152 | nn(Value ~ sst_PC2 + sst_PC3 + BEUTI_north) |
| rsq | standard | 0.0978254 | nn(Value ~ sst_PC2 + sst_PC3 + BEUTI_north) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ sst_PC2) | 1.41 |
| gam(Value ~ sst_PC2) | 1.41 |
| random forest | 0.93 |
| nn(Value ~ sst_PC2 + sst_PC3 + BEUTI_north) | 1.21 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.8606991 | null |
| rsq | standard | 0.0259818 | null |
| rmse | standard | 0.9409738 | lm(Value ~ ild_PC3) |
| rsq | standard | 0.3446497 | lm(Value ~ ild_PC3) |
| rmse | standard | 0.6992744 | gam(Value ~ sst_PC1) |
| rsq | standard | 0.4049054 | gam(Value ~ sst_PC1) |
| rmse | standard | 0.8279231 | random forest |
| rsq | standard | 0.0813633 | random forest |
| rmse | standard | 0.8665475 | nn(Value ~ ild_PC3 + ssh_PC1 + ssh_PC2) |
| rsq | standard | 0.0204523 | nn(Value ~ ild_PC3 + ssh_PC1 + ssh_PC2) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ild_PC3) | 1.09 |
| gam(Value ~ sst_PC1) | 0.81 |
| random forest | 0.96 |
| nn(Value ~ ild_PC3 + ssh_PC1 + ssh_PC2) | 1.01 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.2340163 | null |
| rsq | standard | 0.5066686 | null |
| rmse | standard | 0.3730846 | lm(Value ~ bbv_PC3) |
| rsq | standard | 0.3696460 | lm(Value ~ bbv_PC3) |
| rmse | standard | 0.3730846 | gam(Value ~ bbv_PC3) |
| rsq | standard | 0.3696460 | gam(Value ~ bbv_PC3) |
| rmse | standard | 0.2659267 | random forest |
| rsq | standard | 0.0734184 | random forest |
| rmse | standard | 0.5041769 | nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) |
| rsq | standard | 0.2578559 | nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ bbv_PC3) | 1.59 |
| gam(Value ~ bbv_PC3) | 1.59 |
| random forest | 1.14 |
| nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) | 2.15 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.3178165 | null |
| rsq | standard | 0.4863985 | null |
| rmse | standard | 0.3498066 | lm(Value ~ ssh_PC1) |
| rsq | standard | 0.0249049 | lm(Value ~ ssh_PC1) |
| rmse | standard | 0.3382998 | gam(Value ~ bbv_PC1) |
| rsq | standard | 0.0471773 | gam(Value ~ bbv_PC1) |
| rmse | standard | 0.2920523 | random forest |
| rsq | standard | 0.1237847 | random forest |
| rmse | standard | 0.6158732 | nn(Value ~ sst_PC3 + BEUTI_north + BEUTI_central) |
| rsq | standard | 0.0503444 | nn(Value ~ sst_PC3 + BEUTI_north + BEUTI_central) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ssh_PC1) | 1.10 |
| gam(Value ~ bbv_PC1) | 1.06 |
| random forest | 0.92 |
| nn(Value ~ sst_PC3 + BEUTI_north + BEUTI_central) | 1.94 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.5879613 | null |
| rsq | standard | 0.4638957 | null |
| rmse | standard | 0.5119190 | lm(Value ~ sst_PC1) |
| rsq | standard | 0.4716357 | lm(Value ~ sst_PC1) |
| rmse | standard | 0.6659406 | gam(Value ~ bbv_PC4) |
| rsq | standard | 0.2300992 | gam(Value ~ bbv_PC4) |
| rmse | standard | 0.5901226 | random forest |
| rsq | standard | 0.1749068 | random forest |
| rmse | standard | 0.7358934 | nn(Value ~ ild_PC3 + ssh_PC1 + ssh_PC2) |
| rsq | standard | 0.0746253 | nn(Value ~ ild_PC3 + ssh_PC1 + ssh_PC2) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ sst_PC1) | 0.87 |
| gam(Value ~ bbv_PC4) | 1.13 |
| random forest | 1.00 |
| nn(Value ~ ild_PC3 + ssh_PC1 + ssh_PC2) | 1.25 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.4197529 | null |
| rsq | standard | 0.1976446 | null |
| rmse | standard | 0.2862455 | lm(Value ~ ild_PC1) |
| rsq | standard | 0.1405069 | lm(Value ~ ild_PC1) |
| rmse | standard | 0.2862455 | gam(Value ~ ild_PC1) |
| rsq | standard | 0.1405069 | gam(Value ~ ild_PC1) |
| rmse | standard | 0.4377520 | random forest |
| rsq | standard | 0.0548927 | random forest |
| rmse | standard | 0.5228531 | nn(Value ~ ssh_PC1 + ssh_PC2 + sst_PC1) |
| rsq | standard | 0.0030611 | nn(Value ~ ssh_PC1 + ssh_PC2 + sst_PC1) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ild_PC1) | 0.68 |
| gam(Value ~ ild_PC1) | 0.68 |
| random forest | 1.04 |
| nn(Value ~ ssh_PC1 + ssh_PC2 + sst_PC1) | 1.25 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.9100176 | null |
| rsq | standard | 0.0545297 | null |
| rmse | standard | 0.9881791 | lm(Value ~ sst_PC1) |
| rsq | standard | 0.1302175 | lm(Value ~ sst_PC1) |
| rmse | standard | 1.0153269 | gam(Value ~ sst_PC1) |
| rsq | standard | 0.1378844 | gam(Value ~ sst_PC1) |
| rmse | standard | 0.9765129 | random forest |
| rsq | standard | 0.2311614 | random forest |
| rmse | standard | 1.0420489 | nn(Value ~ sst_PC1 + sst_PC2 + sst_PC3) |
| rsq | standard | 0.0020277 | nn(Value ~ sst_PC1 + sst_PC2 + sst_PC3) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ sst_PC1) | 1.09 |
| gam(Value ~ sst_PC1) | 1.12 |
| random forest | 1.07 |
| nn(Value ~ sst_PC1 + sst_PC2 + sst_PC3) | 1.15 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.3069456 | null |
| rsq | standard | 0.5842918 | null |
| rmse | standard | 0.3454670 | lm(Value ~ ild_PC3) |
| rsq | standard | 0.0044072 | lm(Value ~ ild_PC3) |
| rmse | standard | 0.3454670 | gam(Value ~ ild_PC3) |
| rsq | standard | 0.0044072 | gam(Value ~ ild_PC3) |
| rmse | standard | 0.3307738 | random forest |
| rsq | standard | 0.0895737 | random forest |
| rmse | standard | 0.6712678 | nn(Value ~ bbv_PC4 + ild_PC1 + ild_PC2) |
| rsq | standard | 0.0628302 | nn(Value ~ bbv_PC4 + ild_PC1 + ild_PC2) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ild_PC3) | 1.13 |
| gam(Value ~ ild_PC3) | 1.13 |
| random forest | 1.08 |
| nn(Value ~ bbv_PC4 + ild_PC1 + ild_PC2) | 2.19 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.3406084 | null |
| rsq | standard | 0.2922057 | null |
| rmse | standard | 0.3291691 | lm(Value ~ sst_PC1) |
| rsq | standard | 0.0421113 | lm(Value ~ sst_PC1) |
| rmse | standard | 0.3291691 | gam(Value ~ sst_PC1) |
| rsq | standard | 0.0421113 | gam(Value ~ sst_PC1) |
| rmse | standard | 0.3443538 | random forest |
| rsq | standard | 0.0426693 | random forest |
| rmse | standard | 0.4594297 | nn(Value ~ ssh_PC1 + ssh_PC2 + sst_PC1) |
| rsq | standard | 0.0196872 | nn(Value ~ ssh_PC1 + ssh_PC2 + sst_PC1) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ sst_PC1) | 0.97 |
| gam(Value ~ sst_PC1) | 0.97 |
| random forest | 1.01 |
| nn(Value ~ ssh_PC1 + ssh_PC2 + sst_PC1) | 1.35 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 1.6667803 | null |
| rsq | standard | 0.0330983 | null |
| rmse | standard | 1.8494220 | lm(Value ~ sst_PC1) |
| rsq | standard | 0.0148804 | lm(Value ~ sst_PC1) |
| rmse | standard | 1.8494220 | gam(Value ~ sst_PC1) |
| rsq | standard | 0.0148804 | gam(Value ~ sst_PC1) |
| rmse | standard | 2.1146448 | random forest |
| rsq | standard | 0.0687706 | random forest |
| rmse | standard | 1.2966860 | nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) |
| rsq | standard | NA | nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ sst_PC1) | 1.11 |
| gam(Value ~ sst_PC1) | 1.11 |
| random forest | 1.27 |
| nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) | 0.78 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.4855121 | null |
| rsq | standard | 0.1231018 | null |
| rmse | standard | 0.6215740 | lm(Value ~ bbv_PC4) |
| rsq | standard | 0.0396804 | lm(Value ~ bbv_PC4) |
| rmse | standard | 0.6215740 | gam(Value ~ bbv_PC4) |
| rsq | standard | 0.0396804 | gam(Value ~ bbv_PC4) |
| rmse | standard | 0.5242158 | random forest |
| rsq | standard | 0.0013270 | random forest |
| rmse | standard | 0.3231994 | nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) |
| rsq | standard | 0.4412999 | nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ bbv_PC4) | 1.28 |
| gam(Value ~ bbv_PC4) | 1.28 |
| random forest | 1.08 |
| nn(Value ~ bbv_PC1 + bbv_PC2 + bbv_PC3) | 0.67 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.6176485 | null |
| rsq | standard | 0.5043966 | null |
| rmse | standard | 0.6046721 | lm(Value ~ sst_PC3) |
| rsq | standard | 0.1372047 | lm(Value ~ sst_PC3) |
| rmse | standard | 0.5213604 | gam(Value ~ ssh_PC2) |
| rsq | standard | 0.2996705 | gam(Value ~ ssh_PC2) |
| rmse | standard | 0.5828335 | random forest |
| rsq | standard | 0.0936313 | random forest |
| rmse | standard | 1.0592089 | nn(Value ~ ssh_PC2 + sst_PC1 + sst_PC2) |
| rsq | standard | 0.0039023 | nn(Value ~ ssh_PC2 + sst_PC1 + sst_PC2) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ sst_PC3) | 0.98 |
| gam(Value ~ ssh_PC2) | 0.84 |
| random forest | 0.94 |
| nn(Value ~ ssh_PC2 + sst_PC1 + sst_PC2) | 1.71 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.7442747 | null |
| rsq | standard | 0.1698825 | null |
| rmse | standard | 0.9399516 | lm(Value ~ BEUTI_north) |
| rsq | standard | 0.0119463 | lm(Value ~ BEUTI_north) |
| rmse | standard | 0.8601301 | gam(Value ~ bbv_PC2) |
| rsq | standard | 0.0004388 | gam(Value ~ bbv_PC2) |
| rmse | standard | 0.5176158 | random forest |
| rsq | standard | 0.7188034 | random forest |
| rmse | standard | 0.9937416 | nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) |
| rsq | standard | 0.2453851 | nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ BEUTI_north) | 1.26 |
| gam(Value ~ bbv_PC2) | 1.16 |
| random forest | 0.70 |
| nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) | 1.34 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.2765086 | null |
| rsq | standard | 0.0757938 | null |
| rmse | standard | 0.2967041 | lm(Value ~ bbv_PC2) |
| rsq | standard | 0.1878428 | lm(Value ~ bbv_PC2) |
| rmse | standard | 0.2853399 | gam(Value ~ bbv_PC4) |
| rsq | standard | 0.0908816 | gam(Value ~ bbv_PC4) |
| rmse | standard | 0.3399405 | random forest |
| rsq | standard | 0.0543547 | random forest |
| rmse | standard | 2.0768720 | nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) |
| rsq | standard | 0.0072048 | nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ bbv_PC2) | 1.07 |
| gam(Value ~ bbv_PC4) | 1.03 |
| random forest | 1.23 |
| nn(Value ~ bbv_PC2 + bbv_PC3 + bbv_PC4) | 7.51 |
| .metric | .estimator | .estimate | model |
|---|---|---|---|
| rmse | standard | 0.3763850 | null |
| rsq | standard | 0.0174264 | null |
| rmse | standard | 0.5121424 | lm(Value ~ ild_PC3) |
| rsq | standard | 0.1925556 | lm(Value ~ ild_PC3) |
| rmse | standard | 0.5121424 | gam(Value ~ ild_PC3) |
| rsq | standard | 0.1925556 | gam(Value ~ ild_PC3) |
| rmse | standard | 0.4296216 | random forest |
| rsq | standard | 0.0617128 | random forest |
| rmse | standard | 0.4909243 | nn(Value ~ bbv_PC3 + bbv_PC4 + ild_PC1) |
| rsq | standard | 0.0785534 | nn(Value ~ bbv_PC3 + bbv_PC4 + ild_PC1) |
| model | performance_v_null |
|---|---|
| null | 1.00 |
| lm(Value ~ ild_PC3) | 1.36 |
| gam(Value ~ ild_PC3) | 1.36 |
| random forest | 1.14 |
| nn(Value ~ bbv_PC3 + bbv_PC4 + ild_PC1) | 1.30 |