数模(1)—— 多重共线性的验证

  • 模型的解释变量之间存在线性关系
  1. 若中心化之后自变量的相关系数矩阵 R = X'X 接近于退化就存在多重共线性
  2. R有多少个特征根接近于零,设计矩阵X就有多少个多重共线性关系
  3. 此时,虽然最小二乘估计β仍为线性无偏估计,但是从均方误差来看这个估计不好

可以看出,当λ很小时β的MSE和Var都会变得很大,所以需要更换预测模型(上面公式的证明先挖坑以后填)

  • 三个判断准则
  1. 特征分析法:比较定性,就是看有多少个特征根接近于零就有多少多重共线性
  2. 条件数法:R矩阵的条件数定义为 k = λ1/λp 
    • k<100 ,不存在多重共线性
    • k>1000,有严重多重共线性
      import pandas as pd
      import numpy as np
      
      #打开文件替换并另存
      df = pd.read_excel("E:/数学建模/2017-C/题干/Data1.xls")
      df = df.replace('',0)
      df.to_excel("E:/数学建模/2017-C/题干/Data1_1.xlsx",index = False) 
      复制代码
      %% 多重共线性检验
      % 求相关系数矩阵
      av = mean(x,1);
      avs = repmat(av,10,1);
      X_cen = x - avs;
      R_samp = X_cen'*X_cen
      % 求特征根
      [V,D1] = eig(R_samp);
      %M_m = sort(diag(D1),"ascend")
      k = max(diag(D1))/min(diag(D1))
      复制代码

       

  3. 方差膨胀因子VIF(需要计算复相关系数,我好懒)

      

 

 

posted @   |Simon|  阅读(348)  评论(1编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示