collintest
贝尔斯利共线性诊断
语法
描述
显示表或时间表的所有变量的贝尔斯利共线性诊断VarDecompTbl
= collintest (资源描述
)资源描述
.该函数还返回表VarDecompTbl
包含奇异值和条件指数变量,以及与每个时间序列相关的方差分解比例变量。
中选择变量的子集资源描述
,用于计算共线性诊断,请使用DataVariables
名称-值参数。
例子
计算数据矩阵的Belsley共线性诊断
的默认选项显示多个时间序列的共线性诊断collintest
.输入时间序列数据为数值矩阵。
加载加拿大通货膨胀和利率的数据Data_Canada.mat
,其中包含矩阵中的级数数据
.
负载Data_Canada
在命令窗口中显示Belsley共线性诊断。返回奇异值、条件指数和方差分解比例。
系列的
ans =5 x1细胞{'(INF_C)通货膨胀率(基于cpi)'} {'(INF_G)通货膨胀率(基于GDP平减指数)'}{'(INT_S)利率(短期)'}{'(INT_M)利率(中期)'}{'(INT_L)利率(长期)'}
[sValue,condIdx,VarDecomp] = collintest(Data);
方差分解sValue condIdx Var1 Var2 Var3 Var4 Var5 --------------------------------------------------------- 2.1748 1 0.0012 0.0018 0.0003 0.0000 0.0001 0.4789 4.5413 0.0261 0.0806 0.0035 0.0006 0.0012 0.1602 13.5795 0.3386 0.3802 0.0811 0.0011 0.0137 0.1211 17.9617 0.6138 0.5276 0.1918 0.0004 0.0193 0.0248 87.8245 0.0202 0.0099 0.7233 0.9979 0.9658
只有显示的最后一行的条件索引大于默认容差30。在这一行中,最后三个变量(在最后三列中)的方差分解比例超过默认容差0.5。这些结果表明,短期、中期和长期利率表现出多重共线性。
collintest
在显示表中组织输出。
sValue
sValue =5×12.1748 0.4789 0.1602 0.1211 0.0248
condIdx
condIdx =5×11.0000 4.5413 13.5795 17.9617 87.8245
VarDecomp
VarDecomp =5×50.0012 0.0018 0.0003 0.0000 0.0001 0.0261 0.0806 0.0035 0.0006 0.0012 0.3386 0.3802 0.0811 0.0011 0.0137 0.6138 0.5276 0.1918 0.0004 0.0193 0.0202 0.0099 0.7233 0.9979 0.9658
计算表变量的贝尔斯利共线性诊断
使用默认选项显示和返回多个时间序列(表中的变量)的共线性诊断。
加载加拿大通货膨胀和利率的数据Data_Canada.mat
.转换表数据表
一个时间表。
负载Data_Canada日期=日期时间(日期,ConvertFrom=“datenum”);TT = table2时间表(数据表,RowTimes=日期);TT。观察结果= [];
显示Belsley共线性诊断,使用所有默认选项。
VarDecompTbl = collintest(TT)
方差分解sValue condIdx INF_C INF_G INT_S INT_M INT_L --------------------------------------------------------- 2.1748 1 0.0012 0.0018 0.0003 0.0000 0.0001 0.4789 4.5413 0.0261 0.0806 0.0035 0.0006 0.0012 0.1602 13.5795 0.3386 0.3802 0.0811 0.0011 0.0137 0.1211 17.9617 0.6138 0.5276 0.1918 0.0004 0.0193 0.0248 87.8245 0.0202 0.0099 0.7233 0.9979 0.9658
VarDecompTbl =5×7表sValue condIdx INF_C INF_G INT_S INT_M INT_L ________ _______ _________ _________ __________ __________ __________ 2.1748 1 0.0012446 0.0017784 0.00033202 4.2326e-05 8.0328e-05 0.47889 4.5413 0.0261 0.080594 0.0034869 0.00057749 0.001159 0.16015 13.579 0.33864 0.38021 0.081126 0.0011166 0.013662 0.12108 17.962 0.61384 0.52756 0.19176 0.00035545 0.019308 0.024763 87.825 0.020173 0.0098575 0.72329 0.99791 0.96579
collintest
返回表中的共线性诊断VarDecompTbl
,其中变量对应于数据中各变量的奇异值、条件指标和方差分解比例(sValue
,condIdx
,VarDecomp
).命令窗口显示和输出表具有类似的形式。
默认情况下,collintest
计算输入表中所有变量的共线性诊断。若要从输入表中选择变量的子集,请设置DataVariables
选择。
从输出表中提取方差分解比例。
varnames = DataTable.Properties.VariableNames;VarDecomp = VarDecompTbl(:,varnames)
VarDecomp =5×5表INF_C INF_G INT_S INT_M INT_L _________ _________ __________ __________ __________ 0.0012446 0.0017784 0.00033202 4.2326e-05 8.0328e-05 0.0261 0.080594 0.0034869 0.00057749 0.001159 0.33864 0.38021 0.081126 0.0011166 0.013662 0.61384 0.52756 0.19176 0.00035545 0.019308 0.020173 0.0098575 0.72329 0.99791 0.96579
图贝尔斯利共线性诊断
在表格中绘制所有时间序列的共线性诊断。
加载加拿大通货膨胀和利率的数据Data_Canada.mat
.
负载Data_Canada
绘制所有系列的Belsley共线性诊断图。
collintest (DataTable,情节=“上”);
方差分解sValue condIdx INF_C INF_G INT_S INT_M INT_L --------------------------------------------------------- 2.1748 1 0.0012 0.0018 0.0003 0.0000 0.0001 0.4789 4.5413 0.0261 0.0806 0.0035 0.0006 0.0012 0.1602 13.5795 0.3386 0.3802 0.0811 0.0011 0.0137 0.1211 17.9617 0.6138 0.5276 0.1918 0.0004 0.0193 0.0248 87.8245 0.0202 0.0099 0.7233 0.9979 0.9658
该图对应于方差分解比例的最后一行中的值,这些值是条件指数大于默认容差30的唯一比例。利率序列的方差分解比例超过了0.5的默认容差(图中红色标记)。
选定变量和截距的Belsley共线性诊断图
计算所选时间序列和截距的共线性诊断。
加载信用默认数据集Data_CreditDefaults.mat
.表数据表
包含投资级公司债券系列的违约率(IGD
(响应变量)和几个预测变量。
负载Data_CreditDefaults
考虑一个包含截距项的违约率的多元回归模型。
在数据表中包含一个变量,该变量表示设计矩阵中的截距(即一列)。将截距变量放在表的开头。
Const = ones(height(DataTable),1);DataTable = addvars(DataTable,Const,Before=1);
创建一个包含所有预测变量名称的变量。
varnames = DataTable.Properties.VariableNames;Prednames = varnames(varnames ~=“IGD”);
绘制除截距虚拟变量外的所有预测变量的相关图。
图corrplot (DataTable, DataVariables = prednames(2:结束),...TestR =“上”);
的预测BBB
与其他预测因子适度线性相关,而所有其他预测因子似乎彼此不相关。
绘制预测变量的Belsley共线性诊断图。调整以下共线性诊断选项:
将条件索引公差设置为10。
将方差分解比例公差设置为0.5。
图collintest (DataTable,情节=“上”DataVariables = prednames,...TolIdx = 10, TolProp = 0.5);
方差分解sValue condIdx Const AGE BBB CPF SPR --------------------------------------------------------- 2.0605 1 0.0015 0.0024 0.0020 0.0140 0.0025 0.8008 2.5730 0.0016 0.0025 0.0004 0.8220 0.0023 0.2563 8.0400 0.0037 0.3208 0.0105 0.0004 0.3781 0.1710 12.0464 0.2596 0.0950 0.8287 0.1463 0.0001 0.1343 15.3405 0.7335 0.5793 0.1585 0.0173 0.6170
与条件索引12相关的行(第4行)有一个预测器(BBB)
比例高于容差0.5,但共线性需要两个或多个预测因子才能产生依赖关系。
与条件索引15.3相关的行(第5行)显示了涉及的弱依赖性年龄
,SPR
,以及相关图未显示的截距。
输入参数
X
- - - - - -时间序列数据
数字矩阵
时间序列数据,指定为numObs
——- - - - - -numVars
数字矩阵。的每一列X
对应一个变量,每一行对应一个观察值。
数据类型:双
资源描述
- - - - - -时间序列数据
表格|时间表
时间序列数据,指定为表或时间表numObs
行。每行资源描述
是一种观察。
指定numVars
属性来包含在诊断计算中的变量DataVariables
论点。所选变量必须为数字。
斧头
- - - - - -用于绘图的轴
轴
对象
要绘制的坐标轴,指定为轴
对象。
默认情况下,collintest
绘制到当前轴的图(gca
).
请注意
若要指定包含截距的模型,请在时间序列数据中包含1的变量(列)。
collintest
在计算诊断之前,将所有变量缩放到单位长度;不要将数据中的变量居中。输入或删除所有缺失的观测值(由
南
条目)在输入数据中,然后将集合传递给collintest
.
名称-值参数
指定可选参数对为Name1 = Value1,…,以=家
,在那里的名字
参数名称和价值
对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。
在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字
在报价。
例子:collintest(资源描述、情节=””,显示=“关闭”,DataVariables = 1:5)
绘制表中前5个变量的Belslely共线性诊断资源描述
到图形,而不是命令窗口。
VarNames
- - - - - -结果显示和图表中使用的唯一变量名
字符串向量|特征向量|字符串的单元格向量|特征向量的单元向量
在结果的显示和绘图中使用的唯一变量名,指定为长度字符串的字符串向量或单元格向量numVars
.VarNames (
指定要用于变量的名称j
)X (:,
或j
)DataVariables (
.j
)
如果存在截距项,VarNames
必须包括截距项(例如,包括名称“常量”
).
该软件将所有变量名截断为前五个字符。
如果输入的时间序列数据是一个矩阵
X
,默认为{‘var1’,‘var2’,…}
.如果输入的时间序列数据是一个表格或时间表
资源描述
,默认为Tbl.Properties.VariableNames
.
例子:VarNames=["Const" "AGE" "BBD"]
数据类型:字符
|细胞
|字符串
显示
- - - - - -用于命令窗口显示结果的标志
“上”
(默认)|“关闭”
|特征向量
标志,用于显示结果的命令窗口,在本表中指定为值。
价值 | 描述 |
---|---|
“上” |
collintest 将所有输出以表格形式显示到命令窗口。 |
“关闭” |
collintest 不将结果显示到命令窗口。 |
例子:显示=“关闭”
数据类型:字符
|字符串
TolIdx
- - - - - -条件指标公差
30.
(默认)|至少为1的数字标量
条件索引公差,指定为至少为1的标量值。
collintest
使用TolIdx
确定哪些索引大到足以推断数据中的近似依赖关系。TolIdx
仅在情节
参数是“上”
.
例子:TolIdx = 25
数据类型:双
TolProp
- - - - - -方差分解比例公差
0.5
(默认)|[0,1]中的数值标量
方差分解比例公差,指定为区间[0,1]中的数值标量。
collintest
使用TolProp
来决定哪些变量在任何近似依赖关系中涉及。TolProp
仅在情节
参数是“上”
.
例子:TolProp = 0.4
数据类型:双
DataVariables
- - - - - -变量资源描述
所有的变量(默认)|字符串向量|特征向量的单元向量|整数向量|逻辑向量
变量资源描述
的collintest
中包含变量名的字符向量的字符串向量或单元格向量,指定为计算贝尔斯利共线性诊断Tbl.Properties.VariableNames
,或表示名称索引的整数或逻辑向量。所选变量必须为数字。
例子:DataVariables =(“GDP”“CPI”)
例子:DataVariables=[true true false false]
或DataVariables = [1 - 2]
选择第一个和第二个表变量。
数据类型:双
|逻辑
|字符
|细胞
|字符串
输出参数
h
-绘制图形对象的句柄
图形阵列
绘制图形对象的句柄,作为图形数组返回。h
包含唯一的地块标识符,可用于查询或修改地块的属性。
collintest
只在你设置的时候绘图情节= "上"
.
更多关于
贝尔斯利共线性诊断
条件指数
条件数
的条件数缩放矩阵的X是检测共线性的整体诊断。
对于缩放矩阵X与p列和奇异值(sValue
)
,条件号为
(sValue (1) / sValue(结束)
).
当对列进行缩放时,条件数达到1的下界X正交。条件数随着变量表现出更大的依赖性而增加。
作为一种诊断方法,条件数的局限性在于它无法提供任何近似依赖关系的强度和来源的细节。
多元线性回归模型
一个多元线性回归模型是模型的形式吗 X是回归变量的设计矩阵,和β是回归系数的向量。
奇异值
的奇异值(sValue
)的矩阵X是矩阵的对角线元素吗年代在奇异值分解中
按降序排列,缩放矩阵的奇异值X与p列是 .
方差分解比例
方差分解比例确定涉及近依赖项的变量组,以及依赖项降低回归的程度。
由奇异值分解 缩放设计矩阵X(与p列),定义以下数量:
V的标准正交特征向量的矩阵 .
奇异值(
sValue
) 是矩阵的有序对角线元素吗年代.
多元线性回归系数的OLS估计方差我,β我,与总和成正比
在哪里 表示元素(我,j)V.
方差分解比例(我,j) (VarDecomp
)为项的比例j在相对于整个和的和中,j= 1,…,p.
条款 特征值是缩放的吗 .因此,较大的方差分解比例对应较小的特征值 ,这是共线性的常见诊断。奇异值分解提供了一个更直接的,数值稳定的观点的特征系统的缩放 .
提示
参考文献
[1]贝尔斯利,D. A.库赫,R. E.威尔士。回归诊断.纽约:约翰·威利父子公司,1980年。
[2]法官,G. G.、W. E.格里菲斯、R. C.希尔、H. ltkepohl和T. C. Lee。计量经济学的理论与实践“,.纽约:John Wiley & Sons, Inc., 1985。
版本历史
在R2012a中引入R2022a:collintest
当您提供数据表时,返回一个结果表
如果你提供一个时间序列数据表资源描述
,collintest
返回一个包含奇异值变量的表sValue
条件指数condIdx
,为方差分解比例变量VarDecomp
与每个时间序列相关,从中诊断共线性。
R2022a之前,collintest
返回sValue
,condIdx
,VarDecomp
当您提供输入数据表时,在输出的不同位置。
从R2022a开始,如果您提供了一个输入数据表,请更新代码以返回第一个输出位置的所有共线性诊断输出。第二个可选输出是图形对象h
.
[VarDecompTbl,h] = collintest(Tbl,Name=Value)
collintest
如果请求更多输出,则发出错误。
此外,通过使用表索引访问结果。详情请参见访问表中的数据.
MATLAB命令
你点击了一个对应于这个MATLAB命令的链接:
在MATLAB命令窗口中输入该命令来运行该命令。Web浏览器不支持MATLAB命令。
您也可以从以下列表中选择一个网站:
如何获得最佳的网站性能
选择中国站点(中文或英文)以获得最佳站点性能。其他MathWorks国家站点没有针对您所在位置的访问进行优化。