-
2021-09-11 17:49:04
前言
之前用过的代码,现在整理一下。
数据集
链接: https://pan.baidu.com/s/1Wd3s22GF98CjSJg-P42S3Q
提取码: d4rw程序
from numpy import genfromtxt #genfromtxt函数创建数组表格数据 import numpy as np from sklearn import datasets,linear_model #读取数据,r后边内容当做完整的字符串,忽略里面的特殊字符 dataPath = r'data_multi.csv' data_multi = genfromtxt(dataPath,delimiter=',') #将路径下的文本文件导入并转化成numpy数组格式 print("data_multi:",data_multi) X = data_multi[:,:-1] #取所有行和除了最后一列的所有列作为特征向量 Y = data_multi[:,-1] #取所有行和最后一列作为回归的值 print("X:",X) print("Y:",Y) #建立回归模型 regr = linear_model.LinearRegression() regr.fit(X,Y) print("coefficients:",regr.coef_) #b1,...,bp(与x相结合的各个参数) print("intercept:",regr.intercept_) #b0(截面)
结果展示
data_multi: [[100. 5. 4. 9.3] [ 50. 6. 3. 4.8] [100. 9. 4. 8.9] [100. 3. 2. 6.5] [ 50. 4. 2. 4.2] [ 80. 5. 2. 6.2] [ 75. 8. 3. 7.4] [ 65. 4. 4. 6. ] [ 90. 2. 3. 7.6] [ 90. 6. 2. 6.4]] X: [[100. 5. 4.] [ 50. 6. 3.] [100. 9. 4.] [100. 3. 2.] [ 50. 4. 2.] [ 80. 5. 2.] [ 75. 8. 3.] [ 65. 4. 4.] [ 90. 2. 3.] [ 90. 6. 2.]] Y: [9.3 4.8 8.9 6.5 4.2 6.2 7.4 6. 7.6 6.4] coefficients: [0.06228476 0.09866047 0.80577487] intercept: -1.1025622824693189
- 预测
x_pred = [[102,4,6]] y_pred = regr.predict(x_pred) #预测 print("y_pred:",y_pred)
y_pred: [10.47977423]
更多相关内容 -
SPSS多元线性回归分析实例操作步骤-spss做多元线性回归.pdf
2021-10-01 23:32:14SPSS多元线性回归分析实例操作步骤-spss做多元线性回归.pdf -
多元线性回归案例分析
2018-04-28 08:49:51通过具体的案例讲解时间序列下多元线性回归在eviews里的操作 -
多元线性回归代码_Matlab多元线性回归_多元线性回归_
2021-10-04 03:49:47里面包含适用于Matlab 多元线性回归的代码 -
基于spss的一元线性回归与多元线性回归案例.rar
2019-10-30 19:26:25基于spss的一元线性回归与多元线性回归案例,个人整理出的,包含了部分案例、实验报告、题目,及部分题目答案,适合作为spss、MATLAB等软件数据分析题目联系 -
关于多元线性回归分析——Python&SPSS
2020-12-20 09:49:41原始数据在这里 1.观察数据 首先,用Pandas打开数据,并进行观察。 import numpy import pandas as pd import matplotlib.pyplot as plt ...我们的问题是得到一个线性的关系,对应PE是样本输出,而AT/V/ -
多元线性回归分析.zip_回归分析_多元回归_多元回归分析_多元线性_多元线性回归分析
2022-07-15 21:31:39基于MATLAB的多元回归分析及应用案例 -
基于Python和R的多元线性回归分析实例
2021-11-20 14:03:57掌握一元线性回归、多元线性回归模型的建模原理、估计及检验方法。 能运用相应的统计软件(SAS\SPSS\R)进行计算、分析。 实验内容 某大型牙膏制造企业为了更好地拓展产品市场,有效地管理库存,公司董事会要求销售...实验目的
- 掌握一元线性回归、多元线性回归模型的建模原理、估计及检验方法。
- 能运用相应的统计软件(SAS\SPSS\R)进行计算、分析。
实验内容
- 某大型牙膏制造企业为了更好地拓展产品市场,有效地管理库存,公司董事会要求销售部门根据市场调查,找出公司生产的牙膏销售量与销售价格、广告投入等之间的关系,从而预测出在不同价格和广告费用下的销售量。为此,销售部的研究人员收集了过去30个销售周期(每个销售周期为4周)公司生产的牙膏的销售量、销售价格、投入的广告费用,以及同期其它厂家生产的同类牙膏的市场平均销售价格,见表1(其中价格差指其它厂家平均价格与公司销售价格之差)。
- 试根据这些数据建立一个数学模型,分析牙膏销售量与其它因素的关系,为制订价格策略和广告投入策略提供数量依据。
分析影响因变量Y的主要影响因素及经济意义
- 对于大多数消费者而言,牙膏作为一种生活的必需品,在购买同类牙膏时,更多的会关心不同品牌之间的价格差,而不是它们的价格本身。
- 其他厂商平均价格能展现牙膏的市场均价,与自身品牌的价格的差异可能会影响消费者选择。但是,在研究各个因素对销售量的影响时,用价格差代替公司销售价格和其他厂家平均价格,更加直观和合适。
- 广告费用多少决定了厂家对于牙膏的推广力度,会在一定程度上影响消费者的选择。较大的广告推广力度,会加深消费者对产品的认知并在一定程度上提高产量。
建立散点图考察Y与每一个自变量之间的相关关系
- 如图所示,设销售量为 ,销售价格、其它厂家平均价格、广告费用和价格差分别作为 ,绘制4个散点图。
- 此外,如表所示,计算每个自变量与销售的皮尔逊相关系数。
- 由上述分析与散点图可看出,牙膏销售量与广告费用和价格差呈线性关系,与其它厂家平均价格、广告费用和价格差相关程度较高。
Python
import pandas as pd import numpy as np data = pd.read_csv("E:\Code\Jupyter Notebook Code\数学建模\Data\多元线性回归数据.csv").iloc[:,1:] data.head()
data.corr(method='pearson')
import matplotlib.pyplot as plt import seaborn as sns label = data.iloc[:,-1].to_numpy() # 销售量 factor = data.iloc[:,:-1].to_numpy() # 其他厂商平均价格、广告费用、价格差 #用来正常显示中文标签 plt.rcParams['font.sans-serif']=['SimHei'] #用来正常显示负号 plt.rcParams['axes.unicode_minus']=False plt.figure(figsize=(8,8)) plt.subplot(2,2,1) plt.grid() plt.scatter(label,factor[:,0]) plt.xlabel('销售量',size=15) plt.ylabel('销售价格',size=15) plt.subplot(2,2,2) plt.grid() plt.scatter(label,factor[:,1]) plt.xlabel('销售量',size=15) plt.ylabel('其它厂家平均价格',size=15) plt.subplot(2,2,3) plt.grid() plt.scatter(label,factor[:,2]) plt.xlabel('销售量',size=15) plt.ylabel('广告费用',size=15) plt.subplot(2,2,4) plt.grid() plt.scatter(label,factor[:,3]) plt.xlabel('销售量',size=15) plt.ylabel('价格差',size=15) plt.tight_layout() #plt.savefig('1.jpg',dpi=300)
R语言
data = read.csv("E:/Code/R Code/Data/多元线性回归数据.csv") cor(data[2:6],method = "pearson")
建立多元回归模型,并计算回归系数和统计量
- 记牙膏销售量为
Y
Y
Y,其它厂家平均价格
X
1
X_{1}
X1 ,广告费为
X
2
X_{2}
X2 ,广告费用为
X
3
X_{3}
X3 ,构建多元线性回归模型:
Y = β 0 + β 1 X 1 + β 2 X 2 + β 3 X 3 Y=\beta_{0}+\beta_{1} X_{1}+\beta_{2} X_{2}+\beta_{3} X_{3} Y=β0+β1X1+β2X2+β3X3 - 拟合模型,得到
β
0
=
7.5891
\beta_{0}=7.5891
β0=7.5891 ,
β
1
=
−
0.7455
\beta_{1}=-0.7455
β1=−0.7455 ,
β
2
=
0.5012
\beta_{2}=0.5012
β2=0.5012 ,
β
3
=
2.3577
\beta_{3}=2.3577
β3=2.3577 。最终得到多元线性回归模型:
Y = 7.5891 + − 0.7455 X 1 + 0.5012 X 2 + 2.3577 X 3 Y=7.5891+-0.7455X_{1}+0.5012X_{2}+2.3577X_{3} Y=7.5891+−0.7455X1+0.5012X2+2.3577X3
Python
import statsmodels.api as sm label = data.iloc[:,-1].to_numpy() # 销售量 factor = data.iloc[:,:-1].to_numpy() # 其他厂商平均价格、广告费用、价格差 Y=label X=factor[:,1:] X=sm.add_constant(X) # 添加截距项 model = sm.OLS(Y,X).fit() # 拟合OLS模型 model.summary() #
#模型的拟合值 y_train_pred = model.predict(X) #绘制最佳拟合线:标签用的是训练数据的预测值y_train_pred plt.figure(figsize=(8,4)) plt.plot(label.reshape(-1,1),color='#00b0ff',label="Observations",linewidth=1.5) plt.plot(y_train_pred,color='#ff3d00',label="Prediction",linewidth=1.5) plt.legend(loc="upper left") plt.grid(alpha=0.6) plt.tight_layout()
R语言
test_data = data.frame(data[3],data[4],data[5],data[6]) colnames(test_data) <- c('X1','X2','X3','Y') model_lm = lm(Y~X1+X2+X3,data=test_data) summary(model_lm)
-
【定量分析、量化金融与统计学】R语言:多元线性回归实例
2022-04-12 10:59:10今天来做一个R语言的多元线性回归的实例:今天来做一个R语言的多元线性回归的实例:
题目是这样的:
练习:度假村排名旅游胜地,专门介绍高级度假和住宿的杂志《Spas》在“读者选择”评选的世界20家独立海滨精品酒店中榜上有名。所显示的数据是这些酒店根据Resorts温泉年度读者选择调查。每个分数代表了在三个标准(舒适、设施和内部餐饮)之一上认为一家酒店优秀或非常优秀的受访者的百分比。报告中还报告了总分,并用来对酒店进行排名。排名最高的酒店是穆里海滩奥德赛酒店(Muri Beach Odyssey),总分为94.3分,其中内部餐饮得分最高,为97.7分。
需求与问题:
- A.根据舒适度、设施和内部餐饮的评分,确定可用于预测总体得分的多元线性回归方程。
- B.采用f检验来确定回归关系的总体显著性。0.01显著性水平下的结论是什么?
- C.采用t检验来确定每个自变量的显著性。在0.01显著性水平下,每个检验的结论是什么?
- D.从估计的回归方程中去除所有在0.01显著性水平上不显著的自变量。你估计的回归方程是什么?
数据集截图:
解题:
读文件并做线性回归:
ranking=read.csv(file.choose(), header=TRUE) head(ranking) fitmr = lm(ranking$Overall~ranking$Comfort+ranking$Amenities+ranking$In.House.Dining) summary(fitmr)
结果:
A:估计的多元线性回归方程为:
B:模型的整体显著性:F(15.98,16), p=0.000(另一种方式:您可以使用ANOVA表的F_value代替)与整体回归关系的F检验相关的p值为4.52386E-05。因为这个p-value小于0.01显著性水平,所以我们拒绝β1 =β 2 = β3 = 0的假设。我们得出结论,在0.01显著性水平上存在整体回归关系。
C:
(1)与估计的回归参数b1相关的p值为0.4117。
因为这个p值大于0.01显著性水平,所以我们不拒绝β1 = 0的假设。
我们的结论是,在控制设施和内部餐饮时,在0.01显著性水平上,舒适度得分和总得分之间没有关系。
(2)与估计回归参数b2相关的p值为3.69454E-05。
因为这个p值小于0.01显著性水平,所以我们拒绝β2 = 0的假设。
我们得出这样的结论:有一个分数在设施之间的关系和整体得分在0.01水平的意义,和我们最好的估计是,如果我们保持舒适和内部餐厅的分数不变,增加一个点设施对应的分数在总体得分增加了0.2443。
(3)与估计的回归参数b3相关的p值为0.0011。最后结论:
因为这个p值小于0.01显著性水平,所以我们拒绝β3 = 0的假设。
我们认为有一个分数之间的关系内部餐饮和意义的总体得分在0.01水平,和我们最好的估计是,如果我们保持舒适和便利设施上的分数不变,增加一点分数上内部的餐厅在总分对应增加0.2443。
如果舒适、设施和内部餐饮的评分与总分相关,那么这种关系应该是正相关的。结果与对这三种关系的预期一致。D:
fitmodi =lm(ranking$Overall~+ranking$Amenities+ranking$In.House.Dining) summary(fitmodi)
估计的多元线性回归方程为:
模型的总体显著性:F (24.02,17), p=0.000(另一种方式:您可以使用ANOVA表的F_value代替)与总体回归关系的F检验相关的p值为1.1123E-05。
因为这个p-value小于0.01显著性水平,所以我们拒绝β1 = β2 = β0的假设。
我们得出结论,在0.01显著性水平上存在整体回归关系。
与估计回归参数b1(现在对应于便利设施)相关的p值是1.32524E-05。
因为这个p值小于0.01显著性水平,所以我们拒绝β1 = 0的假设。
我们认为有一个分数在设施之间的关系和整体得分在0.01水平的意义,和我们最好的估计是,如果我们保持内部餐厅的分数不变,增加一点分数设施对应增加0.2526总分。
与估计回归参数b2(现在相当于内部用餐)有关的p值是0.0009。
因为这个p值小于0.01显著性水平,所以我们拒绝β2 = 0的假设。
我们认为有一个分数之间的关系内部餐饮和意义的总体得分在0.01水平,和我们最好的估计是,如果我们保持设施上的分数不变,增加一点分数内部餐厅对应增加总体得分0.2483。
对于该多元线性回归模型,整体回归关系显著,估计的回归系数b1和b2显著,符合预期。
该模型的决定系数为R2 = 0.7387。
(a)中包含三个自变量(舒适度、便利设施和内部餐饮)的模型具有R2 = 0.7498的倍数决定系数,
这模型解释了更多的变异1%多一点在样本总体评级比独立变量的模型,该模型只包括设施和内部餐厅作为一个独立变量(即删除舒适度导致损失的更多解释变异在总分的1%)。
因此,首选(d)部分中开发的更简单的多元回归模型。 -
SPSS多元线性回归分析实例操作步骤.doc
2021-10-05 11:21:08SPSS多元线性回归分析实例操作步骤.doc -
多元线性回归及案例(Python)
2022-04-11 17:38:231 多元线性回归简介 2 案例:客户价值预测模型 2.1 案例背景 2.2具体代码 3模型评估 参考书籍 1 多元线性回归简介 多元线性回归模型可以表示为如下所示的公式。 其中x1、x2、x3……为不同的特征变量,k1...1 多元线性回归简介
多元线性回归模型可以表示为如下所示的公式。
其中x1、x2、x3……为不同的特征变量,k1、k2、k3……则为这些特征变量前的系数,k0为常数项。
2 案例:客户价值预测模型
利用多元线性回归模型可以根据多个因素来预测客户价值,当模型搭建完成后,便可对不同价值的客户采用不同的业务策略。
2.1 案例背景
这里以信用卡客户的客户价值为例来解释客户价值预测的具体含义:客户价值预测就是指预测客户在未来一段时间内能带来多少利润,其利润可能来自信用卡的年费、取现手续费、分期手续费、境外交易手续费等。分析出客户价值后,在进行营销、电话接听、催收、产品咨询等各项业务时,就可以针对高价值客户提供区别于普通客户的服务,以进一步挖掘这些高价值客户的价值,并提高他们的忠诚度。
2.2 具体代码
import pandas as pd from sklearn.linear_model import LinearRegression df = pd.read_excel('客户价值数据表.xlsx') X = df[['历史贷款金额','贷款次数','学历','月收入','性别']] Y = df['客户价值'] model = LinearRegression() model.fit(X,Y) model.coef_,model.intercept_
这里通过model.coef_获得的是一个系数列表,分别对应不同特征变量前面的系数,即k1、k2、k3、k4、k5,所以此时的多元线性回归方程如下。
y=-208+0.057x^1+96x^2+113x^3+0.056x^4+1.98x^5
3 模型评估
import statsmodels.api as sm X2 = sm.add_constant(X) est = sm.OLS(Y,X2).fit() est.summary()
4 线性回归优缺点
线性回归模型具有如下优缺点。
·优点:快速;没有调节参数;可轻易解释;可理解。
·缺点:相比其他复杂一些的模型,其预测准确率不高,因为它假设特征和响应之间存在确定的线性关系,这种假设对于非线性的关系,线性回归模型显然不能很好地进行数据建模。
参考书籍
《Python大数据分析与机器学习商业案例实战》
-
多元线性回归分析(Stata)
2022-01-14 10:12:47线性回归:因变量Y为连续性数值变量,例如GDP的增长率 0-1回归:因变量Y为0-1型变量,例如P2P公司研究借款人是否能按时还贷,那么Y可以设计为二值变量,Y=0时代表可以还贷,Y=1时代表不能还贷 定序回归:... -
SPSS多元线性回归分析实例操作步骤7.doc
2021-10-05 11:21:09SPSS多元线性回归分析实例操作步骤7.doc -
解析法实现多元线性回归的实例
2022-04-24 18:32:29多元线性回归函数的实现分为四步。 第一步:加载样本数据。 第二步:数据处理,将加载的样本构造为计算解析解所需要的形式。 第三步:求解模型参数。使用解析解公式,计算参数向量 W 的值,得到多元回归模型。 ... -
基于Jupyter完成(自行推导公式)多元线性回归的编程
2020-12-21 21:40:05自行推导公式多元线性回归的编程一、导入文本店铺面积和营业额的关系图车站距离和营业额的关系图二、计算下图三、计算R² 一、导入文本 import pandas as pd import numpy as np import matplotlib.pyplot as plt ... -
基于MATLAB的多元非线性回归模型,matlab多元线性回归模型实例,matlab
2021-09-10 21:14:16基于MATLAB的多元非线性回归模型学习资料 -
管理统计学多元线性回归分析案例应用步骤解析及EXCEL操作详解PPT学习教案.pptx
2021-10-11 01:44:51管理统计学多元线性回归分析案例应用步骤解析及EXCEL操作详解PPT学习教案.pptx -
利用Python进行数据分析之多元线性回归案例
2020-12-01 17:45:53线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜折扣等)预测就餐规模或... -
R语言与多元线性回归分析计算实例
2019-11-16 12:37:336.3.7 计算实例 例 6.9 某大型牙膏制造企业为了更好地拓展产品市场,有效地管理库存,公司董事会要求销售部门根据市场调查,找出公司生产的牙膏销售量与销售价格,广告投入等之间的关系,从而预测出在不同价格和... -
多元线性回归模型案例分析.doc
2021-12-25 20:03:49多元线性回归模型案例分析.doc -
sklearn+python:线性回归案例
2020-09-17 21:08:07今天小编就为大家分享一篇sklearn+python:线性回归案例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧 -
基于多元线性回归与BP神经网络的矿井瓦斯预测模型应用
2020-07-04 08:01:24利用多元线性回归和BP神经网络理论,分别对矿井瓦斯涌出量进行了预测,最后建立了多元线性回归与BP神经网络的组合预测模型。该模型兼顾了多元回归分析的非线性特性和神经网络的时序特性,通过具体的实例研究,对比了各种... -
Python 实战多元线性回归模型,附带原理+代码
2020-12-20 13:23:23原标题:Python 实战多元线性回归模型,附带原理+代码 作者 | 萝卜来源 | 早起Python( ID:zaoqi-python )「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和... -
数学建模--多元线性回归分析
2020-07-10 21:33:34一、回归分析的介绍和分类 1 回归分析 研究X与Y之间相关性的分析 1.1 相关性 相关性≠因果性 1.2 Y 因变量/核心变量 连续数值型变量 0-1型变量 定序变量 计数变量 生存变量 1.3 X 研究X与Y的相关关系,得到Y... -
多元线性回归分析(R语言)
2018-12-07 13:35:10▼多元线性回归分析▼ 一、多元线性回归模型 设变量Y与X1,X2,……,Xp之间有线性关系 其中 , 和 是未知参数,p≥2,称上公式为多元线性回归模型。 二、参数估计 我们根据多元线性回归模型,认为误差...