精华内容
下载资源
问答
  • 1973年安斯库姆(Anscombe)构造了四组数据,用这四组数据得到的经验回归方程是相同的, 都是y=3.00+0.500x, 决定系数都是,r2=0.667, 相关系数r=0.816。 这四组数据所建的回归方程是相同的,决定系数r2,F统计量也都...

    1973年安斯库姆(Anscombe)构造了四组数据,用这四组数据得到的经验回归方程是相同的,
    都是y=3.00+0.500x,
    决定系数都是,r2=0.667,
    相关系数r=0.816。
    这四组数据所建的回归方程是相同的,决定系数r2,F统计量也都相同,
    且均通过显著性检验,说明这四组数据y与x之间都有显著的线性相关关系。
    然而,变量y与x之间是否就有相同的线性相关关系呢?
    由上述四组数据的散点图(见图2.7)可以看到,变量y与x之间的关系是很不相同的。

    import numpy as np
    import pandas as pd
    import matplotlib.pyplot as plt
    import seaborn as sns
    import statsmodels.api as sm
    import statsmodels.formula.api as smf
    
    df = pd.read_json( '{"x1":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":9,"6":10,"7":11,"8":12,"9":13,"10":14},"y1":{"0":4.26,"1":5.68,"2":7.24,"3":4.82,"4":6.95,"5":8.81,"6":8.04,"7":8.33,"8":10.84,"9":7.58,"10":9.96},"x2":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":9,"6":10,"7":11,"8":12,"9":13,"10":14},"y2":{"0":3.1,"1":4.74,"2":6.13,"3":7.26,"4":8.14,"5":8.77,"6":9.14,"7":9.26,"8":9.13,"9":8.74,"10":8.1},"x3":{"0":4,"1":5,"2":6,"3":7,"4":8,"5":9,"6":10,"7":11,"8":12,"9":13,"10":14},"y3":{"0":5.39,"1":5.73,"2":6.08,"3":6.44,"4":6.77,"5":7.11,"6":7.46,"7":7.81,"8":8.15,"9":12.74,"10":8.84},"x4":{"0":8,"1":8,"2":8,"3":8,"4":8,"5":8,"6":8,"7":8,"8":8,"9":8,"10":19},"y4":{"0":6.58,"1":5.76,"2":7.71,"3":8.84,"4":8.47,"5":7.04,"6":5.25,"7":5.56,"8":7.91,"9":6.89,"10":12.5}}')
    df.keys()
    df.head()
    
    model1 = smf.ols("y1 ~ x1 " , data=df).fit()
    model2 = smf.ols("y2 ~ x2 " , data=df).fit()
    model3 = smf.ols("y3 ~ x3 " , data=df).fit()
    model4 = smf.ols("y4 ~ x4 " , data=df).fit()
    
    model1.summary()
    model2.summary()
    model3.summary()
    model4.summary()
    
    
    fig = plt.figure()
    
    ax1 = fig.add_subplot(2, 2, 1)
    ax1.plot(df['x1'], df['y1'], 'ro')
    ax1.plot(df['x1'], model1.predict(), 'g-')
    
    ax2 = fig.add_subplot(2, 2, 2)
    ax2.plot(df['x2'], df['y2'], 'ro')
    ax2.plot(df['x2'], model2.predict(), 'g-')
    
    
    ax3 = fig.add_subplot(2, 2, 3)
    ax3.plot(df['x3'], df['y3'], 'ro')
    ax3.plot(df['x3'], model3.predict(), 'g-')
    
    
    ax4 = fig.add_subplot(2, 2, 4)
    ax4.plot(df['x4'], df['y4'], 'ro')
    ax4.plot(df['x4'], model4.predict(), 'g-')
    
    plt.tight_layout()
    

    在这里插入图片描述

    #########################
    ########################绘制残差图
    #########################
    fig = plt.figure()
    
    ax = fig.add_subplot(2, 2, 1)
    sns.residplot(x="x1", y= "y1", data=df)
    
    ax = fig.add_subplot(2, 2, 2)
    sns.residplot(x="x2", y = "y2", data=df)
    
    ax = fig.add_subplot(2, 2, 3)
    sns.residplot(x = "x3", y = "y3", data=df)
    
    ax = fig.add_subplot(2, 2, 4)
    sns.residplot(x = "x4", y = "y4", data=df)
    
    

    在这里插入图片描述

    展开全文
  • 线性回归检验1 背景需求2 残差分析3 python实操4 强影响点问题5 共线性问题6 线性回归问题总结 1 背景需求 之前进行了线性回归模型的创立,并进行了预测,但是存在一个问题,为什么模型之后的得分提高了,背后是因为...

    线性回归残差检验、影响点分析、多重共线性问题及问题总结

    手动反爬虫,禁止转载:原博地址 https://blog.csdn.net/lys_828/article/details/116331806

     知识梳理不易,请尊重劳动成果,文章仅发布在CSDN网站上,在其他网站看到该博文均属于未经作者授权的恶意爬取信息
    

    1 背景需求

    之前进行了线性回归模型的创立,并进行了预测,但是存在一个问题,为什么模型之后的得分提高了,背后是因为什么?

    最开始数据是右偏的,最后进行了调整,取了对数,整个模型的得分就上去了。也就是说线性回归对正态分布的数据会有很好的表现,但是不是正态分布的时候,模型得分不是很好

    这时候我们再来回顾一下多元线性回归的前提条件,有了之前的实际操作,熟悉一遍流程之后再回来看看要进行的前提,这样会有一个更容易理解,或者不那么抗拒。多元线性回归总共有6条,分别如下

    • (1)Y的平均值能够准确地被由X组成的线性函数建模出来
    • (2)解释变量和随机扰动项不存在线性关系
    • (3)解释变量之间不存在线性关系(或强相关)
    • (4)假设随机误差项ε\varepsilon是一个均值为0的正态分布
    • (5)假设随机误差项ε\varepsilon的方差恒为σ2\sigma^{2}
    • (6)误差是独立的

    接下通过讲个小故事来进行理解:就是线性回归的发明者遇到的问题。首先回归这个词是怎么来的?就是达尔文的侄子在研究孩子的身高受其父亲的影响时。发现当父亲的身高很高时,儿子的身高一般也不会很矮,当父亲的身高矮的时候,儿子的身高也矮,最后经过统计发现,儿子的身高都是靠近均值,这个就是回归,代表回归均值的意思。回归均值的概念在很多方面都有运用,预测身高,体重,还有股票的涨跌等
    在这里插入图片描述
    故事讲完了,那么这个简单的模型中的假设如何呢?

    首先人的身高是服从正态分布的,那回归函数中y=βx+εy = \beta x + \varepsilon,x代表着父亲的身高,y代表着x身高,那么自然两者都是正态分布的,最后的末尾扰动项ε\varepsilon自然也是正态分布的(因为我们至少知道多个正态分布变量的加减仍服从正态分布,通过这理解ε\varepsilon属于正态分布),那么自然 ε\varepsilon的方差恒为σ2\sigma^{2}

    再看误差是独立的,容易理解的方式就是举个反例,就是不独立是什么情况,也就是达尔文的侄子抽的100人中有两个人是双胞胎,来自于同一个父亲,这样样本数据就有了噪音项,数据直接就有了关系,自然对应的误差研究不是独立的。所以回归的前提要求误差是独立的

    以上的这三个假设针对于扰动项,其实也就是针对于y的,要求因变量是正态,具有特定的方差和独立。然后再看一下其他的假设

    Y的平均值能够准确地被由X组成的线性函数建模出来。这里的线性函数不是说必须是一次的,这个建模的过程函数是千变万化的,在实际处理数据的过程中我们一般就是遇到的就是直线、抛物线、对数三种,最后一个就是逻辑回归

    • y =β0 +β1x2 + u
    • y =β0 +β1 ln(x) + u
    • y =e(β0 +β1x + u)
    • Ln(P/(1-P)) =β0 +βx+ u(其中P为Y=1的概率)

    最后两个就是对x进行的强调,解释变量和随机扰动项不存在线性关系,意思就是ε\varepsilon里面不再包含有x相关的内容。举个例子,孩子今后的收入与教育水平之间的关系:y=βx+εy_{收入} = \beta x_{教育水平} +\varepsilon,这里的扰动项就是影响孩子收入但是很孩子教育水平无关的内容,这里可以包含父亲的收入/职业等因素。可知父亲的身份肯定会影响孩子的收入,但是父亲的身份很多情况下都是影响孩子的教育,大家都懂的。所以最终的βx\beta x_{教育水平}应该尽可能的全部纳入扰动项里面有包含的内容

    解释变量之间不存在线性关系(或强相关),在计算过程我们会用到解释变量的行列式,如果解释变量相关,那么就是对应的行和列成比例,行列式的值为0,那么用在分母上,就是没有意义的,因此在计算β\beta时候要求分母不为0的,也就要求解释变量之间不存在线性关系

    至此多元线性回归的六个假设条件就全部梳理完。简单提示就是:3个关于y(扰动项),两个x,一个xy。

    对比之后的其他的学习,比如神经网络,支持向量机等,这种就是会自己训练找到对应的函数。还有后面的数据挖掘的算法(忽略了后三个假设),可以很快的出结果,但是效果可能没有回归来的好。但是关于第2,3两条是最核心的,模型创建之前一定要解决好共线性的问题

    2 残差分析

    图形最为直观,可以先通过图形看一下残差是不是有以下的各种情况:

    • 残差中是否有离群值?
    • 残差散点图是否和某个解释变量有曲线关系?
    • 残差的离散程度是否和某个解释变量有关?

    下面就是关于残差绘制图形常见的样式,其中左上方图是正常的情况,随着x变化,残差是随机分布的,也就是残差中不包含有x的任何信息,这样模型也就建成了。右上显示了抛物线关系,说明我们找到了y与x之间的关系,但是y与x平方之间的关系却被我们忽略了。左下方显示的是异方差现象,就是我们上一个案例中遇到的情况,随着x增大,残差随着呈现出扇面分布,多出现在横截面数据中(数据在同一时间采集到的)。最后一个右下图就是,随着x变化,残差呈现出周期变化,多发生在时间序列数据之中。
    在这里插入图片描述
    问题解决方式:

    • X和Y为非线性关系:加入X的高阶形式,一般加X2已经足够了;
    • 异方差:横截面数据经常表现出异方差现象(比如“信用卡支出分析”数据),修正的方法有很多,比如加权最小二乘法、稳健回归,但是最简单的方法是对Y取自然对数;
    • 自相关:分析时间序列和空间数据时经常遇到这个现象,复杂的方法是使用时间序列或空间计量方法分析,简单的方法是加入Y的一阶滞后项进行回归。

    3 python实操

    这里以信用卡的案例进行讲解,之前绘制的残差图形如下,可以发现很明显的异方差现象
    在这里插入图片描述
    当前的模型得分为0.454
    在这里插入图片描述
    改良的第一步就是将因变量进行对数转化,然后看一下模型得分是0.403,模型得分下降,说明了单独修改一个因变量是不行的,对应的自变量也应该取对数
    在这里插入图片描述
    然后对自变量也取对数,结果如下,模型得分提高了,并且根据残差图,可以发现基本上和x没有什么关系了,就是最下角会存在两个离群值
    在这里插入图片描述

    4 强影响点问题

    通过上面的修正残差图可以发现存在着两个异常点(强影响点),对于这个问题举个夸张的示例图,如下。可以发现一个点以一己之力,带偏了整个总体
    在这里插入图片描述
    因此对于异常值点的处理很有必要,异常数据的识别方式,这里使用的就是学生化残差,计算方式:学生化残差=残差/标准误差

    exp['resid_t'] = (exp['resid'] - exp['resid'].mean()) / exp['resid'].std()
    

    •强影响点的识别:(样本较小的时候选择2作为依据,样本量过1000了可以选择3)

    • |SR| > 2 为相对小的影响点
    • |SR| > 3 为相对大的影响点

    接下来就是删除异常点在进行建模,看一下评分,模型最终的分数有提升了一些。需要注意异常值的去除只做一次就可以,不然再运行一次会在刚刚的基础上又去除了多个
    在这里插入图片描述

    5 共线性问题

    在线性回归的假设中,两个核心的假设都是和共线性有关的,构建一下多重变量的模型,结果如下。经过处理后的数据模型得分提高了一些
    在这里插入图片描述
    那么加入模型的这些变量之间共线性程度如何呢?或者说之间是不是有相关性?评价的方式有三种:

    • 方差膨胀因子
    • 特征根与条件指数
    • 无截距的多重共线性分析

    这里就介绍一下,评方差膨胀因子VIF,计算方式如下为:VIF=11R2VIF = \frac{1}{1-R^{2}} , 方差膨胀因子> 10 表示某变量的多重共线性严重. 传入相关的变量,最后求解出结果
    在这里插入图片描述
    检验完了之后发现有两个变量的VIF值都是大于10,这时候就需要看一下模型中这两个变量的显著性了,第一个变量Income_ln的p值高达0.752,首先删除这个变量,然后在创建模型跑一下看看剩下两个变量的VIF如何
    在这里插入图片描述
    dist_home_val_ln变量几乎没变,但是dist_avg_income_ln变量却发生了很大的变化,说明dist_avg_income_ln与Income_ln这两个变量存在着很大程度上的共线性

    6 线性回归问题总结

    线性回归的步骤,第一步初始分析,就是进行描述性统计分析,然后看一下x和y的基本情况,通常看一下频数和分布,确定是不是正态分布或者右偏分布,还有异常值的问题

    变量选择就是看看x与y之间的关系,通过各种检验保留那些与y有显著关系的x作为输入变量

    验证模型的假定,第二步检验了x与y之间的显著关系,但是具体两者之间的关系是不清出的,也就是不知道是线性、抛物线还是对数等关系

    接着就是进行多重共线性与强影响点的诊断与分析,最后就是模型没有问题了进行预测和解释
    在这里插入图片描述

    再次回到之前的假设,对于假设的条件,如何进行判断,梳理如下:

    • (1)模型设置,选择何种回归方法、如何选变量、变量以何种形式放入模型(根据理论、看散点图);
    • (2)解释变量和扰动项不能相关(根据理论或常识判断,无法检验);
    • (3)解释变量之间不能强线性相关(膨胀系数);
    • (4)扰动项独立同分布;(异方差检验、DW检验)
    • (5)扰动项服从正态分布 (QQ检验)

    3-5检验只能保证模型精确,1、2保证模型是正确的。

    • 违反假设1,则模型预测能力差;
    • 违反假设2,则回归系数估计有偏;
    • 违反假设3,则回归系数的标准误被放大;
    • 违反假设4,则扰动项的标准差估计不准,
    • 违反假设5,则T检验失效。
    展开全文
  • spss系列——一元线性回归分析与预测实例散点图回归系数二级目录三级目录 本文主要利用某商店记录了12个月的销售收入yyy(亿元)和广告费xxx(亿元),研究某广告对销售收入的影响,其数据见下表所示。 销售收人与...


    本文主要利用某商店记录了12个月的销售收入yy(亿元)和广告费xx(亿元),研究某广告对销售收入的影响,其数据见下表所示。

    • 销售收人与广告费统计表
    月份 1 2 3 4 5 6 7 8 9 10 11 12
    xx 2 2 3 4 5 4.5 5.5 7.5 8 9 10 11
    yy 30 35 40 45 50 55 66 75 85 100 110 120
    • 本期重点放在介绍一元线性回归在spss的运用以及对结果的分析,具体操作步骤我都详细列出来啦~~不会的朋友可以跟着操作,这里我就不放操作界面截图啦!

    散点图

    • Step1:将数据导进SPSS
    • step2:点击“图形”——“旧对话框”——“散点图”——“简单散点图”画出散点图
    • Step3:双击散点图激活——点击“元素”——“总计拟合线”作出拟合线

    图1-散点图
    由散点图中的拟合线可以明显看出xxyy大致呈线性关系,可以考虑做线性回归预测。

    回归系数

    用最小二乘法估计回归系数 β0{\beta_0}β1{\beta_1} 的值

    • Step1:点击“分析”——“回归”——“二阶最小平方”
    • Step2:将 yy 作为“因变量”,xx 作为“解释变量”,月份为“工具变量”分析
      回归系数表
      如图显示,β0^\hat{\beta_0}=9.086,β1^\hat{\beta_1}=9.818,所以可以得出回归模型为
      y^=9.086+9.818x\hat{y}=9.086+9.818x

    线性回归模型

    • Step1:点击“分析”——“回归”——“线性”
    • Step2:将 yy 作为“因变量”,xx 作为“自变量”——点击“统计”——勾选
      “回归系数”的“置信区间”——“级别”设定为95%
      在这里插入图片描述由模型摘要可以看出回归标准差(级标准估算的错误)σ^\hat{\sigma}=4.70420,决定系数(RR 方)为0.978,即认为模型拟合很好,解释变量有97.8%的解释能力。
      在这里插入图片描述
      从方差分析表ANOVA中看到,FF=449.610,显著性近似为0,说明 yyxx 的线性回归高度显著,模型具有统计意义。

    区间估计

    在这里插入图片描述
    由图可以看出,
    β0^\hat{\beta_0}置信水平为95%的区间估计为(2.696,16.319),
    β1^\hat{\beta_1}置信水平为95%的区间估计为(8.723,10.771)。

    系数显著性检验

    由系数图可以看出回归系数 β1^\hat{\beta_1}检验的 tt 的值为21.204,显著性近似为0,则认为对回归系数 β1^\hat{\beta_1} 的估计高度显著。

    • 可注意到与前面直接做最小二乘法的结果有细微差异,这是由于方法使用时的置信度略有不同,计算方式和结果不同,但不影响结果,估计值两种皆可用。

    残差散点图

    Step1:计算残差值保存为“*ZPRED ”,预测值保存为“*ZRESID”
    Step2:点击“分析”——“回归”——“线性”
    Step3:点击“图”——将“*ZPRED ”作为Y,将“ *ZRESID”作为X,画出标准化残差的散点图
    在这里插入图片描述
    如残差散点图所示,回归标准化残差在区间(-2.2)内波动,则说明拟合程度好。

    预测

    当广告费用为4.2亿元时,销售收入将达到多少?并给出置信水平95%的置信区间。
    Step1:在 xx 那一列后面添加一个4.2的值
    Step2:点击“分析”——“回归”——“线性”
    Step3:将 yy 作为“因变量”, xx 作为“自变量”——点击“统计”——勾选“回归系数”的“估算值”得出一列预测值。
    在这里插入图片描述
    由图可得出当广告费用( xx )为4.2亿元时,销售收入( yy )的预测值为50.44492.
    在这里插入图片描述
    上图显示,残差的标准偏差为4.48527,则置信水平95%的置信区间为50.44492 4.48527,即为(45.95965,54.93019)

    感谢小伙伴们的浏览~~下期见喽

    跟着这个实例,简单线性回归模型的spss基本操作和使用就完成啦,还有不懂得或补充的问题欢迎留言哦~~

    展开全文
  • 一元线性回归及Excel回归分析

    千次阅读 2019-06-08 19:26:54
    一元线性回归可以说是数据分析中非常简单的一个知识点,有一点点统计、分析、建模经验的人都知道这个分析的含义,也会用各种工具来做这个分析。这里面想把这个分析背后的细节讲讲清楚,也就是后面的数学原理。 什么...

    摘要

    一元线性回归可以说是数据分析中非常简单的一个知识点,有一点点统计、分析、建模经验的人都知道这个分析的含义,也会用各种工具来做这个分析。这里面想把这个分析背后的细节讲讲清楚,也就是后面的数学原理。


    什么是一元线性回归

    回归分析(Regression Analysis)是确定两种或两种以上变量间相互依赖的定量关系的一种统计分析方法。在回归分析中,只包括一个自变量和一个因变量,且二者的关系可用一条直线近似表示,这种回归分析称为一元线性回归分析。举个例子来说吧:

    比方说有一个公司,每月的广告费用和销售额,如下表所示:

    案例数据

    如果我们把广告费和销售额画在二维坐标内,就能够得到一个散点图,如果想探索广告费和销售额的关系,就可以利用一元线性回归做出一条拟合直线:

    拟合直线

    这条线是怎么画出来的

    对于一元线性回归来说,可以看成Y的值是随着X的值变化,每一个实际的X都会有一个实际的Y值,我们叫Y实际,那么我们就是要求出一条直线,每一个实际的X都会有一个直线预测的Y值,我们叫做Y预测,回归线使得每个Y的实际值与预测值之差的平方和最小,即(Y1实际-Y1预测)^2+(Y2实际-Y2预测)^2+ …… +(Yn实际-Yn预测)^2的和最小(这个和叫SSE,后面会具体讲)。

    现在来实际求一下这条线:

    我们都知道直线在坐标系可以表示为Y=aX+b,所以(Y实际-Y预测)就可以写成(Y实际-(aX实际+b)),于是平方和可以写成a和b的函数。只需要求出让Q最小的a和b的值,那么回归线的也就求出来了。

      简单插播一下函数最小值怎么求:

    首先,一元函数最小值点的导数为零,比如说Y=X^2,X^2的导数是2X,令2X=0,求得X=0的时候,Y取最小值。

    那么实质上二元函数也是一样可以类推。不妨把二元函数图象设想成一个曲面,最小值想象成一个凹陷,那么在这个凹陷底部,从任意方向上看,偏导数都是0。

    因此,对于函数Q,分别对于a和b求偏导数,然后令偏导数等于0,就可以得到一个关于a和b的二元方程组,就可以求出a和b了。这个方法被称为最小二乘法。下面是具体的数学演算过程,不愿意看可以直接看后面的结论。

    先把公式展开一下:

    Q函数表达式展开

    然后利用平均数,把上面式子中每个括号里的内容进一步化简。例如

    Y^2的平均

    则:

    上式子两边×n

     

    于是

    Q最终化简结果

    然后分别对Q求a的偏导数和b的偏导数,令偏导数等于0。

    Q分别对a和b求偏导数,令偏导数为0

    进一步化简,可以消掉2n,最后得到关于a,b的二元方程组为

    关于a,b的 二元方程组

    最后得出a和b的求解公式:

    最小二乘法求出直线的斜率a和斜率b

    有了这个公式,对于广告费和销售额的那个例子,我们就可以算出那条拟合直线具体是什么,分别求出公式中的各种平均数,然后带入即可,最后算出a=1.98,b=2.25

    最终的回归拟合直线为Y=1.98X+2.25,利用回归直线可以做一些预测,比如如果投入广告费2万,那么预计销售额为6.2万

    评价回归线拟合程度的好坏

    我们画出的拟合直线只是一个近似,因为肯定很多的点都没有落在直线上,那么我们的直线拟合程度到底怎么样呢?在统计学中有一个术语叫做R^2(coefficient ofdetermination,中文叫判定系数、拟合优度,决定系数,简书不能上标,这里是R^2是“R的平方”),用来判断回归方程的拟合程度。

    首先要明确一下如下几个概念:

    总偏差平方和(又称总平方和,SST,Sum of Squaresfor Total):是每个因变量的实际值(给定点的所有Y)与因变量平均值(给定点的所有Y的平均)的差的平方和,即,反映了因变量取值的总体波动情况。如下:

    SST公式

    回归平方和(SSR,Sum of Squares forRegression):因变量的回归值(直线上的Y值)与其均值(给定点的Y值平均)的差的平方和,即,它是由于自变量x的变化引起的y的变化,反映了y的总偏差中由于x与y之间的线性关系引起的y的变化部分,是可以由回归直线来解释的。

    SSR公式

     

    残差平方和(又称误差平方和,SSE,Sum of Squaresfor Error):因变量的各实际观测值(给定点的Y值)与回归值(回归直线上的Y值)的差的平方和,它是除了x对y的线性影响之外的其他因素对y变化的作用,是不能由回归直线来解释的。

    这些概念还是有些晦涩,我个人是这么理解的:

    就拿广告费和销售额的例子来说,其实广告费只是影响销售额的其中一个比较重要的因素,可能还有经济水平、产品质量、客户服务水平等众多难以说清的因素在影响最终的销售额,那么实际的销售额就是众多因素相互作用最终的结果,由于销售额是波动的,所以用上文提到的每个月的销售额与平均销售额的差的平方和(即总平方和)来表示整体的波动情况。

    回归线只表示广告费一个变量的变化对于总销售额的影响,所以必然会造成偏差,所以才会有实际值和回归值是有差异的,因此回归线只能解释一部分影响

    那么实际值与回归值的差异,就是除了广告费之外其他无数因素共同作用的结果,是不能用回归线来解释的。

    因此SST(总偏差)=SSR(回归线可以解释的偏差)+SSE(回归线不能解释的偏差)

    那么所画回归直线的拟合程度的好坏,其实就是看看这条直线(及X和Y的这个线性关系)能够多大程度上反映(或者说解释)Y值的变化,定义

    R^2=SSR/SST 或 R^2=1-SSE/SST, R^2的取值在0,1之间,越接近1说明拟合程度越好

    假如所有的点都在回归线上,说明SSE为0,则R^2=1,意味着Y的变化100%由X的变化引起,没有其他因素会影响Y,回归线能够完全解释Y的变化。如果R^2很低,说明X和Y之间可能不存在线性关系

    还是回到最开始的广告费和销售额的例子,这个回归线的R^2为0.73,说明拟合程度还凑合。

    四、相关系数R和判定系数R^2的区别

    判定系数来判断回归方程的拟合程度,表示拟合直线能多大程度上反映Y的波动。

    在统计中还有一个类似的概念,叫做相关系数R(这个没有平方,学名是皮尔逊相关系数,因为这不是唯一的一个相关系数,而是最常见最常用的一个),用来表示X和Y作为两个随机变量的线性相关程度,取值范围为【-1,1】。

    当R=1,说明X和Y完全正相关,即可以用一条直线,把所有样本点(x,y)都串起来,且斜率为正,当R=-1,说明完全负相关,及可以用一条斜率为负的直线把所有点串起来。如果在R=0,则说明X和Y没有线性关系,注意,是没有线性关系,说不定有其他关系。

    就如同这两个概念的符号表示一样,在数学上可以证明,相关系数R的平方就是判定系数。

    变量的显著性检验

    变量的显著性检验的目的:剔除回归系数中不显著的解释变量(也就是X),使得模型更简洁。在一元线性模型中,我们只有有一个自变量X,就是要判断X对Y是否有显著性的影响;多元线性回归中,验证每个Xi自身是否真的对Y有显著的影响,不显著的就应该从模型去掉。

    变量的显著性检验的思想:用的是纯数理统计中的假设检验的思想。对Xi参数的实际值做一个假设,然后在这个假设成立的情况下,利用已知的样本信息构造一个符合一定分布的(如正态分布、T分布和F分布)的统计量,然后从理论上计算得到这个统计量的概率,如果概率很低(5%以下),根据“小概率事件在一次实验中不可能发生”的统计学基本原理,现在居然发生了!(因为我们的统计量就是根据已知的样本算出来的,这些已知样本就是一次实验)肯定是最开始的假设有问题,所以就可以拒绝最开始的假设,如果概率不低,那就说明假设没问题。

    其实涉及到数理统计的内容,真的比较难一句话说清楚,我举个不恰当的例子吧:比如有一个口袋里面装了黑白两种颜色的球一共20个,然后你想知道黑白球数量是否一致,那么如果用假设检验的思路就是这样做:首先假设黑白数量一样,然后随机抽取10个球,但是发现10个都是白的,如果最开始假设黑白数量一样是正确的,那么一下抽到10个白的的概率是很小的,但是这么小概率的事情居然发生了,所以我们有理由相信假设错误,黑白的数量应该是不一样的……

    总之,对于所有的回归模型的软件,最终给出的结果都会有参数的显著性检验,忽略掉难懂的数学,我们只需要理解如下几个结论:

    T检验用于对某一个自变量Xi对于Y的线性显著性,如果某一个Xi不显著,意味着可以从模型中剔除这个变量,使得模型更简洁。

    F检验用于对所有的自变量X在整体上看对于Y的线性显著性

    T检验的结果看P-value,F检验看Significant F值,一般要小于0.05,越小越显著(这个0.05其实是显著性水平,是人为设定的,如果比较严格,可以定成0.01,但是也会带来其他一些问题,不细说了)

    下图是用EXCEL对广告费和销售额的例子做的回归分析的结果(EXCEL真心是个很强大的工具,用的出神入化一样可以变成超神),可以看出F检验是显著的(Significance F为0.0017),变量X的T检验是显著的(P-value为0.0017),这俩完全一样也好理解,因为我们是一元回归,只有一个自变量X。

    用Excel做线性回归分析

    还有一点是intercept(截距,也就是Y=aX+b中的那个b)的T检验没有通过,是不显著的,一般来说,只要F检验和关键变量的T检验通过了,模型的预测能力就是OK的。

    使用Excel数据分析工具进行多元回归分析

    在“数据”工具栏中就出现“数据分析”工具库,如下图所示:

     使用Excel数据分析工具进行多元回归分析

    给出原始数据,自变量的值在A2:I21单元格区间中,因变量的值在J2:J21中,如下图所示:

     使用Excel数据分析工具进行多元回归分析
    假设回归估算表达式为:

     使用Excel数据分析工具进行多元回归分析

    试使用Excel数据分析工具库中的回归分析工具对其回归系数进行估算并进行回归分析:

    点击“数据”工具栏中中的“数据分析”工具库,如下图所示:

     使用Excel数据分析工具进行多元回归分析

    在弹出的“数据分析”-“分析工具”多行文本框中选择“回归”,然后点击 “确定”,如下图所示:

     使用Excel数据分析工具进行多元回归分析

    弹出“回归”对话框并作如下图的选择:

     使用Excel数据分析工具进行多元回归分析

    上述选择的具体方法是:

    在“Y值输入区域”,点击右侧折叠按钮,选取函数Y数据所在单元格区域J2:J21,选完后再单击折叠按钮返回;这过程也可以直接在“Y值输入区域”文本框中输入J2:J21;

    在“X值输入区域”,点击右侧折叠按钮,选取自变量数据所在单元格区域A2:I21,选完后再单击折叠按钮返回;这过程也可以直接在“X值输入区域”文本框中输入A2:I21;

    置信度可选默认的95%。

    在“输出区域”如选“新工作表”,就将统计分析结果输出到在新表内。为了比较对照,我选本表内的空白区域,左上角起始单元格为K10.点击确定后,输出结果如下:

    使用Excel数据分析工具进行多元回归分析
     

    第一张表是“回归统计表”(K12:L17): 

    其中:

    Multiple R:(复相关系数R)R2的平方根,又称相关系数,用来衡量自变量x与y之间的相关程度的大小。本例R=0.9134表明它们之间的关系为高度正相关。(Multiple:复合、多种)

    R Square:复测定系数,上述复相关系数R的平方。用来说明自变量解释因变量y变差的程度,以测定因变量y的拟合效果。此案例中的复测定系数为0.8343,表明用用自变量可解释因变量变差的83.43%

    Adjusted R Square:调整后的复测定系数R2,该值为0.6852,说明自变量能说明因变量y的68.52%,因变量y的31.48%要由其他因素来解释。( Adjusted:调整后的)

    标准误差:用来衡量拟合程度的大小,也用于计算与回归相关的其它统计量,此值越小,说明拟合程度越好

    观察值:用于估计回归方程的数据的观察值个数。

    第二张表是“方差分析表”:主要作用是通过F检验来判定回归模型的回归效果。

    该案例中的Significance F(F显著性统计量)的P值为0.00636,小于显著性水平0.05,所以说该回归方程回归效果显著,方程中至少有一个回归系数显著不为0.(Significance:显著)

    第三张表是“回归参数表”:

    K26:K35为常数项和b1~b9的排序默认标示.

    L26:L35为常数项和b1~b9的值,据此可得出估算的回归方程为:

    使用Excel数据分析工具进行多元回归分析

    该表中重要的是O列,该列的O26:O35中的 P-value为回归系数t统计量的P值。

    值得注意的是:其中b1、b7的t统计量的P值为0.0156和0.0175,远小于显著性水平0.05,因此该两项的自变量与y相关。而其他各项的t统计量的P值远大于b1、b7的t统计量的P值,但如此大的P值说明这些项的自变量与因变量不存在相关性,因此这些项的回归系数不显著

    展开全文
  • 线性回归分析学习笔记第一篇:一元线性回归 1.线性回归分析究竟是何方神圣? 首先要弄懂什么是回归分析: 在大数据分析中,回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的...
  • 一元线性回归分析(SPSS版) 原创 Gently spss学习乐园 2019-11-25 一元线性回归模型回归分析(regression analysis )是研究一个变量如何随另一个或一些变量变化的方法。例如,学习成绩会受努力的时间,方法,个人...
  • Matlab一元线性回归分析

    万次阅读 2018-12-27 21:11:11
    Matlab一元非线性回归分析分析步骤与一元线性回归分析的步骤类似: 大体分为以下几步: (1)绘制x,y的散点图,分析散点图的走势; (2)根据散点图的走势,确定回归方程的具体形式,特别是参数个数的设定和...
  • 006 一元线性回归

    2019-02-24 11:40:00
     一元线性回归残差分析  一元线性回归模型的应用 一:参数估计 1.一元线性回归模型  在研究某一现象时,主要关心与影响最主要因素关系时,两者有密切关系,但并非一个变量唯一确定另一个变量,可以使用...
  • β1\beta_0,\beta_1β0​,β1​的估计与性质1.3 回归方程的显著性检验以及检验等价1.3.1 β1\beta_1β1​的t检验1.3.2 回归方程的显著性F检验1.3.3 相关系数1.3.4 一元线性回归下三者的等价性证明1.4 残差分析1.5 ...
  • MATLAB一元线性回归分析

    千次阅读 2019-09-25 07:02:00
    MATLAB一元线性回归分析应用举例 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ huigui.m function [b,bint,r,rint,states,sima2,p,y0,zxqj]=huigui(x,y,x0) %x –p元线性模型自变量的n个观测值...
  • 1.9一元线性回归

    2020-05-16 08:15:00
    一元线性回归一元线性回归模型一元线性回归的参数估计最小二乘估计最大似然估计最大似然估计数学推导有偏估计与无偏估计参数估计的性质一元线性回归的显著性检验一元线性回归残差分析一元线性回归模型的应用 一元...
  • matlab实现一元线性回归和多元线性回归

    万次阅读 多人点赞 2018-01-30 10:58:46
    回归分析中,如果有两个或两个以上的自变量,就称为多元回归。事实上,一种现象常常是与多个因素相联系的,由多个自变量的最优组合共同来预测或估计因变量,比只用一个自变量进行预测或估计更有效,更符合实际。 ...
  • 一元线性回归分析及java实现 2014-08-07 11:021072人阅读评论(0)收藏举报 分类: DataMining(17) 一元线性回归分析是处理两个变量之间关系的最简单模型,它所研究的对象是两个变量之间的线性相关...
  • 初次看的这个名词的人,可能会联想到一元一次方程,没错一元线性回归就是一元一次方程,一元一次方程在我们学习的方程组里估计是最简单的一种了,然而就是这最简单的一元线性回归确构成了复杂统计分析的理论基础,真...
  • 进入到机器学习中,最为简单的就是回归分析,其实回归分析在中学就差不多有涉及了。 所谓的回归分析就是利用...而线性回归又分为:一元线性回归;多元线性回归;广义线性回归。 先从一元线性回归开始说起: 其模型非
  • python--一元线性回归模型分析

    千次阅读 2019-06-16 16:05:35
    '一元线性回归方程为: ' + '\ty' + '=' + str ( lreg . intercept_ [ 0 ] ) + ' + ' + str ( lreg . coef_ [ 0 ] [ 0 ] ) + '*x' import scipy . stats as stats n = len ( x_linear ) ...
  • 用R进行一元线性回归分析建模

    万次阅读 2016-05-31 15:59:34
    概念:一元线性回归预测是指成对的两个变量数据的散点图呈现出直线趋势时,采用最小二乘法,找到两者之间的经验公式,即一元线性回归预测模型。根据自变量的变化,来估计因变量变化的预测方法。 我用的是R内置...
  • (MATLAB)一元线性回归和多元线性回归1.一元线性回归2.多元线性回归2.1数据说明2.2程序运行结果 1.一元线性回归 直接看代码,目标是建立yyy和xxx的函数关系,即求y=kx+by=kx+by=kx+b中的kkk和bbb,kkk和bbb都是实数...
  • 一元线性回归 1、女士的身高-体重例子。--借助excel数据分析功能 2、气温-冰红茶销售量例子。--直接计算 多元线性回归 3、薪资-性别-年龄-教育程度例子。--借助excel数据分析功能 4、店铺营业额-店铺面积-离车站...
  • 目标:写清楚一元线性回归的全部过程 步骤: 1. 确定变量variable:independent variable or dependent variable 2. 画散点图确定回归模型scatter diagram 线性相关: 3. 显著性检验:皮尔逊相关系数...
  • x_d)$,其中 $x_i$ 为 $\boldsymbol{x}$ 在第 $i$ 个属性上的取值,线性模型(linear model)试图学得一个通过属性的线性组合来进行预测的函数,即:$$f(\boldsymbol{x}) = w_1x_1 + w_2x_2 + ... +...
  • UA MATH571A 一元线性回归III 一元线性回归的ANOVAANOVA TableF检验回归系数的F检验F检验与t检验等价广义线性检验方法R2R^2R2数值例子:女性肌肉量与年龄的关系 ANOVA Table ANOVA(Analysis of Variance)是分析...
  • 残差分析图 输出的R方值(0.8701440026304358)和MSE值(4.45430204758885)还有LAD模型的参数(一个2乘1的矩阵),如图 # pandas库相关,用于读取csv文件 import pandas as pd # statsmodels库相...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 2,359
精华内容 943
关键字:

一元线性回归的残差分析