使用回归分析预测未来值

回归分析(英语:Regression Analysis)是一种统计学上分析数据的方法,目的在于了解两个或多个变量间是否相关、相关方向与强度,并建立数学模型以便观察特定变量来预测研究者感兴趣的变量。更具体的来说,回归分析可以帮助人们了解在只有一个自变量变化时因变量的变化量。一般来说,通过回归分析我们可以由给出的自变量估计因变量的条件期望

  • 代码文件:使用回归分析预测未来值.py – 数据文件:回归分析.xlsx
import pandas as pd
from sklearn import linear_model
df=pd.read_excel(r'd:\\22\回归分析.xlsx')
df=df[1:]  #删除第一行
df.columns=['月份','电视台广告费','视频门户广告费','汽车当月销售额'] #重命名

#获取'电视台广告费','视频门户广告费'最为自变量
x=df[['电视台广告费','视频门户广告费']]
y=df['汽车当月销售额']

model=linear_model.LinearRegression()
model.fit(x,y)
R2=model.score(x,y)
R2

举一反三 使用回归方程计算预测值

  • 代码文件:使用回归方程计算预测值.py – 数据文件:回归分析.xlsx
import pandas as pd
from sklearn import linear_model
df=pd.read_excel(r'D:\\22\回归分析.xlsx')
df=df[1:]  #删除第一行
df.columns=['月份','电视台广告费','视频门户广告费','汽车当月销售额'] #重命名

#获取'电视台广告费','视频门户广告费'最为自变量
x=df[['电视台广告费','视频门户广告费']]
y=df['汽车当月销售额']

model=linear_model.LinearRegression()
model.fit(x,y)

coef=model.coef_  #获取自变量系数
model_intercept=model.intercept_  #获取截距
result='y={}+({})x1+({})x2'.format(coef[0],coef[1],model_intercept)
print('线性回归的方程为:','\n',result)

a=20 #设置电视广告费用
b=30 #设置视频广告费

y=model_intercept+a*coef[0]+b*coef[1]
print('电视广告投放20万,视频门户投放30万,预测汽车的销售额为:','\n',y)

预测结果为:

线性回归的方程为: 
 y=9.133786669280706+(51.06148377665357)x1+(-316.28885036504175)x2
电视广告投放20万,视频门户投放30万,预测汽车的销售额为: 
 1398.2313963201796