前言
机器学习常用来解决相关分析和回归分析的问题,有时候大家会混淆两者之间的差异,这里通过对比分析来说明两者的区别和联系,最后会以调用sklearn包中LinearRegression方法进行简单线性回归分析为例,说明如何使用python进行数据分析。
一、相关分析和回归分析
1.1 两者的定义
相关分析(Correlation analysis):研究两个或两个以上处于同等地位的随机变量间的相关关系的统计分析方法。
对于线性相关而言有三种类型:正线性相关(总体表现直线朝上);负线性相关;非线性相关。
回归分析(Regression analysis):确定两种或两种以上变量间相互依赖定量关系的统计方法。
根据不同的维度可以将回归分析分为:一元回归和多元multivariate回归分析(因变量多少);简单回归和多重multiple回归分析(自变量多少);线性回归和非线性回归(自变量及因变量间关系类型)。
1.2衡量指标
相关分析:
- 相关系数corrcoef(data):先对变量做标准化变换,然后再计算协方差,把先标准化变换后做协方差运算定义为变量间的相关系数(皮尔逊相关系数)。
- 协方差cov(data,bias=1):描述变量间相互关系,两随机向量X,Y之间的协方差定义为cov(X,Y)=E[(X-E(X))(Y-E(Y))],E表示数学期望。
回归分析:
- 决定系数R平方:评估得到的回归方程是否较好的拟合了样本数据。
1.3区别与联系
两者的区别
- 相关分析中涉及的变量不区分自变量和因变量,变量之间关系是对等的;回归分析中,需要根据研究对象的性质和研究分析的目的,区分变量为自变量和因变量。
- 相关分析中所有变量必须是随机变量;回归分析中,自变量是确定的,而因变量才是随机的。
- 相关分析主要通过“相关系数”反映变量间相关程度的大小,因为变量间关系是对等的,所有相关系数是唯一的;回归分析中,自变量和因变量之间可能存在多个回归方程。
两者的联系
- 相关分析是回归分析的基础和前提,回归分析是相关分析的深入和继续。
- 相关分析表现变量间数量变化的相关程度,回归分析表现变量间数量相关的具体形式。
- 只有变量间存在高度相关时,进行回归分析需求具体形式才有意义。
二、回归分析的Python实现
问题:探究“学习时长”和“学习成绩”之间是否存在相关性关系,如果有找出其回归方程。
2.1理解数据
1、导入数据包
#导入数据包
import warnings
from collections import OrderedDict
import pandas as pd
import numpy as np
warnings.filterwarnings('ignore')
2、创建数据并查看数据
#创建数据并查看数据
examDict={
'学习时间':list(np.arange(0.5,5.5,0.25)),
'学习成绩':[10, 22, 13, 43, 20, 22, 33, 50, 62,
48,