知识点:回归分析

本周是统计学学习小组-第二期的第十二周,我们这周的学习内容是【回归分析】,涉及到的二级知识点有两个,分别是:

  • 1、一元线性回归:相关关系、最小二乘法、拟合优度检测、显著性检验、回归预测、残差分析

  • 2、多元线性回归:多重共线性、变量选择与逐步回归

统计学(贾俊平第七版)第十一章、十二章

操作部分:汽车销售数据(看看汽车销量与什么因素有关?)

数据 https://pan.baidu.com/s/1VlTy4nfvgXdDzgimVguZMg

理论部分:

在统计学中,回归分析(regression analysis)指的是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。回归分析按照涉及的变量的多少,分为一元回归和多元回归分析;按照因变量的多少,可分为简单回归分析和多重回归分析;按照自变量和因变量之间的关系类型,可分为线性回归分析和非线性回归分析。

在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。

1、根据因变量和自变量的个数来分类:一元回归分析和多元回归分析;

2、根据因变量和自变量的函数表达式来分类:线性回归分析和非线性回归分析。

一元线性回归:

例:考察一个人的收入水平(>)和其受教育程度(H)两个变量,它们之间不存在确定的函数关系。也就是说,受教育程度相同的人.他们的收入水平往往不同,同样,收入水平相同的人,受教育程度也可能不同。因为受教育程度尽管与一个人的收入多少有些关系,但它并不是影响收入的唯一因素.还有其他因素(如职业、工作年限等)的影响。因此,收入水平与受教育程度之间是一种相关关系。

相关系数:通过散点图可以判断两个变量之间有无相关关系,并对变量间的关系形态作岀大致的描述,但散点图不能准确反映变量之间的关系强度。因此,为准确度量两个变量之间的关系强度,需要计算相关系数。相关系数(correlation coefficient)是根据样本数据计算的度量两个变量之间线性关系强度的统计量。若相关系数是根据总体全部数据计算的,称为总体相关系数,记为P;若是根据样本数据计算的,则称为样本相关系数,记为丄样本相关系数的计算公式为:

(使用Excel中的CORREL或PEARSON函数都可以计算两组数据的相关系数。其语法为CORREL (Ar-rayl, Array2)o Amyl和Array2是两个变量的数据区域。)

一般情况下,总体相关系数p是未知的.通常将样本相关系数r作为p的近似估计值。但由于r是根据样本数据计算出来的,因此会受到抽样波动的影响。由于抽取的样本不同,r的取值也就不同,因此r是一个随机变量。能否根据样本相关系数说明总体的相关程度呢?这就需要考察样本相关系数的可靠性,也就是进行显著性检验。

例:

问:根据表11-2计算的相关系数.检验不良贷款与贷款余额之间的相关系数是否显著(a=0.05)。

解:

得出表11-3的各项相关系数的统计量:

回归方程:

最小二乘法:

一元线性回归的公式推导 这里有一个推导过程

例:

带入表达式可得出:

回归直线的拟合度:

拟合优度(Goodness of Fit)是指回归直线对观测值的拟合程度。度量拟合优度的统计量是可决系数(亦称确定系数)R²。R²最大值为1。R²的值越接近1,说明回归直线对观测值的拟合程度越好;反之,R²的值越小,说明回归直线对观测值的拟合程度越差。

引出公式:总平方和(SST) =回归平方和(SSR) +残差平方和(SSE)

估计标准误差:

1.线性关系的检验:

线性关系检验是检验自变量 X 和因变量 Y 之间的线性关系是否显著,或者说,它们之间能否用一个线性模型来表示。为检验两个变量之间的线性关系是否显著,需要构造用于检验的统计量。该统计量的构造是以回归平方和(SSR)和残差平方和(SSE)为基础的。将SSR除以其相应的自由度(SSR的自由度是自变量的个数k ,一元线性回归中自由度为1)

2.回归系数的检验:

回归系数的显著性检验是要检验自变量对因变量的影响是否显著。在一元线性回归模型中,如果回归系数,则回归线是一条水平线,表明因变量 y 的取值不依赖于自变量 x ,即两个变量之间没有线性关系。

一元线性回归的预测实例:https://blog.csdn.net/qq_41799291/article/details/89640428

多元线性回归:

在许多实际问题中,影响因变量的因素往往有多个,这种一个因变量与多个自变量的回归问题就是多元回归,当因变量与各自变量之间为线性关系时,称为多元线性回归。多元线性回归分析的原理同一元线性回归基本相同,但计算上要复杂得多,需借助计算机来完成。

也就是有多个x值,来反映一个y值。

其一般的形式为:

例12数据集:链接:https://pan.baidu.com/s/1Mfo2mKXM-s7lN7g0OEYkfg    提取码:dcf

例12 Excel 处理后 :

多重判定系数:

与一元回归类似,对多元线性回归方程,需要用多重判定系数来评价其拟合程度。在一元回归中曾介绍过因变量离差平方和的分解方法,对多元回归中因变量离差平方和的分解也一样,同样有

python实例:https://blog.csdn.net/weixin_40014576/article/details/79918819

代码部分:


import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from pandas import DataFrame,Series
from sklearn.cross_validation import train_test_split
from sklearn.linear_model import LinearRegression
import os
import seaborn as snsos.chdir('F:/Desktop/统计学第二期/第十二,第十三周')#通过read_csv来读取我们的目的数据集adv_data = pd.read_csv("car.csv")
#得到我们所需要的数据集且查看其前几列以及数据形状
print('head:',adv_data.head(),'\nShape:',adv_data.shape)print(adv_data.corr()) #相关性# 通过加入一个参数kind='reg',seaborn可以添加一条最佳拟合直线和95%的置信带。
sns.pairplot(adv_data, x_vars=['国内生产总值当季值(亿元)x1','汽油价格(元/吨)x2','人民币贷款基准利率%x3','汽车总产量(万辆)x4'], y_vars='传统汽车销量', size=7, aspect=0.8,kind = 'reg')
sns.set(style="white", palette="muted", color_codes=True)     #set( )设置主题,调色板更常用
plt.savefig("pairplot.jpg")
plt.show()#数据分开
mydf = [['国内生产总值当季值(亿元)x1','汽油价格(元/吨)x2','人民币贷款基准利率%x3','汽车总产量(万辆)x4']]X_train,X_test,Y_train,Y_test = train_test_split(adv_data[['国内生产总值当季值(亿元)x1','汽油价格(元/吨)x2','人民币贷款基准利率%x3','汽车总产量(万辆)x4']],adv_data.传统汽车销量,train_size=.80)print("原始数据特征:",adv_data[['国内生产总值当季值(亿元)x1','汽油价格(元/吨)x2','人民币贷款基准利率%x3','汽车总产量(万辆)x4']].shape,",训练数据特征:",X_train.shape,",测试数据特征:",X_test.shape)print("原始数据标签:",adv_data.传统汽车销量.shape,",训练数据标签:",Y_train.shape,",测试数据标签:",Y_test.shape)#回归分析开始
model = LinearRegression()model.fit(X_train,Y_train)a  = model.intercept_#截距b = model.coef_#回归系数print("最佳拟合线:截距",a,",回归系数:",b)
#最佳拟合线:截距 -15.370765781642774 ,回归系数: [-1.96695711e-04  1.26429884e-03  2.88586538e+00  1.02192695e+00]#R方检测
#决定系数r平方
#对于评估模型的精确度
#y误差平方和 = Σ(y实际值 - y预测值)^2
#y的总波动 = Σ(y实际值 - y平均值)^2
#有多少百分比的y波动没有被回归拟合线所描述 = SSE/总波动
#有多少百分比的y波动被回归线描述 = 1 - SSE/总波动 = 决定系数R平方
#对于决定系数R平方来说1) 回归线拟合程度:有多少百分比的y波动刻印有回归线来描述(x的波动变化)
#2)值大小:R平方越高,回归模型越精确(取值范围0~1),1无误差,0无法完成拟合
score = model.score(X_test,Y_test)print(score)#对线性回归进行预测Y_pred = model.predict(X_test)print(Y_pred)plt.plot(range(len(Y_pred)),Y_pred,'b',label="predict")
#显示图像
plt.savefig("predict.jpg")
plt.show()

统计学第十二周,第十三周相关推荐

  1. 「镁客早报」我国成功发射第四十二、四十三颗北斗导航卫星;北京中关村集成电路设计院开园运营...

    海南移动在海口开通海南首个5G基站:SpaceX放弃猎鹰9火箭二级回收计划,想要加快BFR的开发. 1.海南移动在海口开通海南首个5G基站 根据海南日报的报道,11月16日,海南移动在海口开通海南省首 ...

  2. OpenCV学习笔记(十一)(十二)(十三)(十四)(十五)

    OpenCV学习笔记(十一)--谈谈像素的类型和对Templates的限制使用 Templates是c++的一个很强大的特征,可以是数据结构更加安全高效.但也会增加编译时间和代码的长度,当函数被频繁调 ...

  3. 大二上第十三周学习笔记

    周三 F - The Answer to the Ultimate Question of Life, The Universe, and Everything. (打表) 求a ^ 3 + b ^ ...

  4. 笔记-编译原理-第十、十一、十二章、十三章-语法分析-自下而上分析

    第10章 - 自下而上分析1 10.1 自下而上分析 10.1.1 自下而上分析的一个示例 可以看出自下而上分析的主要步骤是不断的用文法来"规约",最后找到一种句型的表示 10.1 ...

  5. 深入浅出统计学(十二)置信区间

    问题 总结 置信区间简便算法 章节理解 和点估计量相比,置信区间是另一种更'稳妥'的估计方法

  6. 2019春第十二周作业

    作业头内容 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言作业评价标准 我在这个课程的目标是 学习二级指针的概念:掌握指针数组的应用方法:理解指针与函数的关系,学习指针作为函数返 ...

  7. 2019春第十二周 编程总结

    一.作业头内容 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 C语言作业评价标准 我在这个课程的目标是 学习二级指针的概念:掌握指针数组的应用方法:理解指针与函数的关系,学习指针作为函 ...

  8. 第十二周-学习进度条

      第十二周 所花时间(包括上课) 20h 代码量(行) 230 博客园(篇) 2 了解到的知识点 fragment的相关知识 转载于:https://www.cnblogs.com/liujinxi ...

  9. 20145240《信息安全系统设计基础》第十二周学习总结

    20145240<信息安全系统设计基础>第十二周学习总结 前三周博客链接 第九周学习总结 第十周学习总结 第十一周学习总结 视频学习内容总结 指针数组与数组指针 数组指针(也称行指针) 定 ...

最新文章

  1. [转贴]经济学人:Win7拉开新时代序幕 云计算群雄逐鹿
  2. python下载安装教程mac-教程|如何在mac上为Python安装XGBoost!
  3. 如何直观的解释back propagation算法?
  4. [BZOJ3992]序列统计
  5. 开源特训营 - Lesson 4 - 如何运营社区
  6. 【HDU - 5468】Puzzled Elena(容斥原理,dfs序,数学,素因子分解,有坑)
  7. java在W n8安装_在windows中安装JDK8并配置环境变量-java环境变量设置
  8. 每个人都有属于自己的机会
  9. linux内核启用64位除法,关于内核中的乘法和除法。
  10. ORA-01034: ORACLE not available
  11. 人眼定位python代码_使用dlib,OpenCV和Python进行人脸识别—人眼眨眼检测
  12. java ts视频文件合并
  13. 利用JDK发布webService实例
  14. 两个平板打天下-将中国看做一个城市圈,漉战移动互联网、高铁时代
  15. metaRTC通用H264文件帧获取发送方法
  16. HOG(histogram of oriented gradients)特征个人总结
  17. python linux 时间格式化,Python中的时间日期转换
  18. CCF201403-5 任务调度
  19. uni-app实现类似物流进度跟踪功能
  20. 亚马逊 S3 下载当前文件夹下的所有内容

热门文章

  1. 日薪行-大龄程序员的绝对优势与绝对劣势-反观01
  2. 漏损分析与控制技术——漏损分析技术
  3. Excel 锁定特定单元格 不允许更改
  4. 异常处理(六)--------SpringBoot+Maven项目运行异常:Unable to find a single main class from the following candidat
  5. expected at least 1 bean which qualifies as autowire candidate for this ***错误的分析
  6. android逆向分析so,Android逆向——so反编译分析由浅入深(回帖奖励)
  7. 利用2阶分数阶微分掩模的边缘检测(Matlab代码实现)
  8. DISCUZ的数据字典3
  9. 初中数学503个必考知识点_初中数学|必考的21个知识点
  10. 蒙特卡洛python求解派_Python实现蒙特卡罗方法