线性回归分析实例(餐饮数据)python皮尔逊相关性

学习笔记 同时被 3 个专栏收录
3 篇文章 0 订阅
1 篇文章 0 订阅
1 篇文章 0 订阅

前言

线性回归:在统计学中,线性回归(Linear Regression)是利用称为线性回归方程的最小平方函数对一个或多个自变量和因变量之间关系进行建模的一种回归分析。这种函数是一个或多个称为回归系数的模型参数的线性组合。只有一个自变量的情况称为简单回归,大于一个自变量情况的叫做多元回归。
皮尔逊相关系数:在统计学中,皮尔逊相关系数( Pearson correlation coefficient),又称皮尔逊积矩相关系数(Pearson product-moment correlation coefficient,简称 PPMCC或PCCs),是用于度量两个变量X和Y之间的相关(线性相关),其值介于-1与1之间。

实例

在一次实例分析中,需要收集多个特征因素,通过皮尔逊相关系数,剔除相关性较差的因素后,进行建模;
date:日期 time:星期几 tem:历史温度 y:营业额 tc:总单数 viptc:会员单数
在这里插入图片描述
先导一波库

import pandas as pd 
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns 
from sklearn.linear_model import LinearRegression

绘制散点图,并观察相关性

data_df=pd.read_csv(a)
print(data_df.head())
sns.pairplot(data_df,size=1)
plt.show()

在这里插入图片描述
seaborn计算绘制皮尔逊相关性系数并汇图

cols=['date','time','tem','tc','viptc','y']
cm =np.corrcoef(data_df[cols].values.T)
hm = sns.heatmap(cm,cbar=True,annot=True,square=True,fmt=".2f",
                    annot_kws={"size":15},yticklabels=cols,xticklabels=cols)
plt.show()

在这里插入图片描述
可以看出,营业额和温度的相关性较差,也因为是在同一个月的数据,温度变化并不大;

利用sklearn建模,并用模型预测出营业额

cols2=[['date','time','tc','viptc','y']]
mo=LinearRegression()
x=data_df[['date','time','tc','viptc']]
y=data_df['y']#实际营业额
mo.fit(x,y)
pre_y=mo.predict(x)#预测营业额

结论

特征因素一般要选择能收集的因素,才方便对未来的预测,在本个例子里,TC本来就是发生后才能知道的特征,是不应该作为特征因素来建模的,我只是正好收集了这些数据,所以才这样用,在实际工作中,应该以例如,地铁口到餐厅的距离,周围人群分部,一定范围内写字楼和住宅数量,区域人均收入,等等因素来做预测更为实用;

另外,虽然模型很容易建立起来,但学习者还是需要把模型原理搞清楚,例如回归的原理,最小二乘法等等数学知识搞清楚,才能建出更理想的模型;

  • 0
    点赞
  • 0
    评论
  • 11
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

相关推荐
7个回归分析方法 什么是回归分析? 回归分析是一种预测性的建模技术,它研究的是因变量目标和自变量预测器之间的关系。 这种技术通常用于 预测分析、 时间序列模型 以及发现变量之间的因果关系。 例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。 回归分析是建模和分析数据的重要工具。 在这里,我们使用曲线/线来拟合这些数据点, 在这种方式下,从曲线或线到数据点的距离差异最小。 我会在接下来的部分详细解释这一点。 我们为什么使用回归分析? 如上所述,回归分析估计了两个或多个变量之间的关系。 下面,让我们举一个简单的例子来理解它: 比如说,在当前的经济条件下,你要估计一家公司的销售额增长情况。 现在,你有公司最新的数据,这些数据显示出销售额增长大约是经济增长的2.5倍。 那么使用回归分析,我们就可以根据当前和过去的信息来预测未来公司的销售情况。 使用回归分析的好处良多。 具体如下: • 它表明自变量和因变量之间的显著关系 它表明多个自变量对一个因变量的影响强度 回归分析也允许我们去比较那些衡量不同尺度的变量之间的相互影响,如价格变动与促销活动数量之间联系。 这些有利于帮助市场研究人员,数据分析人员以及数据科学家排除并估计出一组最佳的变量,用来构建预测模型。 我们有多少种回归技术? 有各种各样的回归技术用于预测。 这些技术主要有三个度量 自变量的个数, 因变量的类型 回归线的形状。 对于那些有创意的人,如果你觉得有必要使用上面这些参数的一个组合,你甚至可以创造出一个没有被使用过的回归模型。 但在你开始之前,先了解如下最常用的回归方法: 1. 线性回归Linear Regression 线性回归通常是人们在学习预测模型时首选的技术之一。 在这种技术中, 因变量是连续的, 自变量可以是连续的也可以是离散的, 回归线的性质是线性的。 线性回归使用最佳的拟合直线也就是回归线 在因变量Y和一个或多个自变量X之间建立一种关系。 用一个方程式来表示它,即 Y=a+b*X + e, 其中a表示截距, b表示直线的斜率, e是误差项。 这个方程可以根据给定的预测变量s来预测目标变量的值。 现在的问题是:我们如何得到一个最佳的拟合线呢? 这个问题可以使用最小二乘法轻松地完成。 一元线性回归和多元线性回归的区别在于, 多元线性回归>1个自变量, 而一元线性回归通常只有1个自变量。 最小二乘法也是用于拟合回归线最常用的方法。 对于观测数据,它通过最小化每个数据点到线的垂直偏差平方和来计算最佳拟合线。 因为在相加时,偏差先平方,所以正值和负值没有抵消。 我们可以使用R-square指标来评估模型性能。 要点: • 自变量与因变量之间必须有线性关系 • 多元回归存在多重共线性,自相关性和异方差性 线性回归对异常值非常敏感。它会严重影响回归线,最终影响预测值 多重共线性会增加系数估计值的方差,使得在模型轻微变化下,估计非常敏感。 结果就是系数估计值不稳定, 在多个自变量的情况下,我们可以使用向前选择法,向后剔除法和逐步筛选法来选择最重要的自变量。 2. 逻辑回归Logistic Regression 逻辑回归是用来计算“事件=Success”和“事件=Failure”的概率。 当因变量的类型属于二元1 / 0,真/假,是/否变量时,我们就应该使用逻辑回归。 这里,Y的值从0到1,它可以用下方程表示。 odds= p/ (1-p) = probability of event occurrence / probability of not event occurrence ln(odds) = ln(p/(1-p)) logit(p) = ln(p/(1-p)) = b0+b1X1+b2X2+b3X3....+bkXk 概要 上述式子中,p表述具有某个特征的概率。 你应该会问这样一个问题:我们为什么要在公式中使用对数log呢? 因为在这里我们使用的是的二项分布因变量,我们需要选择一个对于这个分布最佳的连结函数。 它就是Logit函数。 在上述方程中,通过观测样本的极大似然估计值来选择参数, 而不是最小化平方和误差如在普通回归使用的。 要点: • 它广泛的
©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值