zoukankan      html  css  js  c++  java
  • SAS学习 day8

    • 模型诊断

    • 残差检验 y与y估计值的差异  要服从正态分布

    学生化残差:标准差除以残差

    1、如果是相对小的样本  该值应该在-2到+2之间

    2、如果说相对大的样本 该值应该在-3到+3之间

    • 强影响点判断

    没有建立模型的意义

    四个统计量判断

    1. STUDENT residual :学生化残差  即残差除以标准差
    2. Cook‘s D:衡量第i个观测被删除后,回归系数估计的影响度
    3. RSTUDENT residual:不含该观测所拟合模型给出的学生化残差
    4. DFFITS:衡量第i个观测被删除后 对应预测值的标准化影响度
    • 共线性诊断

    方差膨胀因子:

     Ri是第i个变量与其他变量之间的负相关系数的平方值

    残差检验

    proc reg data = reg.b_fitness;
    PREDICT: model oxygen_consumption =
       runtime age run_pulse maximum_pulse;
    plot r.*(p. runtime age run_pulse maximum_pulse);  r.表示残差 与预测值之间的关系  是否带状
    plot student.*obs. / vref = 3 2 -2 -3    学生化残差与观测值之间的关系  带状
              haxis = 0 to 32 by 1;
    plot nqq.*student.;  学生化残差的正态pp图
    symbol v=dot;
    run;

     

    学生化残差在-2到2之间

     不是这种情况 要从数据处理开始 取log等等

     强影响点判断

    proc reg data = reg.b_fitness;
    PREDICT: model oxygen_consumption =
       runtime age run_pulse maximum_pulse
         / r influence;
    id name;
    output out= ck4outliers  设定输出数据集
        rstudent = rstud dffits = dfits cookd = cooksd;  三个变量的关键字
    run;
    强影响点阀值判断

    %let numparms = 5;  预测的变量个数加1
    %let numobs = 31;  观测的个数
    %let idvars = name;

    
    

    data influential;
    set ck4outliers;

    
    

    cutdifts = 2*(sqrt(&numparms/&numobs));
    cutcookd = 4/&numobs;

    
    

    rstud_i = (abs(rstud)>3);   rstud 绝对值大于3
    dfits_i = (abs(dfits)>cutdifts);
    cookd_i = (cooksd>cutcookd);
    sum_i = rstud_i + dfits_i + cookd_i;  满足三个任意一个就可以
    if sum_i >0;
    run;

     

     结果得到的强影响点 需要剔除

    共线性诊断

    proc reg data = reg.b_fitness;
    FULLMODL: model oxygen_consumption
     = performance runtime age weight run_pulse rest_pulse maximum_pulse
        /vif collin collinoint;   vif成对出现 vif>3即认为有共线性
    run;

     

    有共线性去掉变量

  • 相关阅读:
    14、java中的equals()和toString()方法
    13、java中的多态
    1、editplus中将选取向前移动
    《Java4Android视频教程》学习笔记(一)
    android 构建数据库SQLite
    SWOT自我分析
    函数传递是如何让HTTP服务器工作的
    Node.js模块
    Viewcontrol的生命周期
    iOS开发-用宏定义求2个数中的最大值
  • 原文地址:https://www.cnblogs.com/suizhixxie/p/10405894.html
Copyright © 2011-2022 走看看