大纲
1.什么是协方差和相关系数
2.简单线性回归
3.线性回归模型评估:决定系数R^2
4.因果关系和相关关系
一,协方差和相关系数
协方差(Covariance)
(1)含义
在概率论和统计学中用于衡量两个变量的总体误差。
通俗的理解为:两个变量在变化过程中是同方向变化?还是反方向变化?同向或反向程度如何?
(2)公式
相关系数
(1)含义
可以理解为一种特殊的协方差,剔除了波动因素的协方差
(2)意义
既然是特殊的协方差,那么它:
1.也可以反映两个变量变化时是同向还是反向,如果同向变化就为正,反向变化就为负。
2.消除了两个变量变化程度的影响,只是单纯反应两个变量每单位变化时的相似程度。
(3)python实现
# 相关系数矩阵
rDf=examDf.corr()
二,简单线性回归
(1)模型
y=a+bx
(2)如何求a和b
一个点的误差=实际值-预测值
误差平方和SSE=∑(实际值-预测值)^2
最小二乘法:使得误差平方和最小
(3)用Python实现
1.提取特征和标签
# 提取特征
2.建立训练数据和测试数据
'''
3.创建及训练模型
'''
运行后会报错,因为这里输入的特征只有1个。注意看报错信息,通过这个例子也学会如何分析报错信息
'''
#第1步:导入线性回归
from sklearn.linear_model import LinearRegression
# 第2步:创建模型:线性回归
model = LinearRegression()
#第3步:训练模型
model.fit(X_train , y_train)
Reshape your data either using array.reshape(-1, 1) if your data has a single feature or array.reshape(1, -1) if it contains a single sample.
sklearn要求输入的特征必须是二维数组的类型,但是因为我们目前只有1个特征,所以需要用安装错误提示用reshape转行成二维数组的类型。
错误提示信息:Reshape your data either using array.reshape(-1, 1) if your data has a single feature
'''
X_train=X_train.values.reshape(-1,1)
X_test=X_test.values.reshape(-1,1)
# Step1:导入线性回归模块
from sklearn.linear_model import LinearRegression
# Step2:创建模型:线性回归
model=LinearRegression()
# Step3:训练模型
model.fit(X_train,y_train)
(4)最佳拟合线
三,线性回归模型评估
1.决定系数R^2
误差平方和SSE=∑(实际值-预测值)^2
y的总波动=∑(实际值-平均值)^2
有多少百分比的y波动没有被回归线描述=误差平方和SSE/y的总波动
有多少百分比的y波动被回归线描述=1-误差平方和SSE/y的总波动=R^2
2.用Python实现
#评估模型:决定系数R^2
model.score(X_test,y_test)
四,因果关系和相关关系
因果关系:a的发生必然会导致b的发生
相关关系:a的发生不一定会导致b的发生