[回归分析][11]--共线性数据的分析
来源:互联网 发布:网络剪刀手破解版 编辑:程序博客网 时间:2024/05/17 02:39
[回归分析][11]--共线性数据的分析
考虑 x1,x2,x3 ... xn之间有相关性时。
即我们搜集数据时,可能搜集的数据之间有很强的相关性,会影响我们的分析。
对于两两之间的关系,可以用相关系数矩阵
如:以下是数据
数据写好是这样的。
得到相关系数矩阵--数据的绝对值越接近1说明相关性越好
可以把每一张图画出来看一下
下面考虑多重线性关系,即一个变量可能与多个变量有关系
1.方差膨胀因子--VIF,当VIF>10时,说明有很强的相关性
简单说一下检验的方法:去掉一个变量后R^2的变化
可以看到 at , pt ,at-1,pt-1的VIF很大,说明有相关性
2.相关系数的特征跟---越接近0,相关性越大
可以用定义来计算:
也可以用定义好的函数
可以比较一下,是一样的。
对变量做变换,变成正交的变量。用特征向量做变换--变为c1,c2,...,cn
这个特征值可以理解 ci 的方差,当特征值很小时,即方差很小,即可以理解位ci==常数
如这时,c5==0,则根据最后一个等式:
常数 = -0.51x1 - 0.48x2 - 0.42x4 - 0.559x5
这个常数可以带入数据去计算出来
以上,所有
2016/12/3
即我们搜集数据时,可能搜集的数据之间有很强的相关性,会影响我们的分析。
对于两两之间的关系,可以用相关系数矩阵
如:以下是数据
data = {{"st", "at", "pt", "et", "at-1", "pt-1"}, {20.11, 1.99, 1., 0.3, 2.02, 0.}, {15.1, 1.94, 0., 0.3, 1.99, 1.}, {18.68, 2.2, 0.8, 0.35, 1.94, 0.}, {16.05, 2., 0., 0.35, 2.2, 0.8}, {21.3, 1.69, 1.3, 0.3, 2., 0.}, {17.85, 1.74, 0.3, 0.32, 1.69, 1.3}, {18.88, 2.07, 1., 0.31, 1.74, 0.3}, {21.27, 1.02, 1., 0.41, 2.07, 1.}, {20.48, 2.02, 0.9, 0.45, 1.02, 1.}, {20.54, 1.06, 1., 0.45, 2.02, 0.9}, {26.18, 1.46, 1.5, 0.5, 1.06, 1.}, {21.72, 1.88, 0., 0.6, 1.46, 1.5}, {28.7, 2.27, 0.8, 0.65, 1.88, 0.}, {25.84, 1.11, 1., 0.65, 2.27, 0.8}, {29.32, 1.77, 1.2, 0.65, 1.11, 1.}, {24.19, 0.96, 1., 0.65, 1.77, 1.2}, {26.59, 1.99, 1., 0.62, 0.96, 1.}, {22.24, 1.97, 0., 0.6, 1.99, 1.}, {24.8, 2.27, 0.7, 0.6, 1.97, 0.}, {21.19, 1.98, 0.1, 0.61, 2.27, 0.7}, {26.03, 2.1, 1., 0.6, 1.98, 0.1}, {27.39, 1.07, 1., 0.58, 2.1, 1.}};
数据写好是这样的。
mat = Correlation[data] // MatrixForm
得到相关系数矩阵--数据的绝对值越接近1说明相关性越好
可以把每一张图画出来看一下
Grid[ Table[ListPlot[ data[[All, {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}]][[All, {i, j}]], PlotStyle -> Directive[PointSize[Medium]], FrameTicks -> None, Frame -> True, Axes -> None, PlotLabel -> Row[{"\[Rho] : ", Correlation[data[[All, {2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12}]]][[ i, j]]}]], {i, 1, 11}, {j, 1, 11}], Spacings -> {0.5, -1} ]
下面考虑多重线性关系,即一个变量可能与多个变量有关系
1.方差膨胀因子--VIF,当VIF>10时,说明有很强的相关性
简单说一下检验的方法:去掉一个变量后R^2的变化
lm = LinearModelFit[ data[[All, {2, 3, 4, 5, 6, 1}]], {x1, x2, x3, x4, x5}, {x1, x2, x3, x4, x5}];Grid[{bl[[{1, 2, 3, 4, 5, 6}]], lm["VarianceInflationFactors"]}, Frame -> All]
可以看到 at , pt ,at-1,pt-1的VIF很大,说明有相关性
2.相关系数的特征跟---越接近0,相关性越大
可以用定义来计算:
也可以用定义好的函数
lm["EigenstructureTable"]
可以比较一下,是一样的。
对变量做变换,变成正交的变量。用特征向量做变换--变为c1,c2,...,cn
mat = Correlation[data[[All, {2, 3, 4, 5, 6}]]];vet = Eigenvectors[mat];Column["c" <> ToString[#] <> " == " <> ToString[ TraditionalForm[Apply[Plus, vet[[#]]*{x1, x2, x3, x4, x5}]]] & /@Range[5], Spacings -> 1.5, Frame -> All]
这个特征值可以理解 ci 的方差,当特征值很小时,即方差很小,即可以理解位ci==常数
如这时,c5==0,则根据最后一个等式:
常数 = -0.51x1 - 0.48x2 - 0.42x4 - 0.559x5
这个常数可以带入数据去计算出来
以上,所有
2016/12/3
0 0
- [回归分析][11]--共线性数据的分析
- 回归分析----多重共线性【基础】
- 回归分析中的多重共线性问题
- 数据分析---线性回归
- 散点图中实现数据的线性回归分析
- R语言建立回归分析,并利用VIF查看共线性问题的例子
- 回归分析之线性回归
- 【R语言 数据分析】多重共线性问题
- 特征共线性问题分析
- 一元线性回归分析
- 多元线性回归分析
- 一元线性回归分析
- 多元线性回归分析
- 一元线性回归分析
- 线性回归分析
- 线性回归分析
- 线性回归分析
- 线性回归分析
- Day9、ListView常用事件、点击按钮和点击每行的背景转换器Selector
- Spring注解hibernate实体类bean
- elasticsearch(三) mapping之type,anlayzer
- Android源码设计模式分析开源项目
- centos6.6直接yum安装nginx,并且支持php访问的配置
- [回归分析][11]--共线性数据的分析
- malloc实现原理和内存碎片
- jQuery--获取/设置CSS类
- C/C++——静态链接库
- pat甲1013. Battle Over Cities(dfs)
- JDBC连接数据库的过程
- Ubuntu 16.04 apt-get搭建LAMP环境
- BZOJ1488: [HNOI2009]图的同构
- malloc()、calloc()以及ralloc()