首页 > 解决方案 > Negative R2_score 使用 LightGBM 对我的销售预测问题的错误预测

问题描述

我的项目涉及尝试预测特定商品全年的销售量。我使用 LightGBM 包进行预测。我为其设置的参数如下:

params = {
'nthread': 10,
'max_depth': 5, 
'task': 'train',
'boosting_type': 'gbdt',
'objective': 'regression_l1',
'metric': 'mape', 
'num_leaves': 2, 
'learning_rate': 0.2180, 
'feature_fraction': 0.9, 
'bagging_fraction': 0.990, 
'bagging_freq': 1, 
'lambda_l1': 3.097758978478437, 
'lambda_l2': 2.9482537987198496, 
'verbose': 1,
'min_child_weight': 0.001,
'min_split_gain': 0.037310344962162616,
'min_data_in_bin': 1, 
'min_data_in_leaf':2, 
'num_boost_round': 1, 
'max_bin': 7, 
'extra_trees': True, 
'early_stopping_rounds':-1
}

我的数据集包含 2017 年、2018 年、2019 年和 2020 年 3 个月的每日销售数据(列 = 日期、数量)。我一直在尝试使用 2017 年和 2018 年的数据进行培训和交叉验证并尝试测试它适用于 2019 年的数据。然而,在考虑每周、每月、每季度或每年的数量(误差 ~ 40-50%)(我已经调整参数以将误差降低到这个值)时,我对这一年的预测是离谱的。此外,在考虑预测时,我的 r2_score 给了我一个负值 around -2.9148426301633803。关于可以做些什么来使它变得更好的任何建议?

标签: pythontime-seriespredictionlightgbmboosting

解决方案


推荐阅读