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

前言

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

实例

在一次实例分析中,需要收集多个特征因素,通过皮尔逊相关系数,剔除相关性较差的因素后,进行建模;
date:日期 time:星期几 tem:历史温度 y:营业额 tc:总单数 viptc:会员单数
线性回归分析实例(餐饮数据)python皮尔逊相关性_第1张图片
先导一波库

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()

线性回归分析实例(餐饮数据)python皮尔逊相关性_第2张图片
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()

线性回归分析实例(餐饮数据)python皮尔逊相关性_第3张图片
可以看出,营业额和温度的相关性较差,也因为是在同一个月的数据,温度变化并不大;

利用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本来就是发生后才能知道的特征,是不应该作为特征因素来建模的,我只是正好收集了这些数据,所以才这样用,在实际工作中,应该以例如,地铁口到餐厅的距离,周围人群分部,一定范围内写字楼和住宅数量,区域人均收入,等等因素来做预测更为实用;

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

你可能感兴趣的:(学习笔记,人工智能,机器学习,python,建模)