精华内容
下载资源
问答
  • 原标题:Python 实战多元线性回归模型,附带原理+代码 作者 | 萝卜来源 | 早起Python( ID:zaoqi-python )「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和...

    原标题:Python 实战多元线性回归模型,附带原理+代码

    作者 | 萝卜

    来源 | 早起Python( ID:zaoqi-python )

    「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以本文会「将原理知识穿插于代码段中」,争取以不一样的视角来叙述和讲解「如何更好的构建和优化多元线性回归模型」。主要将分为两个部分:

    详细原理

    Python 实战

    Python 实战

    Python 多元线性回归的模型的实战案例有非常多,这里虽然选用的经典的房价预测,但贵在的流程简洁完整,其中用到的精度优化方法效果拔群,能提供比较好的参考价值。

    数据探索

    本文的数据集是经过清洗的美国某地区的房价数据集。

    importpandas aspd

    importnumpy asnp

    importseaborn assns

    importmatplotlib.pyplot asplt

    df = pd.read_csv( 'house_prices.csv')

    df.info;df.head

    参数说明:

    neighborhood/area: 所属街区和面积

    bedrooms/bathrooms: 卧室和浴室

    style: 房屋样式

    多元线性回归建模

    现在我们直接构建多元线性回归模型:

    fromstatsmodels.formula.api importols

    # 小写的 ols 函数才会自带截距项,OLS 则不会

    # 固定格式:因变量 ~ 自变量(+ 号连接)

    lm = ols( 'price ~ area + bedrooms + bathrooms', data=df).fit

    lm.summary

    红框为我们关注的结果值,其中截距项 Intercept 的 P 值没有意义,可以不用管它。

    模型优化

    从上图可以看到,模型的精度较低,因为还有类别变量 neighborhood 和 style 没有完全利用。这里我们先查看一下类别变量的类别分布情况:

    # 类别变量,又称为名义变量,nominal variables

    nominal_vars = [ 'neighborhood', 'style']

    foreachin nominal_vars:

    print( each, ':')

    print(df[ each].agg([ 'value_counts']).T) # Pandas 骚操作

    # 直接 .value_counts.T 无法实现下面的效果

    ## 必须得 agg,而且里面的中括号 [] 也不能少

    print( '='* 35)

    虚拟 变量的设置

    因为类别变量无法直接放入模型,这里需要转换一下,而多元线性回归模型中类别变量的转换最常用的方法之一便是将其转化成虚拟变量。原理其实非常简单,将无法直接用于建模的名义变量转换成可放入模型的虚拟变量的核心就短短八个字:「四散拆开,非此即彼」。下面用一个只有 4 行的微型数据集辅以说明。

    从上表中,不难发现:

    该名义变量有 n 类,就能拆分出 n 个虚拟变量。

    巧妙的使用 0 和 1 来达到 「用虚拟变量列代替原名义变量所在类别」 。

    接下来要做的就是将生成的虚拟变量们放入多元线性回归模型,但要注意的是:「转化后的虚拟变量们需要舍弃一个」,才能得到满秩矩阵。具体原因和有关线性代数的解释可以查看笔者打包好的论文,我们可以理解为,当该名义变量可划分为 n 类时,只需要 n-1 个虚拟变量就已足够获知所有信息了。该丢弃哪个,可根据实际情况来决定。

    因此为原数据集的某名义变量添加虚拟变量的步骤为:

    抽出希望转换的名义变量(一个或多个)

    pandas 的 get_dummies 函数

    与原数据集横向拼接

    注意虚拟变量设置成功后,需要与原来的数据集拼接,这样才能将其一起放进模型。

    再次建模后,发现模型精度大大提升,但潜在的多元共线性问题也随之显现出来。

    在解释模型中虚拟变量的系数之前,我们先消除模型中多元共线性的影响,因为在排除共线性后,模型中的各个自变量的系数又会改变,最终的多元线性回归模型的等式又会不一样。多重线性回归模型的主要假设之一是我们的预测变量(自变量)彼此不相关。我们希望预测变量(自变量)与反应变量(因变量)相关,而不是彼此之间具有相关性。方差膨胀因子 ( Variance Inflation Factor,以下简称 VIF ),是「指解释变量之间存在多重共线性时的方差与不存在多重共线性时的方差之比」。

    上图公 式可以看出在方差膨胀因子的检测中:

    每个自变量都会有一个膨胀因子值 , 最后根据值的大小来选择是否删减。

    既然 表示相关性,是谁跟谁的相关性呢? 是自变量中的某一变量与除它外剩余的自变量进行多元线性回归,取回归结果,即模型精度来作为这个变量与剩余自变量的相关性。听起来可能有点绕,这里举一下实例:用 “面积、卧室数量和浴室数量” 作为自变量来预测房价,在进行自变量的方差膨胀因子的检测时,面积、卧室数和浴室数轮流做单独的因变量,剩下的两个变量作为自变量,来看看这三个自变量中哪个变量对其余两个变量的解释性高。

    越大,如已经到了 0.9,那分母就很小 ,值就等于 10,即表示这个自变量已经同时解释了另外的某个或多个自变量,存在多元共线性,可以考虑删除一些自变量。

    VIF 越大,显示共线性越严重。经验判断方法表明:当 0< VIF <10,不存在多重共线性;当10≤ VIF < 100,存在较强的多重共线性;当 VIF≥ 100,存在严重多重共线性。

    方差膨胀因子的检测

    我们自己来写一个方差膨胀因子的检测函数。

    defvif(df, col_i):

    """

    df: 整份数据

    col_i:被检测的列名

    """

    cols = list(df.columns)

    cols.remove(col_i)

    cols_noti = cols

    formula = col_i + '~'+ '+'.join(cols_noti)

    r2 = ols(formula, df).fit.rsquared

    return1./ ( 1.- r2)

    现在进行检测。

    test_data = results[['area', 'bedrooms', 'bathrooms', 'A', 'B']]

    for i in test_data.columns:

    print(i, 't', vif(df=test_data, col_i=i))

    发现 bedrooms 和 bathrooms 存在强相关性,可能这两个变量是解释同一个问题,方差膨胀因子较大的自变量通常是成对出现的。

    果然,bedrooms 和 bathrooms 这两个变量的方差膨胀因子较高,这里删除自变量 bedrooms 再次进行建模。

    lm = ols(formula='price ~ area + bathrooms + A + B', data=results).fit

    lm.summary

    模型精度稍降,但消除了多元共线性后能够使模型的泛化能力提升。再次进行多元共线性检测。

    test_data = results[['area', 'bedrooms', 'A', 'B']]

    for i in test_data.columns:

    print(i, 't', vif(df=test_data, col_i=i))

    那么多元共线性就只有通过方差膨胀因子才能看的出来吗? 其实并不一定,通过结合散点图或相关稀疏矩阵和模型中自变量的系数也能看出端倪。下图是未处理多元共线性时的自变量系数。

    可以很明显的看出,bathrooms 的参数很可能是有问题的,怎么可能 bathrooms 的数据量每增加一个,房屋总价还减少 1.373*10 的四次方美元呢?简单的画个散点图和热力图也应该知道房屋总价与 bathrooms 个数应该是成正比例关系的。

    模型解释

    多元线性回归模型的可解释性比较强,将模型参数打印出来即可求出因变量与自变量的关系。

    所以最终的建模结果如下,且该模型的精度为0.916。

    另外在等式结果中,截距项 Intercept 和 area, bedrooms 等变量的系数都还好理解;A,B 这两个虚拟变量可能相对困难些。其实根据原理部分的表格来看,如果房屋在 C 区,那等式中 A 和 B 这两个字母的值便是 0,所以这便引出了非常重要的一点:使用了虚拟变量的多元线性回归模型结果中,存在于模型内的虚拟变量都是跟被删除掉的那个虚拟变量进行比较。所以这个结果便表示在其他情况完全一样时(即除虚拟变量外的项) A 区的房屋比 C 区低 8707.18 美元,B 区则比 C 区贵 449896.73.7 美元。当然我们也可以画个线图来查看与检验,发现结果正如模型中 A 与 B 的系数那般显示。

    本文以多元线性回归为基础和前提,在因变量房价与多个自变量的实际观测值建立了多元线性回归模型;分析并检验各个预测变量对因变量的综合线性影响的显著性,并尽可能的消除多重共线性的影响,筛选出因变量有显著线性影响的自变量,对基准模型进行优化,并对各自变量相对重要性进行评定,进而提升了回归模型的预测精度。返回搜狐,查看更多

    责任编辑:

    展开全文
  • 多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程 为:毫无疑问,多元线性回归方程应该为:上图中的 x1, x2, xp...

    多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程 为:

    毫无疑问,多元线性回归方程应该为:

    上图中的 x1,  x2, xp分别代表“自变量”Xp截止,代表有P个自变量,如果有“N组样本,那么这个多元线性回归,将会组成一个矩阵,如下图所示:

    那么,多元线性回归方程矩阵形式为:

    其中:

     代表随机误差, 其中随机误差分为:可解释的误差 和 不可解释的误差,随机误差必须满足以下四个条件,多元线性方程才有意义(一元线性方程也一样)

    1:服成正太分布,即指:随机误差

    必须是服成正太分别的随机变量。

    2:无偏性假设,即指:期望值为0

    3:同共方差性假设,即指,所有的  随机误差变量方差都相等

    4:独立性假设,即指:所有的随机误差变量都相互独立,可以用协方差解释。

    今天跟大家一起讨论一下,SPSS---多元线性回归的具体操作过程,下面以教程教程数据为例,分析汽车特征与汽车销售量之间的关系。通过分析汽车特征跟汽车销售量的关系,建立拟合多元线性回归模型。数据如下图所示:

    点击“分析”——回归——线性——进入如下图所示的界面:

    将“销售量”作为“因变量”拖入因变量框内, 将“车长,车宽,耗油率,车净重等10个自变量 拖入自变量框内,如上图所示,在“方法”旁边,选择“逐步”,当然,你也可以选择其它的方式,如果你选择“进入”默认的方式,在分析结果中,将会得到如下图所示的结果:(所有的自变量,都会强行进入)

    如果你选择“逐步”这个方法,将会得到如下图所示的结果:(将会根据预先设定的“F统计量的概率值进行筛选,最先进入回归方程的“自变量”应该是跟“因变量”关系最为密切,贡献最大的,如下图可以看出,车的价格和车轴 跟因变量关系最为密切,符合判断条件的概率值必须小于0.05,当概率值大于等于0.1时将会被剔除)

    “选择变量(E)" 框内,我并没有输入数据,如果你需要对某个“自变量”进行条件筛选,可以将那个自变量,移入“选择变量框”内,有一个前提就是:该变量从未在另一个目标列表中出现!,再点击“规则”设定相应的“筛选条件”即可,如下图所示:

    点击“统计量”弹出如下所示的框,如下所示:

    在“回归系数”下面勾选“估计,在右侧勾选”模型拟合度“ 和”共线性诊断“ 两个选项,再勾选“个案诊断”再点击“离群值”一般默认值为“3”,(设定异常值的依据,只有当残差超过3倍标准差的观测才会被当做异常值) 点击继续。

    提示:

    共线性检验,如果有两个或两个以上的自变量之间存在线性相关关系,就会产生多重共线性现象。这时候,用最小二乘法估计的模型参数就会不稳定,回归系数的估计值很容易引起误导或者导致错误的结论。所以,需要勾选“共线性诊断”来做判断

    通过容许度可以计算共线性的存在与否? 容许度TOL=1-RI平方 或方差膨胀因子(VIF):  VIF=1/1-RI平方,其中RI平方是用其他自变量预测第I个变量的复相关系数,显然,VIF为TOL的倒数,TOL的值越小,VIF的值越大,自变量XI与其他自变量之间存在共线性的可能性越大。

    提供三种处理方法:

    1:从有共线性问题的变量里删除不重要的变量

    2:增加样本量或重新抽取样本。

    3:采用其他方法拟合模型,如领回归法,逐步回归法,主成分分析法。

    再点击“绘制”选项,如下所示:

    上图中:

    DEPENDENT( 因变量)   ZPRED(标准化预测值)  ZRESID(标准化残差)    DRESID(剔除残差)    ADJPRED(修正后预测值)   SRSID(学生化残差)  SDRESID(学生化剔除残差)

    一般我们大部分以“自变量”作为 X 轴,用“残差”作为Y轴, 但是,也不要忽略特殊情况,这里我们以“ZPRED(标准化预测值)作为"x" 轴,分别用“SDRESID(血生化剔除残差)”和“ZRESID(标准化残差)作为Y轴,分别作为两组绘图变量。

    再点击”保存“按钮,进入如下界面:

    如上图所示:勾选“距离”下面的“cook距离”选项 (cook 距离,主要是指:把一个个案从计算回归系数的样本中剔除时所引起的残差大小,cook距离越大,表明该个案对回归系数的影响也越大)

    在“预测区间”勾选“均值”和“单值” 点击“继续”按钮,再点击“确定按钮,得到如下所示的分析结果:(此分析结果,采用的是“逐步法”得到的结果)

    接着上一期的“多元线性回归解析”里面的内容,上一次,没有写结果分析,这次补上,结果分析如下所示:

    结果分析1:

    由于开始选择的是“逐步”法,逐步法是“向前”和“向后”的结合体,从结果可以看出,最先进入“线性回归模型”的是“price in thousands"   建立了模型1,紧随其后的是“Wheelbase"  建立了模型2,所以,模型中有此方法有个概率值,当小于等于0.05时,进入“线性回归模型”(最先进入模型的,相关性最强,关系最为密切)当大于等0.1时,从“线性模型中”剔除

    结果分析:

    1:从“模型汇总”中可以看出,有两个模型,(模型1和模型2)从R2 拟合优度来看,模型2的拟合优度明显比模型1要好一些

    (0.422>0.300)

    2:从“Anova"表中,可以看出“模型2”中的“回归平方和”为115.311,“残差平方和”为153.072,由于总平方和=回归平方和+残差平方和,由于残差平方和(即指随即误差,不可解释的误差)由于“回归平方和”跟“残差平方和”几乎接近,所有,此线性回归模型只解释了总平方和的一半,

    3:根据后面的“F统计量”的概率值为0.00,由于0.00<0.01,随着“自变量”的引入,其显著性概率值均远小于0.01,所以可以显著地拒绝总体回归系数为0的原假设,通过ANOVA方差分析表可以看出“销售量”与“价格”和“轴距”之间存在着线性关系,至于线性关系的强弱,需要进一步进行分析。

    结果分析:

    1:从“已排除的变量”表中,可以看出:“模型2”中各变量的T检的概率值都大于“0.05”所以,不能够引入“线性回归模型”必须剔除。

    从“系数a” 表中可以看出:

    1:多元线性回归方程应该为:销售量=-1.822-0.055*价格+0.061*轴距

    但是,由于常数项的sig为(0.116>0.1) 所以常数项不具备显著性,所以,我们再看后面的“标准系数”,在标准系数一列中,可以看到“常数项”没有数值,已经被剔除

    所以:标准化的回归方程为:销售量=-0.59*价格+0.356*轴距

    2:再看最后一列“共线性统计量”,其中“价格”和“轴距”两个容差和“vif都一样,而且VIF都为1.012,且都小于5,所以两个自变量之间没有出现共线性,容忍度和

    膨胀因子是互为倒数关系,容忍度越小,膨胀因子越大,发生共线性的可能性也越大

    从“共线性诊断”表中可以看出:

    1:共线性诊断采用的是“特征值”的方式,特征值主要用来刻画自变量的方差,诊断自变量间是否存在较强多重共线性的另一种方法是利用主成分分析法,基本思想是:如果自变量间确实存在较强的相关关系,那么它们之间必然存在信息重叠,于是就可以从这些自变量中提取出既能反应自变量信息(方差),而且有相互独立的因素(成分)来,该方法主要从自变量间的相关系数矩阵出发,计算相关系数矩阵的特征值,得到相应的若干成分。

    从上图可以看出:从自变量相关系数矩阵出发,计算得到了三个特征值(模型2中),最大特征值为2.847, 最小特征值为0.003

    条件索引=最大特征值/相对特征值 再进行开方 (即特征值2的 条件索引为 2.847/0.150 再开方=4.351)

    标准化后,方差为1,每一个特征值都能够刻画某自变量的一定比例,所有的特征值能将刻画某自变量信息的全部,于是,我们可以得到以下结论:

    1:价格在方差标准化后,第一个特征值解释了其方差的0.02, 第二个特征值解释了0.97,第三个特征值解释了0.00

    2:轴距在方差标准化后,第一个特征值解释了其方差的0.00, 第二个特征值解释了0.01,第三个特征值解释了0.99

    可以看出:没有一个特征值,既能够解释“价格”又能够解释“轴距”所以“价格”和“轴距”之间存在共线性较弱。前面的结论进一步得到了论证。(残差统计量的表中数值怎么来的,这个计算过程,我就不写了)

    从上图可以得知:大部分自变量的残差都符合正太分布,只有一,两处地方稍有偏离,如图上的(-5到-3区域的)处理偏离状态

    展开全文
  • SPSS--回归-多元线性回归模型案例解析!(一)

    万次阅读 多人点赞 2014-03-19 17:56:40
    SPSS--回归-多元线性回归模型案例解析!(一)  多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程 为: ...

    SPSS--回归-多元线性回归模型案例解析!(一)

       多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程 为:

        毫无疑问,多元线性回归方程应该为:

    上图中的 x1,  x2, xp分别代表“自变量”Xp截止,代表有P个自变量,如果有“N组样本,那么这个多元线性回归,将会组成一个矩阵,如下图所示:


    那么,多元线性回归方程矩阵形式为:

          其中: 代表随机误差, 其中随机误差分为:可解释的误差 和 不可解释的误差,随机误差必须满足以下四个条件,多元线性方程才有意义(一元线性方程也一样)

    1:服成正太分布,即指:随机误差必须是服成正太分别的随机变量。

    2:无偏性假设,即指:期望值为0

    3:同共方差性假设,即指,所有的  随机误差变量方差都相等

    4:独立性假设,即指:所有的随机误差变量都相互独立,可以用协方差解释。

     

      今天跟大家一起讨论一下,SPSS---多元线性回归的具体操作过程,下面以教程教程数据为例,分析汽车特征与汽车销售量之间的关系。通过分析汽车特征跟汽车销售量的关系,建立拟合多元线性回归模型。数据如下图所示:

     


    点击“分析”——回归——线性——进入如下图所示的界面:

     


    将“销售量”作为“因变量”拖入因变量框内, 将“车长,车宽,耗油率,车净重等10个自变量 拖入自变量框内,如上图所示,在“方法”旁边,选择“逐步”,当然,你也可以选择其它的方式,如果你选择“进入”默认的方式,在分析结果中,将会得到如下图所示的结果:(所有的自变量,都会强行进入)

    如果你选择“逐步”这个方法,将会得到如下图所示的结果:(将会根据预先设定的“F统计量的概率值进行筛选,最先进入回归方程的“自变量”应该是跟“因变量”关系最为密切,贡献最大的,如下图可以看出,车的价格和车轴 跟因变量关系最为密切,符合判断条件的概率值必须小于0.05,当概率值大于等于0.1时将会被剔除)


    “选择变量(E)" 框内,我并没有输入数据,如果你需要对某个“自变量”进行条件筛选,可以将那个自变量,移入“选择变量框”内,有一个前提就是:该变量从未在另一个目标列表中出现!,再点击“规则”设定相应的“筛选条件”即可,如下图所示:

     

    点击“统计量”弹出如下所示的框,如下所示:

    在“回归系数”下面勾选“估计,在右侧勾选”模型拟合度“ 和”共线性诊断“ 两个选项,再勾选“个案诊断”再点击“离群值”一般默认值为“3”,(设定异常值的依据,只有当残差超过3倍标准差的观测才会被当做异常值) 点击继续。

    提示:

    共线性检验,如果有两个或两个以上的自变量之间存在线性相关关系,就会产生多重共线性现象。这时候,用最小二乘法估计的模型参数就会不稳定,回归系数的估计值很容易引起误导或者导致错误的结论。所以,需要勾选“共线性诊断”来做判断

      通过容许度可以计算共线性的存在与否? 容许度TOL=1-RI平方 或方差膨胀因子(VIF):  VIF=1/1-RI平方,其中RI平方是用其他自变量预测第I个变量的复相关系数,显然,VIF为TOL的倒数,TOL的值越小,VIF的值越大,自变量XI与其他自变量之间存在共线性的可能性越大。

    提供三种处理方法:
    1:从有共线性问题的变量里删除不重要的变量

    2:增加样本量或重新抽取样本。

    3:采用其他方法拟合模型,如领回归法,逐步回归法,主成分分析法。

    再点击“绘制”选项,如下所示:

      上图中:

    DEPENDENT( 因变量)   ZPRED(标准化预测值)  ZRESID(标准化残差)    DRESID(剔除残差)    ADJPRED(修正后预测值)   SRSID(学生化残差)  SDRESID(学生化剔除残差)

     一般我们大部分以“自变量”作为 X 轴,用“残差”作为Y轴, 但是,也不要忽略特殊情况,这里我们以“ZPRED(标准化预测值)作为"x" 轴,分别用“SDRESID(血生化剔除残差)”和“ZRESID(标准化残差)作为Y轴,分别作为两组绘图变量。

    再点击”保存“按钮,进入如下界面:

     

    如上图所示:勾选“距离”下面的“cook距离”选项 (cook 距离,主要是指:把一个个案从计算回归系数的样本中剔除时所引起的残差大小,cook距离越大,表明该个案对回归系数的影响也越大)

    在“预测区间”勾选“均值”和“单值” 点击“继续”按钮,再点击“确定按钮,得到如下所示的分析结果:(此分析结果,采用的是“逐步法”得到的结果)



    展开全文
  • 多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程 为: 毫无疑问,多元线性回归方程应该为: 上图中的 x1,...

    多元线性回归,主要是研究一个因变量与多个自变量之间的相关关系,跟一元回归原理差不多,区别在于影响因素(自变量)更多些而已,例如:一元线性回归方程 为:

        毫无疑问,多元线性回归方程应该为:

    上图中的 x1,  x2, xp分别代表“自变量”Xp截止,代表有P个自变量,如果有“N组样本,那么这个多元线性回归,将会组成一个矩阵,如下图所示:

    那么,多元线性回归方程矩阵形式为:

          其中: 代表随机误差, 其中随机误差分为:可解释的误差 和 不可解释的误差,随机误差必须满足以下四个条件,多元线性方程才有意义(一元线性方程也一样)

    1:服成正太分布,即指:随机误差必须是服成正太分别的随机变量。

    2:无偏性假设,即指:期望值为0

    3:同共方差性假设,即指,所有的  随机误差变量方差都相等

    4:独立性假设,即指:所有的随机误差变量都相互独立,可以用协方差解释。

     

      今天跟大家一起讨论一下,SPSS---多元线性回归的具体操作过程,下面以教程教程数据为例,分析汽车特征与汽车销售量之间的关系。通过分析汽车特征跟汽车销售量的关系,建立拟合多元线性回归模型。数据如下图所示:

     


    点击“分析”——回归——线性——进入如下图所示的界面:

     


    将“销售量”作为“因变量”拖入因变量框内, 将“车长,车宽,耗油率,车净重等10个自变量 拖入自变量框内,如上图所示,在“方法”旁边,选择“逐步”,当然,你也可以选择其它的方式,如果你选择“进入”默认的方式,在分析结果中,将会得到如下图所示的结果:(所有的自变量,都会强行进入)

    如果你选择“逐步”这个方法,将会得到如下图所示的结果:(将会根据预先设定的“F统计量的概率值进行筛选,最先进入回归方程的“自变量”应该是跟“因变量”关系最为密切,贡献最大的,如下图可以看出,车的价格和车轴 跟因变量关系最为密切,符合判断条件的概率值必须小于0.05,当概率值大于等于0.1时将会被剔除)

    “选择变量(E)" 框内,我并没有输入数据,如果你需要对某个“自变量”进行条件筛选,可以将那个自变量,移入“选择变量框”内,有一个前提就是:该变量从未在另一个目标列表中出现!,再点击“规则”设定相应的“筛选条件”即可,如下图所示:

     

    点击“统计量”弹出如下所示的框,如下所示:

    在“回归系数”下面勾选“估计,在右侧勾选”模型拟合度“ 和”共线性诊断“ 两个选项,再勾选“个案诊断”再点击“离群值”一般默认值为“3”,(设定异常值的依据,只有当残差超过3倍标准差的观测才会被当做异常值) 点击继续。

    提示:

    共线性检验,如果有两个或两个以上的自变量之间存在线性相关关系,就会产生多重共线性现象。这时候,用最小二乘法估计的模型参数就会不稳定,回归系数的估计值很容易引起误导或者导致错误的结论。所以,需要勾选“共线性诊断”来做判断

      通过容许度可以计算共线性的存在与否? 容许度TOL=1-RI平方 或方差膨胀因子(VIF):  VIF=1/1-RI平方,其中RI平方是用其他自变量预测第I个变量的复相关系数,显然,VIF为TOL的倒数,TOL的值越小,VIF的值越大,自变量XI与其他自变量之间存在共线性的可能性越大。

    提供三种处理方法:
    1:从有共线性问题的变量里删除不重要的变量

    2:增加样本量或重新抽取样本。

    3:采用其他方法拟合模型,如领回归法,逐步回归法,主成分分析法。

    再点击“绘制”选项,如下所示:

      上图中:

    DEPENDENT( 因变量)   ZPRED(标准化预测值)  ZRESID(标准化残差)    DRESID(剔除残差)    ADJPRED(修正后预测值)   SRSID(学生化残差)  SDRESID(学生化剔除残差)

     一般我们大部分以“自变量”作为 X 轴,用“残差”作为Y轴, 但是,也不要忽略特殊情况,这里我们以“ZPRED(标准化预测值)作为"x" 轴,分别用“SDRESID(血生化剔除残差)”和“ZRESID(标准化残差)作为Y轴,分别作为两组绘图变量。

    再点击”保存“按钮,进入如下界面:

     

    如上图所示:勾选“距离”下面的“cook距离”选项 (cook 距离,主要是指:把一个个案从计算回归系数的样本中剔除时所引起的残差大小,cook距离越大,表明该个案对回归系数的影响也越大)

    在“预测区间”勾选“均值”和“单值” 点击“继续”按钮,再点击“确定按钮,得到如下所示的分析结果:(此分析结果,采用的是“逐步法”得到的结果)



     

    接着上一期的“多元线性回归解析”里面的内容,上一次,没有写结果分析,这次补上,结果分析如下所示:

    结果分析1:

    由于开始选择的是“逐步”法,逐步法是“向前”和“向后”的结合体,从结果可以看出,最先进入“线性回归模型”的是“price in thousands"   建立了模型1,紧随其后的是“Wheelbase"  建立了模型2,所以,模型中有此方法有个概率值,当小于等于0.05时,进入“线性回归模型”(最先进入模型的,相关性最强,关系最为密切)当大于等0.1时,从“线性模型中”剔除

    结果分析:

    1:从“模型汇总”中可以看出,有两个模型,(模型1和模型2)从R2 拟合优度来看,模型2的拟合优度明显比模型1要好一些

    (0.422>0.300)

    2:从“Anova"表中,可以看出“模型2”中的“回归平方和”为115.311,“残差平方和”为153.072,由于总平方和=回归平方和+残差平方和,由于残差平方和(即指随即误差,不可解释的误差)由于“回归平方和”跟“残差平方和”几乎接近,所有,此线性回归模型只解释了总平方和的一半,

    3:根据后面的“F统计量”的概率值为0.00,由于0.00<0.01,随着“自变量”的引入,其显著性概率值均远小于0.01,所以可以显著地拒绝总体回归系数为0的原假设,通过ANOVA方差分析表可以看出“销售量”与“价格”和“轴距”之间存在着线性关系,至于线性关系的强弱,需要进一步进行分析。


     

     结果分析:

    1:从“已排除的变量”表中,可以看出:“模型2”中各变量的T检的概率值都大于“0.05”所以,不能够引入“线性回归模型”必须剔除。

     

    从“系数a” 表中可以看出:

    1:多元线性回归方程应该为:销售量=-1.822-0.055*价格+0.061*轴距

    但是,由于常数项的sig为(0.116>0.1) 所以常数项不具备显著性,所以,我们再看后面的“标准系数”,在标准系数一列中,可以看到“常数项”没有数值,已经被剔除

    所以:标准化的回归方程为:销售量=-0.59*价格+0.356*轴距

    2:再看最后一列“共线性统计量”,其中“价格”和“轴距”两个容差和“vif都一样,而且VIF都为1.012,且都小于5,所以两个自变量之间没有出现共线性,容忍度和
    膨胀因子是互为倒数关系,容忍度越小,膨胀因子越大,发生共线性的可能性也越大

     

     

    从“共线性诊断”表中可以看出:

    1:共线性诊断采用的是“特征值”的方式,特征值主要用来刻画自变量的方差,诊断自变量间是否存在较强多重共线性的另一种方法是利用主成分分析法,基本思想是:如果自变量间确实存在较强的相关关系,那么它们之间必然存在信息重叠,于是就可以从这些自变量中提取出既能反应自变量信息(方差),而且有相互独立的因素(成分)来,该方法主要从自变量间的相关系数矩阵出发,计算相关系数矩阵的特征值,得到相应的若干成分。

    从上图可以看出:从自变量相关系数矩阵出发,计算得到了三个特征值(模型2中),最大特征值为2.847, 最小特征值为0.003

    条件索引=最大特征值/相对特征值 再进行开方 (即特征值2的 条件索引为 2.847/0.150 再开方=4.351)

    标准化后,方差为1,每一个特征值都能够刻画某自变量的一定比例,所有的特征值能将刻画某自变量信息的全部,于是,我们可以得到以下结论:

    1:价格在方差标准化后,第一个特征值解释了其方差的0.02, 第二个特征值解释了0.97,第三个特征值解释了0.00
    2:轴距在方差标准化后,第一个特征值解释了其方差的0.00, 第二个特征值解释了0.01,第三个特征值解释了0.99

    可以看出:没有一个特征值,既能够解释“价格”又能够解释“轴距”所以“价格”和“轴距”之间存在共线性较弱。前面的结论进一步得到了论证。(残差统计量的表中数值怎么来的,这个计算过程,我就不写了)


     

    从上图可以得知:大部分自变量的残差都符合正太分布,只有一,两处地方稍有偏离,如图上的(-5到-3区域的)处理偏离状态

    转载于:https://www.cnblogs.com/qiernonstop/p/3720490.html

    展开全文
  • 根据网络保险保费额度的特点,选取了六个比较重要的因变量和六个比较重要的自变量,利用所获得的数据构建了一个较为适合网络保险信用风险度量的logit 模型,分别对这些因变量采取了逻辑回归分析和多元线性回归分析,...
  • 小天导语:多元线性回归模型是大多数人入门机器学习的第一个案例,其中多元共线性这个问题将贯穿所有的机器学习模型。小天今天会带大家讲解如何更好构建和优化多元线性回归模型。这里选用的经典的房价预测用到的精度...
  • 作者 |萝卜来源 |早起Python( ID:zaoqi-python )「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习...
  • 原标题:Python 实战多元线性回归模型,附带原理+代码 作者 | 萝卜来源 | 早起Python( ID:zaoqi-python )「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和...
  • 基于不平衡数据的反欺诈模型实战2 - Apriori算法实现智能推荐3- 随机森林预测宽带客户离网4 - 多元线性回归模型实战前言「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有...
  • 关注一下~,更多商业数据分析案例等你来撩前言构建多元线性回归模型时,如果能够充分的使用已有变量,或将其改造成另一种形式的可供使用的变量,将在一定程度上提高模型精度及其泛化能力。因为数据集中的名义变量(或...
  • 关注一下~,更多商业数据分析案例等你来撩前言本文重在以清晰明了的方式展示利用多元线性回归模型实现预测功能的基本流程。其中包含的知识点如下,源数据源代码可空降文末 ~~变量探索数据读入异常值处理类别变量数值...
  • 本文含3605字,19图表截屏5 ~8分钟即可拿下本文源数据和包含详细注释的源代码在后台回复 ' 多元预测' 即可获取前言「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多...
  • 多元线性回归模型

    2021-04-08 16:05:00
    多元线性回归一. 基础1. 参数定义2. 参数学习算法① 最小二乘法② 梯度下降法③ 共轭梯度法 一. 基础 线性回归(Linear Regression)通过学习标记数据学得一多元线性模型能够尽可能准确地预测实值输出标记。本篇将以...
  • 关注一下~,更多商业数据分析案例等你来撩前言构建多元线性回归模型时,如果能够充分的使用已有变量,或将其改造成另一种形式的可供使用的变量,将在一定程度上提高模型精度及其泛化能力。因为数据集中的名义变量(或...
  • 前言「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以本文会「将原理知识穿插于代码段中...
  • 导语:现在大多数人入门机器学习的第一个案例多元线性回归模型,其中多元共线性这个问题将贯穿所有的机器学习模型。这里选用的经典房价预测用到的精度优化方法效果拔群,能提供比较好的参考价值,将会带大家讲解...
  • 前言多元线性回归模型非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以本文会将原理知识穿插于代码段中,争取...
  • 文章来源: 早起Python作者:萝卜前言「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以...
  • 多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以本文会「将原理知识穿插于代码段中」,...
  • 关注一下~,更多商业数据分析案例等你来撩前言构建多元线性回归模型时,如果能够充分的使用已有变量,或将其改造成另一种形式的可供使用的变量,将在一定程度上提高模型精度及其泛化能力。因为数据集中的名义变量(或...
  • 文章来源: 早起Python作者:萝卜前言「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以...
  • 作者 |萝卜来源 |早起Python( ID:zaoqi-python )「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习...
  • 线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜折扣等)预测就餐规模或...
  • 本文含3605字,19图表截屏5 ~8分钟即可拿下本文源数据和包含详细注释的源代码在后台回复 ' 多元预测' 即可获取前言「多元线性回归模型」非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多...
  • 多元线性回归模型非常常见,是大多数人入门机器学习的第一个案例,尽管如此,里面还是有许多值得学习和注意的地方。其中多元共线性这个问题将贯穿所有的机器学习模型,所以本文会将原理知识穿插于代码段中,争取以不...
  • 经典案例,通用流程,还有注释详尽的源代码和源数据。
  • 2.0多元线性回归

    2020-05-16 08:34:13
    多元线性回归模型 多元线性回归模型的参数估计 最小二乘估计 最大似然估计 多元线性回归模型的显著性检验 回归方程是否显著: F 检验 回归系数是否显著:t 检验 多元线性回归模型的相关系数 自变量的标准化 简单相关...
  • -回归定义回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,...线性回归(Linear Regression)线性回归通常是人们在学习预测模型时首选的技术之一。...
  • 线性回归模型属于经典的统计学模型,该模型的应用场景是根据已知的变量(自变量)来预测某个连续的数值变量(因变量)。例如,餐厅根据每天的营业数据(包括菜谱价格、就餐人数、预定人数、特价菜折扣等)预测就餐...

空空如也

空空如也

1 2 3 4 5 6
收藏数 103
精华内容 41
关键字:

多元线性回归模型案例