项目:线性回归分析商店销售收入

本文通过线性回归分析美国商店销售数据,探讨销售收入与各变量间的关系。在预处理阶段,删除了无关或冗余变量。分析发现,库存价值、预算销售成本和预算毛利润与销售收入关联性强。模型构建过程中,识别并处理了多重共线性问题,使用岭回归和主成分分析优化模型,最终模型展示了一定的预测能力。

一、摘要

​ 本文主要以商场会计统计的“销售数据”为例,对其进行数据预览与预处理,然后利用线性回归分析的流程与方法,使用Python3软件与SPSS25.0软件分析超市销售收入与各变量之间的关系,并以此份数据为依据使用线性回归建立预测模型,然后利用线性回归相关理论知识,对模型进行优化与检验调整。

​ 分析过程思维导图:

在这里插入图片描述

​ 文章最后将指出过程中存在的一些问题与个人思考的优化方式。

​ 附录部分将附上数据集链接与Python部分的代码。

​ 文章分析数据基于kaggle数据网站上的“美国商店销售数据集”,使用的数据分析软件主要为Python 3与SPSS 25.0,参考书籍主要为《应用回归分析(第五版)》———中国人民大学出版社。

二、实例分析与建模预测

1.分析目标:

​ 本文数据分析目标主要有两个。

​ 第一,利用会计统计数据建模预测各变量对Sales(销售收入)的影响;

​ 第二,对比实践几种回归方法,感受线性回归模型的建立优化与检验过程。

2.数据预览:
(1)变量标签:
变量 标签
AreaCode 商店编号
State 商店所在州
Market 所在方位
MarketSize 规模大小
Profit 净利润
*Margin 毛利润=Sales-GOGS=Profit+TotalExpenses
Sales 销售收入
GOGS 销售成本
TotalExpenses 销售产品的总费用
Marketing 营销费用
Inventory 销售时刻的库存价值
BudgetProfit 预算净利润
BudgetCOGS 预算销售成本
BudgetMargin 预算毛利润
BudgetSales 预算销售收入
ProductId 产品编号
Date 日期
ProductType 产品类型
Product 产品名称
Type 产品种类

*注:此处简单介绍毛利润Margin与净利润Profit的区别,毛利润一般指销售收入与销售成本的差额,而净利润则指代销售收入在减去毛利润后,同时减去税费等各种杂费后的额度。

(2)数据预处理:
a.实际意义:

​ 首先ProductId为产品编号,与产品名称效用重合,故删除ProductId。

​ 考虑到Margin=Sales-GOGS=Profit+TotalExpenses的线性关系,删除Margin和Profit。

​ Date变量为日期,对Sales预测缺少实际有效信息,删除。

​ 最后,因为BudgetMargin=BudgetSales-BudgetGOGS的等量关系,同时考虑到我们预测Sales,故删除特征中的BudgetSales(预算销售收入)。

b.检查缺失值:

​ 经检查不存在缺失值。

c.描述性统计:

​ 数值型:

Area Code Sales COGS Total Expenses Marketing Inventory Budget Profit Budget COGS Budget Margin
count 4248.000000 4248.000000 4248.000000 4248.000000 4248.000000 4248.000000 4248.000000 4248.000000 4248.000000
mean 582.278013 192.987524 84.433145 54.063559 31.185028 749.381356 60.913371 74.830508 100.819209
std 221.140310 151.133127 67.249769 32.352598 27.023264 661.031896 79.546123 66.238145 92.602725
min 203.000000 17.000000 0.000000 10.000000 0.000000 -3534.000000 -320.000000 0.000000 -210.000000
25% 417.000000 100.000000 43.000000 33.000000 13.000000 432.000000 20.000000 30.000000 50.000000
50% 573.000000 138.000000 60.000000 46.000000 22.000000 619.000000 40.000000 50.000000 70.000000
75% 772.000000 230.000000 100.000000 65.000000 39.000000 910.500000 80.000000 90.000000 130.000000
max 985.000000 912.000000 364.000000 190.000000 156.000000 8252.000000 560.000000 450.000000 690.000000

​ 观察发现,此处库存价值Inventory存在负数,经过网上资料查询,此变量仅在会计人员出现失误时,会被计算为负数,为异常情况,我们假设不存在这样的特殊人为失误,故将Inventory的负数部分全部转换为0.

​ 分类型:

State Market Market Size Product Type Product Type
count 4248 4248 4248 4248 4248 4248
unique 20 4 2 4 13 2
top Utah West Small Market Espresso Columbian Regular
freq 288 1344 2544 1176 480 2400
d.查看数据间person相关性与散点图:

在将分类变量重新编码(按字母先后顺序)后,得到相关性矩阵热图如下:
在这里插入图片描述

​ 一方面比较各个变量与sales的相关性,我们发现Market、Product Type、Product、Type四个变量与Sales变量相关性较低。另一方面观察各变量间关系,由于中间存在大片绿色部分,所以其他变量间或多或少存在线性相关性,于是可能有多重共线性问题的存在。

​ 散点图:
在这里插入图片描述

​ 通过散点图,同样能发现诸多分类变量如Market、Product、Product Type、Type等均相对于Sales分布均匀,没有特别明显的正负相关关系。

e.前进法、后退法与步进法筛选变量:

​ 前进法:

在这里插入图片描述

​ 后退法:

在这里插入图片描述

​ 步进法:

​ 设置aentry=0.05,aremoval=0.1a_{entry}=0.05,a_{removal}=0.1aentry=0.05,aremoval=0.1,得到变量表:

在这里插入图片描述

​ 综合上述三种方法,均选择删除了Budget Profit(预算净利润)与Area Code(地区编号)。

​ 综合上述可视化图像和三种变量筛选方法,并考虑到变量的实际意义,我们删除Area Code、Budget Profit、Product Type。最后本次建模选取的特征有:

变量 标签
State 商店所在州
Market 所在方位
MarketSize 规模大小
GOGS 销售成本
TotalExpenses 销售产品的总费用
Marketing 营销费用
Inventory 销售时刻的库存价值
BudgetCOGS 预算销售成本
BudgetMargin 预算毛利润
Product 产品名称
Type 产品种类
3.建模分析与优化检验:
(1)普通最小二乘法回归:

在这里插入图片描述

​ 调整后R方为0.986,说明线性拟合度很高。

在这里插入图片描述

​ 方差分析中显著性为0,表明回归方程显著。

在这里插入图片描述

​ 普通最小二乘法得到回归方程。

​ 首先考察系数的显著性,在0.05​的置信度下,所有变量的系数均显著

​ 接下来考察与实际经济意义是否符合,其中COGS(销售成本)标准化系数为0.874>0​,而BudgetCOGS(预算销售成本)标准化系数为-0.402<0,两个同性质变量却对Sales影响不同,也就是说,营业人在预算准备投入更多销售成本后,销售收入却会变低,这是违反直觉的。

​ 最后由方差因子分析,存在四个变量的VIF>10。同时由共线性诊断:

在这里插入图片描述

条件指标最后为30.732,显然大于10,说明存在较强的多重共线性。

​ 考虑到存在多重共线性与模型的简化,本文使用“岭回归法”和“PCA主成分回归法”尝试减轻多重共线性的影响并对模型作出合适的简化。

(2)多重共线性处理:
a.Ridge岭回归:

​ 利用Python绘制岭迹图:
在这里插入图片描述

​ 通过观察岭迹图,我们首先选取岭参数为exp⁡(6)\exp(6)exp(6),其次观察发现变量Product、Type、State均在0附近,对变量Sales的影响较小,将他们剔除后再次进行岭回归。得到输出结果:

Market : 1.9517236594813392
Market Size : -2.7622294182487788
COGS : 52.202977804203684
Total Expenses : 6.817442648939644
Marketing : 8.86483801142167
Inventory : -3.712837264493617
Budget COGS : 16.429106772703364
Budget Margin : 66.96984433107806
截距:192.70699037254082
均方误差: 1277.4518794910975
y的均值: 199.72647427854454
训练集得分: 0.9541736486545781
验证集得分: 0.9447228813564216

​ 此时模型的拟合能力虽然降低,但调整后R方依然有0.95,线性拟合度依然很高,并且COGS和Budget COGS的系数得到了统一。

b.PCA主成分回归分析:

​ 首先检验是否合适进行PCA降维:

在这里插入图片描述

​ 得到显著性为0,说明原数据适合PCA降维。

​ 考察方差解释信息量:

在这里插入图片描述

​ 使选取的变量解释85%以上的方差信息量,于是选取前6个变量做线性回归分析:

在这里插入图片描述

​ 调整后R方比较于最小二乘法降低,但线性拟合能力依然很高。

在这里插入图片描述

​ 系数显著性均为0,与Sales显著相关。结合得分矩阵:
在这里插入图片描述

​ 最后利用python计算得到各项标准化系数:

State : 0.0792
Market : 0.0836
MarketSize : -0.3002
COGS : 0.3619
TotalExpenses : 0.3146
Marketing : 0.2956
Inventory : -0.3003
BudgetCOGS : 0.4295
BudgetMargin : 0.7783
Product : 0.0369
Type : -0.0517

​ 此时系数被集中于COGS(销售成本)、BudgetCOGS(预算销售成本)和BudgetMargin(预算毛利润),说明Sales(销售收入)与营业人实际销售过程中的COGS(销售成本)、包括预算准备中的BudgetCOGS(预算销售成本)和BudgetMargin(预算毛利润)在数值上有很大关联。并且此时COGS与BudgetCOGS的系数也均以同时为正,两者系数得到了统一,符合经济实际。

(3)模型自相关性和异方差性检验:
a.自相关性:

​ 在对维数进行合适处理后,这里我们选择PCA主成分分析筛选的6个特征(分别命名为x1,x2,x3,x4,x5,x6x_1,x_2,x_3,x_4,x_5,x_6x1,x2,x3,x4,x5,x6

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值