线性回归分析预测数据(1.1线性回归分析建模-简单线性回归分析)

先说声抱歉,之前由于个人原因断了python学习的跟新,由于最近给小组的同学培训挖掘算法类的知识,所以先跳过python基础操作部分,更新后面的算法部分,中间的会尽量尽快补上。

还是那句话,希望大家一起学习,有问题及时批评指正

ps:或许老板再要求培训个Python什么的,也就补上比较快(这句话老板看不到)

接下来一段时间会更新

一、监督学习:

1.回归:

1.1线性回归

1.2非线性回归

2.分类:

2.1决策树

2.2逻辑回归

二、非监督学习:

3.1K_means聚类

该部分线性回归主要解决以下三个问题

1.已知汽车卖家做电视广告数量与卖出的汽车数量如下图,问:当电视广告数量为6的时候,对应的汽车数量是多少?

线性回归分析预测数据(1.1线性回归分析建模-简单线性回归分析)(1)

2. 一家运输公司送货: X1: 运输里程 X2: 运输次数 Y:总运输时间,分布如下图

问:如果一个运输任务是跑102英里,运输6次,预计多少小时?

线性回归分析预测数据(1.1线性回归分析建模-简单线性回归分析)(2)

3.如果自变量中有分类型变量(categorical data) , 如何处理?

线性回归分析预测数据(1.1线性回归分析建模-简单线性回归分析)(3)

为了解决第一个问题,将从几个方面进行分享(由于视屏时长限制,第2、3个问题放到下节分享)

  1. 前言

  2. 课前知识

  3. 简单线性回归

  4. 多元线性回归

  5. 扩展部分

一、前言

回归:指研究一组随机变量(Y1 ,Y2 ,…,Yi)和另一组(X1,X2,…,Xk)变量之间关系的统计分析方法,又称多重回归分析。通常Y1,Y2,…,Yi是因变量,X1、X2,…,Xk是自变量。

线性回归: Y变量为连续数值型(continuous numerical variable) 如:车价,人数,车辆数

逻辑回归: 分类(Classification): Y变量为类别型(categorical variable) 如:用户类别,车品牌,是否流失

线性回归分析预测数据(1.1线性回归分析建模-简单线性回归分析)(4)

二、课前知识-简单线性回归

统计量:对一组数要进行集中趋势的描述,比如两个月每天的业绩指标不桶,我们需要知道哪个月业绩效好 集中趋势衡量:

1.均值/平均数:

{6, 2, 9, 1, 2}

(6 2 9 1 2) / 5 = 20 / 5 = 4

2.中位数:将数据中的各个数值按照大小顺序排列,居于中间位置的变量 当n为奇数的时候:直接取位置处于中间的变量; 当n为偶数的时候,取中间两个 量的平均值

给数据排序:1, 2, 2, 6, 9找出位置处于中间的变量:2

3.众数:数据中出现次数最多的数据

离散程度衡量:

方差:

{6, 2, 9, 1, 2}

(1) (6 - 4)^2 (2 - 4) ^2 (9 - 4)^2 (1 - 4)^2 (2 - 4)^2= 4 4 25 9 4= 46

(2) n - 1 = 5 - 1 = 4

(3) 46 / 4 = 11.5

标准差:方差的开方

s = sqrt(11.5) = 3.39

三、模型

(1)、回归概念:

1 很多做决定过过程通常是根据两个或者多个变量之间的关系

2 回归分析(regression analysis)用来建立方程模拟两个或者多个变量之间如何关联

3 被预测的变量叫做:因变量(dependent variable), y, 输出(output)

4 被用来进行预测的变量叫做: 自变量(independent variable), x, 输入(input)

(2)、简单线性回归介绍

1 简单线性回归包含一个自变量(x)和一个因变量(y)

2 以上两个变量的关系用一条直线来模拟

3 如果包含两个以上的自变量,则称作多元回归分析(multiple regression)

(3)、简单线性回归模型

1被用来描述因变量(y)和自变量(X)以及偏差(error)之间关系的方程叫做回归模型

2 简单线性回归的模型是: y是应变量,x是自变量,β0、β1参数,通过这两个的值来描述x、y的关系、∈随机因素的偏差

四、简单线性回归方程

1.简单线性回归方程(方程是由模型变过来的)

E(y) = β0 β1x (模型左右求期望值,∈偏差满足均值为0的正态分布) 这个方程对应的图像是一条直线,称作回归线

其中,β0是回归线的截距

β1是回归线的斜率

E(y)是在一个给定x值下y的期望值(均值)

2.正向关系

3.负向关系

4.无关系

五、估计的简单线性回归方程

1.ŷ=b0 b1x

这个方程叫做估计线性方程(estimated regression line),应用现有的数据进行估计

其中,b0是估计线性方程的纵截距

b1是估计线性方程的斜率

ŷ是在自变量x等于一个给定值的时候,y的估计值

2.线性回归分析流程图

PS:

1 是一个随机的变量,均值为0

2 ε的方差(variance)对于所有的自变量x是一样的

3 ε的值是独立的

4 ε满足正态分布

六、简单线性回归模型举例

汽车卖家做电视广告数量与卖出的汽车数量:

如何练处适合简单线性回归模型的最佳回归线?

使sum of squares最小

七、简单线性回归计算b0,b1

求极值

通过求导数,导数设置为0,解出来结果b0,b1

分子 =(1-2)(14-20) (3-2)(24-20) (2-2)(18-20) (1-2)(17-20) (3-2)(27-20)

= 6 4 0 3 7

= 20

分母 = (1-2)^2 (3-2)^2 (2-2)^2 (1-2)^2 (3-2)^2

= 1 1 0 1 1

= 4

b1 = 20/4 =5

b0 = 20 - 5*2 = 20 - 10 = 10

八、简单线性回归预测

假设有一周广告数量为6,预测的汽车销售量是多少?

x_given = 6

Y_hat = 5*6 10 = 40

九、简单线性回归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

b1 = numerator/float(dinominator)

b0 = np.mean(y)/float(np.mean(x))

return b0, b1

def predict(x, b0, b1):

return b0 x*b1

x = [1, 3, 2, 1, 3]

y = [14, 24, 18, 17, 27]

b0, b1 = fitSLR(x, y)

print "intercept:", b0, " slope:", b1

x_test = 6

y_test = predict(6, b0, b1)

print "y_test:", y_test

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页