首页 > 其他 > 详细

我的SAS菜鸟之路9

时间:2020-07-01 00:10:47      阅读:67      评论:0      收藏:0      [点我收藏+]

----------------------非典型线性回归-------------------------

1.基础知识

  • 线性模型的自变量的的类型

    • 一个分类自变量,一般线性模型就是 t 检验或单因素方差分析
    • 两个或多个分类自变量,就是多因素的方差分析
    • 个定量自变量,一般线性模型就是简单线性回归
    • 两个或多个定量自变量,就是多重线性回归
    • 一个分类自变量和一个连续自变量,一般线性模型就转化为协方差分析
  • 线性回归的分析思路

    • 1.前提条件考察

      • 是否符合线性、独立、方差齐、正态性条件
    • 2.准备工作——自变量变换

      • 如果自变量与因变量是非线性关系,考虑适当的变换
        • 对数变换、指数变换、
    • 3.单因素分析

      • 排除意义不大的变量
      • 初步探索自变量与因变量的大致关系
      • 其检验标准可以适当放宽,可设为0.1、0.15、0.2均可
    • 4.多因素分析

      • 校正了其他自变量的影响,能反映出自变量对因变量的“纯”的影响作用
      • 变量筛选的方法有:向前选择法、向后剔除法以及逐步法
    • 5.模型评价——模型对实际数据的拟合效果评价

      • 决定系数(R2)
      • 校正决定系数(R2adj
      • 残差
      • 均方根误差(RMSE)
      • 赤池信息准则(AIC)
    • 6.模型诊断

      • 共线性诊断

        • 多重共线性——多个自变量之间存在高度相关

          • 可能导致,参数估计结果有偏,方差增大
        • 共线性诊断指标

          • 方差扩大因子(VIF):大于10,表示共线性很强

          • 容忍度(TOL):VIF的倒数,小于0.1表示共线性很强

          • 条件指数:大于10:存在共线性;大于30:存在严重的共线性,

            • 如果某几个自变量的变异比列同时比较大,则这几个变量之间存在较强的共线性

              (看条件指数的数据,不必拘泥于同一行,而是可以跨行,找出比较大的几个就可以)

      • 异常点诊断

        • 离群点
          • 检测指标:学生残差
          • 判断标准:绝对值大于2,考虑可能是离群点
        • 高杠杆点
          • p检测指标:hii,即H矩阵对角线的值
          • p判断标准:大于(k+1)/n,k为自变量个数
        • 强影响点
          • DFBETA
          • 判断标准:大于2/n
          • DFFITS,判断标准:太复杂不再赘述
          • Cook’D
          • 判断标准:大于4/(n-k-1),k为自变量个数
    • 7.模型修饰及在评价

    • 8.建立模型

      • 模型的建立需要结合统计学和专业知识
      • 允许有多个模型的存在

2.非线性回归(曲线拟合)

  • 1.散点图——判断是否符合线性回归

    • 主要是对自变量进行变换
    /*简单散点图*/
    Proc sgplot;
    Scatter x= y=;
    Run;
    
    /*偏残差图*/
    Proc reg;
    Model y=自变量/partial;/*partial 为校正变量,可输出综合效应*/
    Run;
    
    
    • 根据散点图的形状来判断
    • 技术分享图片
  • 2.利用Box-Cox变换 ——主要是对因变量进行变换

    • p如果对因变量变换,不清楚应该用何种形式,可以用proc transreg过程进行探索

      proc transreg;
      model boxcox(因变量)=identity(自变量);
      run;
      /*
      当λ=2,  二次变换
      当λ=1,  线性变换
      当λ=0.5,平方根变换
      当λ=0,  对数变换
      当λ=-1, 倒数变换
      */
      
  • 如何确定哪种变量变换方式更好

    • 决定系数(越大越好)、均方根误差(越小越好)、标准化残差(越小越好)等

3.加权最小二乘回归

  • 应用场景——异方差

    • 递增方差
    • 递减方差
  • 判断异方差的方法

    • 1.残差图

      • 是否随机分布于直线的两侧
    • 2.散点图

      技术分享图片

    • 3.White检验

      • 是检验异方差的经典方法之一

        PROC REG;
        MODEL y=x/spec;         
        /*spec选项,执行验证方差齐性的White检验*/
        
        /*当P<0.05,可以拒绝方差齐性的无效假设,
        认为方差不齐
        */
        
        
  • 加权最小二乘法的SAS实现

    • 1.如果已知方差,可直接用方差的倒数作为权重

      data aa;
      input m y x var; /*var为方差*/
      wt=1/var; /*wt为方差的倒数*/
      cards;
      1	4.320	-0.300	26.098
      2	2.011	1.371	4.041
      3	9.024	6.343	66.021
      4	20.381	12.586	322.494
      5	30.561	20.714	521.314
      6	31.671	25.000	505.093
      7	22.966	27.557	223.634
      8	9.474	26.643	44.062
      9	9.120	22.400	68.796
      10	8.246	15.371	67.415
      11	5.506	9.229	10.281
      12	3.799	1.800	6.016
      ;
      proc reg;
      model y=x;
      weight wt;
      run;
      
      
    • 2.如果方差未知,可用残差绝对值或平方的倒数

      proc reg;
      model y=x;
      output out=bb residual=res; /*产生数据集bb,包含残差变量*/-
      run;
      data res;
      set bb;
      wt=1/(res)**2;
      proc reg data=res;
      model y=x;
      weight wt;
      run;
      
      

4.偏最小二乘回归

  • 应用场景

    • 解决多重共线性问题
    • 自变量存在严重的相关性
    • 适用于样本量较小的情形
  • 偏最小二乘回归的SAS实现

    • 1.共线性检查
    data fh;
    input height weight cir xin;
    cards;
    95 	14 	54 	50 
    92 	13 	52 	42 
    89 	13 	53 	36 
    158 52 	79 	99 
    119 20 	55 	68 
    113 18 	53 	61 
    125 22 	59 	67 
    91 	14 	48 	36 
    93 	13 	50 	44 
    92 	11 	53 	32 
    154 55 	80 	95 
    163 54 	82 	87 
    130 25 	59 	63 
    98 	17 	51 	51 
    99 	15 	51 	54 
    ;
    proc reg;
    model xin=height weight cir/collin tol vif;
    run;
    
    • 2.进行回归分析
    PROC PLS cv=one method=pls cvtest;      
    /*调用PLS程序*/ 
    /* cv=one 表示采用舍一法进行交叉确认
    /* method=pls 表示采用偏最小二乘回归法提取因子
    /* cvtest 表示对留一交叉确认进行统计学检验。*/
    MODEL xin=height weight cir/solution;       
    /*Solution 选项给出模型的回归系数,包括中心化系数和原始变量系数*/
    RUN;
    
    
    • 3.结果解读
    • 技术分享图片
    • 最后方程的拟合用参数估计的系数(此处与最小二乘法不一样)
    • 4.变量的筛选
      • 可利用VIP指标进行筛选
        • PROC PLS cv=one method=pls cvtest plots=vip
        • 当变量的VIP非常接近,表明三个自变量对因变量的影响大小差不多,很难确认删除哪个

    5.稳健回归

    • 基本概念

      • 失效点:所选的估计方法在数据有多少异常点时仍可保持模型的稳健,失效点越高,表明估计方法越稳健
      • 相对效率:与各条件都满足的线性回归相比,各稳健估计量的效率
    • 应用场景

      • 当回归的原始数据存在很多异常点时,且自变量之间不存在严重的共线性时
    • 常用估计方法

      • M估计,较早的一种估计方法,当存在高杠杆点时估计效果较差,失效点为0,相对效率为95%
      • LTS估计,失效点较高(0.5),但相对效率较低(8%),通常作为其它估计的初始估计
      • S估计,对M估计的一种改进,失效点可达到0.5,但相对效率也较低(33%)
      • MM估计,用多个M估计程序来计算最终的估计,该法同时具有较高的失效点(0.5)和相对效率(95%),可能是目前最流行的一种方法
    • SAS程序实现

      DATA example7_10;
      INPUT x y;
      CARDS;
      6.8  746
      7.8  553
      8.7  562
      8.7  563
      8.9  570
      19.5 575
      10.1 581
      10.2 605
      10.3 607
      10.4 621
      11.1 624
      12.4 626
      13.3 632
      13.1 640
      13.2 656
      ;
      proc sgplot; /*画散点图*/
      scatter x=x y=y;
      run;
      
      proc reg;
      model y=x/r influence;/*异常点的检测*/
      run;
      
      proc robustreg method=mm;
      /*调用稳健回归命令,方法选择MM估计*/
      model y=x/diagnostics leverage;
      /*对变量进行异常点和杠杆点诊断*/
      run;
      
      • 结果解读

        • 技术分享图片

          • 标准差与MAD差值大,提示可能存在异常值
          • 对于数据集中异常值的处理比标准差更具有弹性
        • 技术分享图片

          • 最高的可能失效点(breakdown value)为0.2667
          • 估计效率(efficiency)为0.85
        • 技术分享图片

          • 杠杆点主要根据稳健MCD距离(robust MCD distance)判断,当该值大于诊断界值(cutoff)时,即判断为杠杆点,并以“*”标识;

          • 离群点主要根据稳健残差(robust residual)判断,当该值的绝对值

            大于诊断界值(cutoff)时,即判断为离群点,并以“*”标识

        • 技术分享图片

          • 拟合优度“Goodness - of - Fit”评价的四个指标中,R- Square 取值越大、另三个评价指标取值越小,

            并且,回归系数的“标准误”越小越好,该估计方法的拟合效果就越好

我的SAS菜鸟之路9

原文:https://www.cnblogs.com/yangzilaing/p/13216787.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!