This code use some data visualization to analyse the data. And then, try different ways, including linear regression, prophet, xgb, lightgbm and so on.
the two best result is xgboost with some parameters and xgboost combine with lightgbm.
just run the code in order.
python 3.7.3
pandas
numpy
xgboost
sklearn
matplotlib
lightgbm
fbprophet
statsmodels