Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据(python如何获取)

2023-03-01 22:13:18

 

原标题:Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据全文下载链接:http://tecdat.cn/?p=17748最近我们被客户要求撰写关于销售量时间序列建模预测的研究报告,包括一些图形和统计输出。

在本文中,在数据科学学习之旅中,我经常处理日常工作中的时间序列数据集,并据此做出预测 LSTM神经网络架构和原理及其在Python中的预测应用我将通过以下步骤:探索性数据分析(EDA)问题定义(我们要解决什么)。

变量识别(我们拥有什么数据)单变量分析(了解数据集中的每个字段)多元分析(了解不同领域和目标之间的相互作用)缺失值处理离群值处理变量转换预测建模LSTMXGBoost问题定义我们在两个不同的表中提供了商店的以下信息:

商店:每个商店的ID销售:特定日期的营业额(我们的目标变量)客户:特定日期的客户数量StateHoliday:假日SchoolHoliday:学校假期StoreType:4个不同的商店:a,b,c,dCompetitionDistance:到最近的竞争对手商店的距离(以米为单位)

CompetitionOpenSince [月/年]:提供最近的竞争对手开放的大致年份和月份促销:当天促销与否Promo2:Promo2是某些商店的连续和连续促销:0 =商店不参与,1 =商店正在参与PromoInterval:描述促销启动的连续区间,并指定重新开始促销的月份。

利用所有这些信息,我们预测未来6周的销售量# 让我们导入EDA所需的库:import numpy as np # 线性代数import pandas as pd # 数据处理,CSV文件I / O导入(例如pd.read_csv)。

import matplotlib.pyplot as pltimport seaborn as snsfrom datetime import datetimeplt.style.use("ggplot") # 绘图

#导入训练和测试文件:train_df = pd.read_csv("../Data/train.csv")test_df = pd.read_csv("../Data/test.csv")#文件中有多少数据:

print("在训练集中,我们有", train_df.shape[0], "个观察值和", train_df.shape[1], 列/变量")print("在测试集中,我们有", test_df.shape[0], "个观察值和", test_df.shape[1], "列/变量。

")print("在商店集中,我们有", store_df.shape[0], "个观察值和", store_df.shape[1], "列/变量")在训练集中,我们有1017209个观察值和9列/变量。

在测试集中,我们有41088个观测值和8列/变量在商店集中,我们有1115个观察值和10列/变量首先让我们清理 训练数据集#查看数据train_df.head().append(train_df.tail()) #显示前5行。

train_df.isnull().all()Out[5]:Store FalseDayOfWeek FalseDate FalseSales FalseCustomers FalseOpen False

Promo FalseStateHoliday FalseSchoolHoliday Falsedtype: bool让我们从第一个变量开始-> 销售量opened_sales = (train_df[(train_df.Open == 1) #如果商店开业

opened_sales.Sales.describe()Out[6]:count 422307.000000mean 6951.782199std 3101.768685min 133.00000025% 4853.000000

50% 6367.00000075% 8355.000000max 41551.000000Name: Sales, dtype: float64

看一下顾客变量In [9]:train_df.Customers.describe()Out[9]:count 1.017209e+06mean 6.331459e+02std 4.644117e+02

min 0.000000e+0025% 4.050000e+0250% 6.090000e+0275% 8.370000e+02max 7.388000e+03Name: Customers, dtype: float64

train_df[(train_df.Customers > 6000)]

我们看一下**假期** 变量train_df.StateHoliday.value_counts()0 8550870 131072a 20260b 6690c 4100Name: StateHoliday, dtype: int64。

train_df.StateHoliday_cat.count()1017209train_df.tail()

train_df.isnull().all() #检查缺失Out[18]:Store FalseDayOfWeek FalseDate FalseSales FalseCustomers FalseOpen

FalsePromo FalseSchoolHoliday FalseStateHoliday_cat Falsedtype: bool让我们继续进行商店分析store_df.head().append(store_df.tail())

#缺失数据:Store 0.000000StoreType 0.000000Assortment 0.000000CompetitionDistance 0.269058CompetitionOpenSinceMonth 31.748879

CompetitionOpenSinceYear 31.748879Promo2 0.000000Promo2SinceWeek 48.789238Promo2SinceYear 48.789238PromoInterval 48.789238

dtype: float64In [21]:让我们从缺失的数据开始第一个是 CompetitionDistancestore_df.CompetitionDistance.plot.box()让我看看异常值,因此我们可以在均值和中位数之间进行选择来填充NaN。

点击标题查阅往期内容

Python中利用长短期记忆模型LSTM进行时间序列预测分析 - 预测电力负荷数据

左右滑动查看更多

01

02

0304缺少数据,因为商店没有竞争 因此,我建议用零填充缺失的值store_df["CompetitionOpenSinceMonth"].fillna(0, inplace = True)让我们看一下促销活动。

store_df.groupby(by = "Promo2", axis = 0).count()如果未进行促销,则应将“促销”中的NaN替换为零 我们合并商店数据和训练集数据,然后继续进行分析第一,让我们按销售量、客户等比较商店。

f, ax = plt.subplots(2, 3, figsize = (20,10))plt.subplots_adjust(hspace = 0.3)plt.show()从图中可以看出,StoreType A拥有最多的商店,销售和客户。

但是,StoreType D的平均每位客户平均支出最高只有17家商店的StoreType B拥有最多的平均顾客我们逐年查看趋势sns.factorplot(data = train_store_df, 。

# 我们可以看到季节性,但看不到趋势 该销售额每年保持不变我们看一下相关图"CompetitionOpenSinceMonth", "CompetitionOpenSinceYear", "Promo2。

我们可以得到相关性:客户与销售(0.82)促销与销售(0,82)平均顾客销量 vs促销(0,28)

商店类别 vs 平均顾客销量 (0,44)我的分析结论:商店类别 A拥有最多的销售和顾客商店类别 B的每位客户平均销售额最低因此,我认为客户只为小商品而来商店类别 D的购物车数量最多促销仅在工作日进行客户倾向于在星期一(促销)和星期日(没有促销)购买更多商品。

我看不到任何年度趋势仅季节性模式点击文末 “阅读原文”获取全文完整代码数据资料本文选自《Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析》点击标题查阅往期内容Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类。

RNN循环神经网络 、LSTM长短期记忆网络实现时间序列长期利率预测结合新冠疫情COVID-19股票价格预测:ARIMA,KNN和神经网络时间序列分析深度学习:Keras使用神经网络进行简单文本分类分析新闻组数据

用PyTorch机器学习神经网络分类预测银行客户流失模型PYTHON用LSTM长短期记忆神经网络的参数优化方法预测时间序列洗发水销售数据Python用Keras神经网络序列模型回归拟合预测、准确度检查和结果可视化

Python用LSTM长短期记忆神经网络对不稳定降雨量时间序列进行预测分析R语言中的神经网络预测时间序列:多层感知器(MLP)和极限学习机(ELM)数据分析报告R语言深度学习:用keras神经网络回归模型预测时间序列数据

Matlab用深度学习长短期记忆(LSTM)神经网络对文本数据进行分类R语言KERAS深度学习CNN卷积神经网络分类识别手写数字图像数据(MNIST)MATLAB中用BP神经网络预测人体脂肪百分比数据Python中用PyTorch机器学习神经网络分类预测银行客户流失模型

R语言实现CNN(卷积神经网络)模型进行回归数据分析SAS使用鸢尾花(iris)数据集训练人工神经网络(ANN)模型【视频】R语言实现CNN(卷积神经网络)模型进行回归数据分析Python使用神经网络进行简单文本分类

R语言用神经网络改进Nelson-Siegel模型拟合收益率曲线分析R语言基于递归神经网络RNN的温度时间序列预测R语言神经网络模型预测车辆数量时间序列R语言中的BP神经网络模型分析学生成绩matlab使用长短期记忆(LSTM)神经网络对序列数据进行分类

R语言实现拟合神经网络预测和结果可视化用R语言实现神经网络预测股票实例使用PYTHON中KERAS的LSTM递归神经网络进行时间序列预测python用于NLP的seq2seq模型实例:用Keras实现神经网络机器翻译

用于NLP的Python:使用Keras的多标签文本LSTM神经网络分类返回搜狐,查看更多责任编辑:


以上就是关于《Python对商店数据进行lstm和xgboost销售量时间序列建模预测分析|附代码数据(python如何获取)》的全部内容,本文网址:https://www.7ca.cn/news/dianzizhizao/682.shtml,如对您有帮助可以分享给好友,谢谢。
标签:
声明