Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

Feature Importance Investigation using Random Forest Model

ARM Logo

Feature Importance Investigation using Random Forest Model

LASSO / WRF / OBS main files:
   /data/project/ARM_Summer_School_2026/data/modeling/lasso/20180709/sgplassodiagconfobsmod8C1.m1/obs_model/sgplassodiagobsmod8C1.m1.20180709.120000.nc
   /data/project/ARM_Summer_School_2026/data/modeling/lasso/20190517/sgplassodiagconfobsmod4C1.m1/obs_model/sgplassodiagobsmod4C1.m1.20190517.120000.nc
   /data/project/ARM_Summer_School_2026/data/modeling/lasso/20190929/sgplassodiagconfobsmod4C1.m1/obs_model/sgplassodiagobsmod4C1.m1.20190929.120000.nc
ERROR 1: PROJ: proj_create_from_database: Open of /opt/conda/share/proj failed

DP-SCREAM files:
   /data/project/ARM_Summer_School_2026/data/modeling/dpscream/scream_dpxx_LASSO_SGP_2018-07-09.fullfield.AVERAGE.nhours_x1.2018-07-09-43200.nc
   /data/project/ARM_Summer_School_2026/data/modeling/dpscream/scream_dpxx_LASSO_SGP_2019-05-17.fullfield.AVERAGE.nhours_x1.2019-05-17-43200.nc
   /data/project/ARM_Summer_School_2026/data/modeling/dpscream/scream_dpxx_LASSO_SGP_2019-09-29.fullfield.AVERAGE.nhours_x1.2019-09-29-43200.nc

======================================================================
DP-SCREAM variable load status:
======================================================================
  dp_low_cf                           OK
  dp_total_cf                         OK
  dp_lwp                              OK
  T_2m                                OK
  qv_2m                               OK
  pbl_height                          OK
  T_bl (from T_mid/T)                 OK
  qv_bl (from qv/qv_mid)              OK
  RH_surface                          MISSING
  RH_BL                               OK
  real_water_fraction                 OK
  max_RH_below_3km                    OK
  surf_sens_flux                      OK
  surf_lat_flux                       OK
  shoc_T_mid_tend                     OK
  p3_T_mid_tend                       OK
  rrtmgp_T_mid_tend                   OK
  shoc_qv_tend                        OK
  p3_qv_tend                          OK
  tke                                 OK
  eddy_diff_mom                       OK
/opt/conda/lib/python3.11/site-packages/dask/array/reductions.py:324: RuntimeWarning: All-NaN slice encountered
  return np.nanmax(x_chunk, axis=axis, keepdims=keepdims)

======================================================================
Built ml_compare_df: 288 rows
======================================================================
model
LASSO        144
DP-SCREAM    144
Name: count, dtype: int64

===============================================================================================
Training ML for: LASSO
===============================================================================================
Target: cf_bias
Rows:   48
Features:
  T2m_bias                 non-NaN = 48 / 48
  qv2m_bias_gkg            non-NaN = 48 / 48
  rh2m_bias                non-NaN = 48 / 48
  T_bl_bias                non-NaN = 48 / 48
  qv_bl_bias_gkg           non-NaN = 47 / 48
  rh_bl_bias               non-NaN = 47 / 48
  lcl_bias                 non-NaN = 48 / 48
  cbh_bias                 non-NaN = 45 / 48

Leave-one-case-out validation:
Loading...

RF feature importance:
Loading...

Permutation importance:
Loading...
<Figure size 1000x400 with 1 Axes>
<Figure size 1000x400 with 1 Axes>
<Figure size 600x500 with 1 Axes>

===============================================================================================
Training ML for: DP-SCREAM
===============================================================================================
Target: cf_bias
Rows:   45
Features:
  T2m_bias                 non-NaN = 45 / 45
  qv2m_bias_gkg            non-NaN = 45 / 45
  T_bl_bias                non-NaN = 44 / 45
  qv_bl_bias_gkg           non-NaN = 43 / 45
  rh_bl_bias               non-NaN = 43 / 45
  pblh                     non-NaN = 45 / 45
  pblh_minus_lcl           non-NaN = 45 / 45
  max_RH_below_3km         non-NaN = 45 / 45
  real_water_fraction      non-NaN = 45 / 45
  sensible_heat_flux       non-NaN = 45 / 45
  latent_heat_flux         non-NaN = 45 / 45
  shoc_T_tend_Kday         non-NaN = 45 / 45
  p3_T_tend_Kday           non-NaN = 45 / 45
  rad_T_tend_Kday          non-NaN = 45 / 45
  shoc_qv_tend_gkgday      non-NaN = 45 / 45
  p3_qv_tend_gkgday        non-NaN = 45 / 45
  tke                      non-NaN = 45 / 45
  eddy_diff_mom            non-NaN = 45 / 45

Leave-one-case-out validation:
Loading...

RF feature importance:
Loading...

Permutation importance:
Loading...
<Figure size 1000x720 with 1 Axes>
<Figure size 1000x720 with 1 Axes>
<Figure size 600x500 with 1 Axes>
<Figure size 1400x600 with 2 Axes>

Shared-feature comparison:
Loading...

======================================================================
Output files saved in: /user-data-home/model_meets_reality_BODS26/cloud_model_eval_outputs
======================================================================
  02_lwp_and_cf_lwp_scatter.png
  03_surface_fluxes.png
  04_qc_and_cf_profiles_peak.png
  05_pblh_cbh_lcl.png
  06_process_tendencies.png
  07_tke_eddydiff.png
  08_cloud_radiative_effect.png
  09_metrics_heatmap.png
  10_taylor.png
  11_cloud_onset_dissipation_bias.png
  12_pblh_minus_lcl_with_cf.png
  13_diagnostic_cf_vs_real_water_fraction.png
  14_qc_vs_qr_occurrence.png
  15_dp_cloud_base_top_depth.png
  16_pblh_vs_lwp_binned.png
  17_bl_T_qv_colored_by_CF.png
  18_rh_profile_peak_cf.png
  19_bl_mean_process_tendencies.png
  bl_qv_obs_wrf_dp.png
  bl_temperature_obs_wrf_dp.png
  cloud_base_height_and_lcl_obs_wrf.png
  cloud_base_height_obs_vs_wrf.png
  cloud_fraction_tsi_obs_vs_wrf.png
  cloud_onset_dissipation_bias.csv
  dp_cloud_base_top_depth.csv
  lcl_obs_vs_wrf.png
  low_cloud_fraction_arscl_obs_vs_wrf.png
  low_cloud_fraction_obs_wrf_dp.png
  lwp_obs_vs_wrf.png
  lwp_obs_wrf_dp.png
  metrics_all.csv
  ml_01_bias_category_timeline.png
  ml_02_case_bias_summary.png
  ml_03_rf_feature_importance_cf_bias.png
  ml_04_rf_predicted_vs_actual_cf_bias.png
  ml_05_permutation_importance_cf_bias.png
  ml_06_bias_category_confusion_matrix.png
  ml_07_rf_feature_importance_bias_category.png
  ml_08_cloud_regime_clusters_pca.png
  ml_09_cloud_regime_cluster_timeline.png
  ml_10_cluster_physical_fingerprints.png
  ml_DP-SCREAM_common_feature_importance.csv
  ml_LASSO_common_feature_importance.csv
  ml_ambient_only_feature_importance.csv
  ml_ambient_only_feature_importance_long_names.png
  ml_ambient_only_leave_one_case_out.csv
  ml_ambient_only_permutation_importance.csv
  ml_ambient_only_permutation_importance_long_names.png
  ml_ambient_only_predicted_vs_actual.png
  ml_bias_factor_only_feature_importance.csv
  ml_bias_factor_only_feature_importance.png
  ml_bias_factor_only_leave_one_case_out.csv
  ml_bias_factor_only_permutation_importance.csv
  ml_bias_factor_only_permutation_importance.png
  ml_bias_factor_only_predicted_vs_actual.png
  ml_bias_factor_scatter_T2m_bias_vs_cf_bias.png
  ml_bias_factor_scatter_T_bl_bias_vs_cf_bias.png
  ml_bias_factor_scatter_qv2m_bias_gkg_vs_cf_bias.png
  ml_bias_factor_scatter_qv_bl_bias_gkg_vs_cf_bias.png
  ml_case_bias_summary.csv
  ml_cloud_bias_table.csv
  ml_cluster_counts_by_bias_category.csv
  ml_cluster_counts_by_case.csv
  ml_cluster_physical_summary.csv
  ml_common_rf_feature_importance.csv
  ml_common_rf_leave_one_case_out.csv
  ml_compare_01_model_bias_summary.png
  ml_compare_02_bias_category_counts.png
  ml_compare_03_cf_bias_timeline.png
  ml_compare_04_common_feature_importance.png
  ml_compare_04_common_feature_importance_long_names.png
  ml_compare_05_common_rf_predicted_vs_actual.png
  ml_compare_06_DPSCREAM_common_importance.png
  ml_compare_06_LASSO_common_importance.png
  ml_compare_07_dp_full_feature_importance.png
  ml_compare_08_dp_full_permutation_importance.png
  ml_compare_09_bias_category_confusion_matrix.png
  ml_compare_10_bias_category_feature_importance.png
  ml_compare_11_joint_clusters_pca.png
  ml_compare_12_joint_cluster_timeline.png
  ml_compare_shared_features.csv
  ml_compare_wrf_lasso_vs_dp_scream.png
  ml_compare_wrf_lasso_vs_dp_scream_allvars_permutation.csv
  ml_compare_wrf_lasso_vs_dp_scream_allvars_permutation.png
  ml_compare_wrf_lasso_vs_dp_scream_permutation.csv
  ml_compare_wrf_lasso_vs_dp_scream_permutation.png
  ml_dp_full_permutation_importance.csv
  ml_dp_full_rf_feature_importance.csv
  ml_dp_full_rf_leave_one_case_out.csv
  ml_dp_scream_allvars_cv_scores.csv
  ml_dp_scream_allvars_permutation_importance.csv
  ml_dp_scream_allvars_permutation_importance.png
  ml_dp_scream_allvars_predicted_vs_actual.png
  ml_dp_scream_allvars_rf_feature_importance.csv
  ml_dp_scream_allvars_rf_feature_importance.png
  ml_dp_scream_cloud_bias_cv_scores.csv
  ml_dp_scream_cloud_bias_permutation_importance.csv
  ml_dp_scream_cloud_bias_permutation_importance.png
  ml_dp_scream_cloud_bias_predicted_vs_actual.png
  ml_dp_scream_cloud_bias_rf_feature_importance.csv
  ml_dp_scream_cloud_bias_rf_feature_importance.png
  ml_dp_scream_cv_scores.csv
  ml_dp_scream_permutation_importance.csv
  ml_dp_scream_permutation_importance.png
  ml_dp_scream_predicted_vs_actual.png
  ml_dp_scream_rf_feature_importance.csv
  ml_dp_scream_rf_feature_importance.png
  ml_joint_cluster_by_bias_category.csv
  ml_joint_cluster_by_case.csv
  ml_joint_cluster_by_model.csv
  ml_joint_cluster_summary.csv
  ml_model_bias_summary.csv
  ml_model_comparison_bias_table.csv
  ml_next_bias_pathway_summary.png
  ml_next_non_circular_feature_importance.png
  ml_next_scatter_T2m_bias_vs_cf_bias.png
  ml_next_scatter_model_qv2m_gkg_vs_cf_bias.png
  ml_next_scatter_model_qv_bl_gkg_vs_cf_bias.png
  ml_next_scatter_qv_bl_bias_gkg_vs_cf_bias.png
  ml_permutation_importance_cf_bias.csv
  ml_rf_classifier_feature_importance.csv
  ml_rf_regression_feature_importance.csv
  ml_rf_regression_leave_one_case_out.csv
  ml_separate_DPSCREAM_cv_scores.csv
  ml_separate_DPSCREAM_feature_importance.csv
  ml_separate_DPSCREAM_feature_importance.png
  ml_separate_DPSCREAM_permutation_importance.csv
  ml_separate_DPSCREAM_permutation_importance.png
  ml_separate_DPSCREAM_predicted_vs_actual.png
  ml_separate_LASSO_cv_scores.csv
  ml_separate_LASSO_feature_importance.csv
  ml_separate_LASSO_feature_importance.png
  ml_separate_LASSO_permutation_importance.csv
  ml_separate_LASSO_permutation_importance.png
  ml_separate_LASSO_predicted_vs_actual.png
  ml_test_set_average_summary.csv
  ml_wrf_lasso_allvars_cv_scores.csv
  ml_wrf_lasso_allvars_permutation_importance.csv
  ml_wrf_lasso_allvars_permutation_importance.png
  ml_wrf_lasso_allvars_predicted_vs_actual.png
  ml_wrf_lasso_allvars_rf_feature_importance.csv
  ml_wrf_lasso_allvars_rf_feature_importance.png
  ml_wrf_lasso_cloud_bias_cv_scores.csv
  ml_wrf_lasso_cloud_bias_permutation_importance.csv
  ml_wrf_lasso_cloud_bias_permutation_importance.png
  ml_wrf_lasso_cloud_bias_predicted_vs_actual.png
  ml_wrf_lasso_cloud_bias_rf_feature_importance.csv
  ml_wrf_lasso_cloud_bias_rf_feature_importance.png
  ml_wrf_lasso_cv_scores.csv
  ml_wrf_lasso_permutation_importance.csv
  ml_wrf_lasso_permutation_importance.png
  ml_wrf_lasso_predicted_vs_actual.png
  ml_wrf_lasso_rf_feature_importance.csv
  ml_wrf_lasso_rf_feature_importance.png
  surface_qv_obs_wrf_dp.png
  surface_temperature_obs_wrf_dp.png
  temperature_boundary_layer_obs_vs_wrf.png
  temperature_surface_obs_vs_wrf.png
  total_cloud_fraction_tsi_obs_wrf_dp.png
  water_vapor_mixing_ratio_boundary_layer_obs_vs_wrf.png
  water_vapor_mixing_ratio_surface_obs_vs_wrf.png
  wrf_cloud_fraction_curtain.png
  wrf_cloud_onset_metrics.csv
  wrf_vs_obs_bias_model_minus_obs_summary.png
  wrf_vs_obs_correlation_summary.png
  wrf_vs_obs_metrics.csv
  wrf_vs_obs_rmse_summary.png