一、简单的线性回归
1.集中趋势衡量
1.1均值(mean):一组已知的数据中的平均值
1.2中位数(median):一组数据中的中间位置的数据值
如有一组数据有n个,若n为奇数,则中位数取中间量;若n为偶数,则中位数取中间两位数的平均值。
1.3 众数(mode):一组数据中出现次数最多的数据
2.离散程度的衡量
2.1方差(variance)
2.2标准差(standard deviation)
3.回归和分类之间的区别
回归:Y变量为连续型数值(continous numerical variable)
分类:Y变量为类别型数值(categorical variable)
4.简单的线性回归:
简单的线性回过通常呈现的是由两个或多个变量组成的他们之间的关系,
通常通过建立方程模型来模拟,
被预测的变量:因变量(dependent variable),也叫输出量(output),
被用来进行预测的变量:自变量(independent variable),也叫输入量(input)。
5.简单线性回归的特点:
一般都是一个输出量和一个输入量,
简单的线性回归可以用一条直线来模拟,
多于两个以上的变量称为多元回归分析。
6.简单线性回归模型
其中,为模型中的参数,为偏差(error)
关于偏差的假定: 随机变量,均值为0;
的方差对所有的自变量x都是一样的;
的值是独立的;
满足正态分布。
7.简单线性回归方程
其中是回归线性方程的截距,是回归线性方程的系数,E(y)是在一个给定的x值下y的期望值(均值)。
8.估计的简单线性回归方程(estimated regression line)
其中的、都是估计值。
9.python实现代码
import numpy as np
def fitSLR(x,y):
n=len(x)
dinominator = 0
numerator=0
for i in range(0,n):
numerator += (x[i]-np.mean(x))*(y[i]-np.mean(y))
dinominator += (x[i]-np.mean(x))**2
print("numerator:"+str(numerator))
print("dinominator:"+str(dinominator))
b1 = numerator/float(dinominator)
b0 = np.mean(y)/float(np.mean(x))
return b0,b1
# y= b0+x*b1 简单线性回归估计方程
def prefict(x,b0,b1):
return b0+x*b1
x=[1,3,2,1,3]
y=[14,24,18,17,27]
b0,b1=fitSLR(x, y)
y_predict = prefict(6,b0,b1)
print("y_predict:"+str(y_predict))
结果如下图: