什么是多元线性回归

在回归分析中,如果有两个或两个以上的自变量,就称为多元回归。**事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。**因此多元线性回归比一元线性回归的实用意义更大。

y=β0+β1x1+β2x2+ … +βpxp+ε # 公式

今天讲一个例子

这里有个excel 文件数据,我们来研究到底是哪个因素影响sales最明显,是TV,还是radio,还是newspaper,也就是找的销售额到底是那家个元素引起的,怎么才能提高销售额?


导入相对的库

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
plt.style.use('ggplot')   #使用ggplot样式
from sklearn.linear_model import LinearRegression  # 导入线性回归
from sklearn.model_selection import train_test_split  # 训练数据
from sklearn.metrics import mean_squared_error  #用来计算距离平方误差,评价模型

打开文件

data = pd.read_csv('Advertising.csv')
data.head()  #看下data


先画图分析一下

plt.scatter(data.TV, data.sales)

plt.scatter(data.radio, data.sales)

plt.scatter(data.newspaper, data.sales)


从图中分析看出newspaper的点分散太广,预测毫无关系,应该要去除

进入代码环节

x = data[['TV','radio','newspaper']]
y = data.sales
x_train,x_test,y_train,y_test = train_test_split(x, y)  #得到训练和测试训练集
model = LinearRegression()  #导入线性回归
model.fit(x_train, y_train)  #
model.coef_    # 斜率 有三个
model.intercept_  # 截距

得到

array([ 0.04480311,  0.19277245, -0.00301245])
3.0258997429585506
for i in zip(x_train.columns, model.coef_):print(i)    #打印对应的参数
('TV', 0.04480311217789182)
('radio', 0.19277245418149513)
('newspaper', -0.003012450368706149)
mean_squared_error(model.predict(x_test), y_test)  # 模型的好坏用距离的平方和计算
4.330748450267551

y =0.04480311217789182 * x1 + 0.19277245418149513 *x2 -0.003012450368706149 * x3 + 3.0258997429585506

我们可以看到newspaper的的系数小于0,说明了投入了,反而影响销售额 那么如何改进模型,就是去掉newspaper的数值

x = data[['TV','radio']]
y = data.sales
x_train,x_test,y_train,y_test = train_test_split(x, y)
model2 = LinearRegression()
model2.fit(x_train,y_train)
model2.coef_
model2.intercept_
mean_squared_error(model2.predict(x_test),y_test)
array([0.04666856, 0.17769367])
3.1183329992288478
2.984535789030915  # 比第一个model的小,说明更好

y =0.04666856 * x1 +0.17769367 *x2 + 3.1183329992288478

多元线性回归分析问题相关推荐

  1. 多元线性回归matlab代码_医学统计|多元线性回归分析

    回归分析的定义:回归分析是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法.运用十分广泛.其表达形式为y = w'x+e,e为误差服从均值为0的正态分布.回归分析中,只包括一个自变量和一个 ...

  2. 数学建模-7.多元线性回归分析

    多元线性回归分析 回归分析是数据分析中最基础也是最重要的分析工具,绝大多数的数据分析问题,都可以使用回归的思想解决 回归分析的任务:通过研究自变量X和因变量Y的相关关系(注意相关性≠因果性),尝试解释 ...

  3. python多元线性回归实例_关于多元线性回归分析——PythonSPSS

    原始数据在这里 1.观察数据 首先,用Pandas打开数据,并进行观察. import numpy import pandas as pd import matplotlib.pyplot as pl ...

  4. 数学建模暑期集训6:用SPSS对数据进行多元线性回归分析

    在本专栏的第六篇数学建模学习笔记(六)多元回归分析算法(matlab)博文中,记录了如何用matlab进行多元回归分析.本篇则将使用spss软件达到同样的效果,且使用起来比matlab更为方便. 空谈 ...

  5. 用R进行多元线性回归分析建模

    概念:多元回归分析预测法,是指通过对两个或两个以上的自变量与一个因变量的相关分析,建立预测模型进行预测的方法.当自变量与因变量之间存在线性关系时,称为多元线性回归分析. 下面我就举几个例子来说明一下 ...

  6. 5.1 多元线性回归分析

    在本章中,我们将从线性回归模型开始,它是最简单的模型之一. 数据集来自于UIC数据集中的能效数据集,该数据及用来分析建筑的供热负荷能效和制冷负荷能效,其中自变量有8个,因变量有两个,实例主要分析8个自 ...

  7. R语言计量(一):一元线性回归与多元线性回归分析

    文章目录 一.数据调用与预处理 二.一元线性回归分析 三.多元线性回归分析 (一)解释变量的多重共线性检测 (二)多元回归 1. 多元最小二乘回归 2. 逐步回归 (三)回归诊断 四.模型评价-常用的 ...

  8. SPSS Modeler 多元线性回归分析(指南 第九章)

    今天,小编和大家一起使用SPSS Modeler 进行多元线性回归分析. 分析步骤: ① 分析变量关系,构建回归模型. ② 估计模型系数,求解回归模型. ③ 检查整体模型,确认是否显著. ④ 检验模型 ...

  9. 基于Python的多元线性回归分析

    一.多元线性回归分析(Multiple regression) 1.与简单线性回归相比较,具有多个自变量x 2.多元回归模型 其中是误差值,与简单线性回归分析中的要求特点相一致.其余的系数和截距为参数 ...

  10. 多元线性回归分析预测法概述

    在市场的经济活动中,经常会遇到某一市场现象的发展和变化取决于几个影响因素的情况,也就是一个因变量和几个自变量有依存关系的情况.而且有时几个影响因素主次难以区分,或者有的因素虽属次要,但也不能略去其作用 ...

最新文章

  1. 基于Windows 2008 R2 Core的SQL Server 2008 R2 Cluster部署(Step by Step)
  2. mySql 的常用命令
  3. AngularJS基于模块化的MVC实现
  4. 这个微型机器人可以在人体内“游泳”
  5. 做主管常犯的毛病毛病六:忘了公司的命脉:利润(转)
  6. 使用pm2启动node文件_PM2 是什么
  7. Go 把类型放在变量名后面,是特立独行还是另有机密?
  8. 三菱socket通信实例_三菱QUnCPU内置以太网Socket通信(TCP篇)
  9. thinkphp tp 框架如何查看版本
  10. 数据分析-用python分析中国五大城市的PM2.5值(ols建立回归模型)
  11. html转换成chm乱码,【全部解决】用Docbook生成htmlhelp + 【完全解决】生成的chm中标题和左边的索引目录是乱码的问题...
  12. LTP(Linux Test Project)学习(五)——LTP代码学习
  13. 谷粒商城 - 微服务分布式电商项目
  14. Vivado 2020.1 and 2020.2 错误 arm-none-eabi-ar: *.o: Invalid argument
  15. 如何安装 Manjaro 21 桌面系统 ?
  16. DXF库(dxflib)使用指南
  17. unity粒子系统stop()和clear()
  18. banq修复_banq手机u盘怎么用u盘视频文件有锁
  19. 今天博客抽风了,我也抽风了
  20. Qt Creator中的项目模板说明

热门文章

  1. ESD二极管 DW12P4N3-S 电压12V 封装DFN2020-3L
  2. websoc是什么可以卸载吗_函授可以考公务员吗?什么是函授?
  3. 普通话测试第四题评分标准_普通话考试中命题说话的扣分标准
  4. IDEA 每次运行项目时都提示源值1.5已过时,将在未来所有版本中删除
  5. 分块试水--CODEVS5037 线段树练习4加强版
  6. Datatable Initialization - 使用objects数据源初始化
  7. 3.环境搭建-Hadoop(CDH)集群搭建
  8. 2015-4-20 BAV推广页面修改前后对比-安全网购
  9. loj 1210 (求最少的加边数使得图变成强连通)
  10. 第一个Android项目