数模(1)—— 多重共线性的验证
- 模型的解释变量之间存在线性关系
- 若中心化之后自变量的相关系数矩阵 R = X'X 接近于退化就存在多重共线性
- R有多少个特征根接近于零,设计矩阵X就有多少个多重共线性关系
- 此时,虽然最小二乘估计β仍为线性无偏估计,但是从均方误差来看这个估计不好
可以看出,当λ很小时β的MSE和Var都会变得很大,所以需要更换预测模型(上面公式的证明先挖坑以后填)
- 三个判断准则
- 特征分析法:比较定性,就是看有多少个特征根接近于零就有多少多重共线性
- 条件数法: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))
- 方差膨胀因子VIF(需要计算复相关系数,我好懒)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律