数据集解析:
数据集展示如下:
要求是预测15年10月的选定商店中商品的销量;
1.注意预测的输入是(shop_id, item_id) , 我之前直接用item_id去预测, 走了弯路;
2.只预测一个月,实现相对简单;
参考的方法
-
LSTM
参考:https://www.kaggle.com/code/karanjakhar/simple-and-easy-aprroach-using-lstm
训练集:使用0-32个月的test中(shop_id, item_id) 对应的销量, 作为train_X
使用第33个月的test中(shop_id, item_id) 对应的销量, 作为train_Y
测试集:使用1-33个月的test中(shop_id, item_id) 对应的销量, 作为test_X
预测第34个月的销量; -
xgboost
参考链接: https://www.kaggle.com/code/szhou42/predict-future-sales-top-11-solution
实测效果最佳;
-
ARIMA
参考:https://www.kaggle.com/code/mesofianeyou/time-series-analysis-sarima-model
整体思路:
统计所有商品总销量(13年-15年),使用ARIMA模型来预测后续15年10月-16年3月的销量; 由于我们要求预测的是选定商店中商品的销量, 所以将15年10月商品总销量平均下来得到结果;
评价:模型拟合总销量的效果很好, 但是预测选定商店中商品的销量使用了平均, 思路不够直接, 最终的效果也不太好;
我在原来的代码上新增了cross_validation, 以及ACF, PACF的使用说明, 参考:(待上传) -
Autogluon
想尝试一下用这个神器的, 但得修改数据为long format;