zoukankan      html  css  js  c++  java
  • 线性回归算法

    回归是指利用样本(已知数据),产生拟合方程,从而对(未知数据)进行预测。

    用途:预测、判别合理性。

    困难:①选定变量(多元);②避免多重共线性;③观察拟合方程,避免过度拟合;④检验模型的合理性。

    因变量与自变量的关系:①相关关系(非确定性关系,比如物理与化学成绩相关性),使用相关系数衡量线性相关性的强弱;②函数关系(确定性关系)

    相关系数求解:Pearson样本积矩相关系数


    注意,如果样本是两组配对的顺序数据时,则采用Spearman等级相关系数(秩相关或名次相关)


    公式中,分别表示的名次(从大到小或从小到大)。

    线性回归中最小二乘法的应用

    判断直线拟合程度,如果是通过点向直线引垂线,由解析几何点到直线的距离公式可知,涉及到开方,这样不好求极值,所以改为由点向直线引竖直线求长度,去绝对值,

    这回归误差/残差平方和(二乘数)

    为了使得二乘数RSS最小,则求RSS的极小值,该方法称为最小二乘法

    解二元一次方程组,得到a, b的估计值。

    注意:回归问题擅长于内推插值,而不擅长于外推归纳,在使用回归模型做预测时要注意x适用的取值范围。


    (1)多元线性回归模型

    ①   判定系数(模型对样本数据的解释程度)


    ②回归系数检验统计量(变量的显著性)

    ③线性回归方程拟合程度检验统计量(模型的拟合程度)

    ④简单线性回归(一元),样本Pearson积矩相关系数

    (2)含虚拟变量的多元线性回归模型


    如果直接定义黄、白、黑分别为1,2,3,这样是错误的

    虚拟变量在这里起到调整截距作用

    (3)逐步回归

    向前引入法:从一元回归开始,逐步增加变量,使指标值达到最优为止;

    向后剔除法:从全变量回归开始,逐步删去某个变量,使指标值。。。;

    逐步筛选法:同时向前引入和向后删除

    (4)回归诊断

    ①样本是否符合正态分布假设,如果不符合,则检验和区间预测没法做,这是因为很多检验和预测方法都是基于正态分布的假定之上;

    ②是否存在离群值导致模型产生较大误差,比如输入错误;

    ③线性模型是否合理;

    ④误差是否满足独立性、等方差性、正态分布等假设条件,即不会随y的改变而改变,误差项不受y的影响

    ⑤是否存在多重共线性,这会导致矩阵行列式值为0,则矩阵的逆会趋于无穷大,多元回归模型的系数也会失真变大。

    对应的解决方法:

    ①   拟合度检验,卡方统计量;

    ②   散点图观察等;

    ③   统计量是否合理;

    ④   残差图是否合理;

    ⑤   逐步回归,解决多重共线性的一种方法

    (5)多重共线性

    若存在多重共线性,则至少一个特征值近似接近于0。

    经过中心化和标准化得到的向量,记

    因此,如果存在多重共线性,则是没办法求解的,或者求解结果不稳定。

    出现模型不稳定情况(鲁棒性较低),当数据发生一小点变化时,结果就会发生很大变化,比如系数求出来很大,几千万、几百万;系数正负符号也会经常发生切变。

       (注意:矩阵出现奇异性原因有两个:①变量个数比样本多;②出现多重共线性。)

    多重共线性度量指标


    如何找出哪些变量是多重共线性


  • 相关阅读:
    spring
    抽象和封装
    Oracle索引的原理
    使用JdbcTemplate.queryForObject 的注意点
    ORM是什么意思
    Java 后台处理数据库的二进制图片流
    Extjs girdPanel显示图片
    斜率dp
    多重背包的二进制优化
    POJ 3249 DAG图最短路
  • 原文地址:https://www.cnblogs.com/ws0751/p/8289871.html
Copyright © 2011-2022 走看看