主要内容

collintest

贝尔斯利共线性诊断

描述

例子

sValuecondIdxVarDecomp= collintest(X在命令窗口显示贝尔斯利共线性诊断用于评估时间序列数据矩阵中变量间共线性的强度和来源X.函数还返回奇异值按递减顺序排列sValue条件指数condIdx,方差分解比例VarDecomp

例子

VarDecompTbl= collintest (资源描述显示表或时间表的所有变量的贝尔斯利共线性诊断资源描述.该函数还返回表VarDecompTbl包含奇异值和条件指数变量,以及与每个时间序列相关的方差分解比例变量。

中选择变量的子集资源描述,用于计算共线性诊断,请使用DataVariables名称-值参数。

例子

___= collintest(___名称=值除以前语法中的任何输入参数组合外,还使用一个或多个名称-值参数指定选项。collintest返回对应输入参数的输出参数组合。例如,collintest(资源描述、情节=””,显示=“关闭”,DataVariables = 1:5)绘制表中前5个变量的Belslely共线性诊断资源描述到图形,而不是命令窗口。

collintest (斧头、情节=””,___所指定的轴上的绘图斧头而不是当前轴(gca).斧头可以放在前面语法中任何输入参数组合的前面。

___h= collintest(___、情节=“上”)绘制输入序列的诊断结果,并向绘制的图形对象返回句柄h.使用元素h在创建后修改绘图的属性。

例子

全部折叠

的默认选项显示多个时间序列的共线性诊断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,其中变量对应于数据中各变量的奇异值、条件指标和方差分解比例(sValuecondIdx,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

图中包含一个轴对象。标题为空白H i g H空白in d x空白V a r in c e空白d ec o m p o s i i on s的坐标轴对象包含3个类型为line的对象。这些对象表示condIdx 87.8, tolProp。

该图对应于方差分解比例的最后一行中的值,这些值是条件指数大于默认容差30的唯一比例。利率序列的方差分解比例超过了0.5的默认容差(图中红色标记)。

计算所选时间序列和截距的共线性诊断。

加载信用默认数据集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 =“上”);

MATLAB图

的预测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

图中包含一个轴对象。标题为空白H i g H空白in d x空白V a r in c e空白d ec o m p o s i i on s的坐标轴对象包含4个类型为line的对象。这些对象表示condIdx 12, condIdx 15.3, tolProp。

与条件索引12相关的行(第4行)有一个预测器(BBB)比例高于容差0.5,但共线性需要两个或多个预测因子才能产生依赖关系。

与条件索引15.3相关的行(第5行)显示了涉及的弱依赖性年龄SPR,以及相关图未显示的截距。

输入参数

全部折叠

时间序列数据,指定为numObs——- - - - - -numVars数字矩阵。的每一列X对应一个变量,每一行对应一个观察值。

数据类型:

时间序列数据,指定为表或时间表numObs行。每行资源描述是一种观察。

指定numVars属性来包含在诊断计算中的变量DataVariables论点。所选变量必须为数字。

要绘制的坐标轴,指定为对象。

默认情况下,collintest绘制到当前轴的图(gca).

请注意

  • 若要指定包含截距的模型,请在时间序列数据中包含1的变量(列)。

  • collintest在计算诊断之前,将所有变量缩放到单位长度;不要将数据中的变量居中。

  • 输入或删除所有缺失的观测值(由条目)在输入数据中,然后将集合传递给collintest

名称-值参数

指定可选参数对为Name1 = Value1,…,以=家,在那里的名字参数名称和价值对应的值。名称-值参数必须出现在其他参数之后,但对的顺序无关紧要。

在R2021a之前,使用逗号分隔每个名称和值,并将其括起来的名字在报价。

例子:collintest(资源描述、情节=””,显示=“关闭”,DataVariables = 1:5)绘制表中前5个变量的Belslely共线性诊断资源描述到图形,而不是命令窗口。

在结果的显示和绘图中使用的唯一变量名,指定为长度字符串的字符串向量或单元格向量numVarsVarNames (j指定要用于变量的名称X (:,jDataVariables (j

如果存在截距项,VarNames必须包括截距项(例如,包括名称“常量”).

该软件将所有变量名截断为前五个字符。

  • 如果输入的时间序列数据是一个矩阵X,默认为{‘var1’,‘var2’,…}

  • 如果输入的时间序列数据是一个表格或时间表资源描述,默认为Tbl.Properties.VariableNames

例子:VarNames=["Const" "AGE" "BBD"]

数据类型:字符|细胞|字符串

标志,用于显示结果的命令窗口,在本表中指定为值。

价值 描述
“上” collintest将所有输出以表格形式显示到命令窗口。
“关闭” collintest不将结果显示到命令窗口。

例子:显示=“关闭”

数据类型:字符|字符串

将结果绘制到图形的标志,该图形在本表中作为值指定。

价值 描述
“上”

collintest绘制输出的关键行VarDecomp特别是与条件指数超过输入公差TolIdx

如果一组至少两个变量在一个关键行有方差分解比例超过输入公差TolProp时,该组用红色标记进行标识。

“关闭” collintest不将结果绘制为图形。

例子:情节= "上"

数据类型:字符|字符串

条件索引公差,指定为至少为1的标量值。

collintest使用TolIdx确定哪些索引大到足以推断数据中的近似依赖关系。TolIdx仅在情节参数是“上”

例子:TolIdx = 25

数据类型:

方差分解比例公差,指定为区间[0,1]中的数值标量。

collintest使用TolProp来决定哪些变量在任何近似依赖关系中涉及。TolProp仅在情节参数是“上”

例子:TolProp = 0.4

数据类型:

变量资源描述collintest中包含变量名的字符向量的字符串向量或单元格向量,指定为计算贝尔斯利共线性诊断Tbl.Properties.VariableNames,或表示名称索引的整数或逻辑向量。所选变量必须为数字。

例子:DataVariables =(“GDP”“CPI”)

例子:DataVariables=[true true false false]DataVariables = [1 - 2]选择第一个和第二个表变量。

数据类型:|逻辑|字符|细胞|字符串

输出参数

全部折叠

奇异值由指定的时间序列变量组成的比例设计矩阵,作为具有降序元素的数字向量返回。collintest返回sValue当你提供输入时X

条件指数,作为一个数字向量返回,其中元素按升序排列。

所有条件指标的值都在1到条件数指定时间序列变量的缩放设计矩阵。collintest返回condIdx当你提供输入时X

大索引可以识别指定变量之间的密切依赖关系。指标的大小是衡量相关性与共线性的接近程度。

方差分解比例,作为numVars——- - - - - -numVars数字矩阵。

大的比例,结合大的条件索引,确定了涉及近依赖关系的变量组。collintest返回VarDecomp当你提供输入时X

比例的大小可以衡量依赖关系对回归的影响有多严重。

共线性诊断摘要,作为包含输出变量的表返回sValuecondIdx,VarDecompcollintest返回资源描述当你提供输入时资源描述.的值VarNames的列的变量名VarDecomp

绘制图形对象的句柄,作为图形数组返回。h包含唯一的地块标识符,可用于查询或修改地块的属性。

collintest只在你设置的时候绘图情节= "上"

更多关于

全部折叠

贝尔斯利共线性诊断

贝尔斯利共线性诊断评估变量间共线性的强度和来源多元线性回归模型

为了评估共线性,软件计算奇异值缩放后的变量矩阵,X,然后将它们转换为条件指数.条件索引确定变量矩阵中变量之间的任何近依赖关系的数量和强度。该软件将回归系数的普通最小二乘(OLS)估计值的方差分解为奇异值,以识别每个接近依赖项所涉及的变量,以及依赖项降低回归的程度。

条件指数

条件指数condIdx)表示一个缩放矩阵X确定任何接近依赖关系的数量和强度X

对于缩放矩阵Xp列和奇异值(sValue 年代 1 年代 2 ... 年代 p 的列的条件指标X 年代 1 / 年代 j sValue (1) / sValue (j),j= 1,…,p

所有条件指标的范围都在1和条件数

条件数

条件数缩放矩阵的X是检测共线性的整体诊断。

对于缩放矩阵Xp列和奇异值(sValue 年代 1 年代 2 ... 年代 p ,条件号为 年代 1 / 年代 p sValue (1) / sValue(结束)).

当对列进行缩放时,条件数达到1的下界X正交。条件数随着变量表现出更大的依赖性而增加。

作为一种诊断方法,条件数的局限性在于它无法提供任何近似依赖关系的强度和来源的细节。

多元线性回归模型

一个多元线性回归模型是模型的形式吗 Y X β + ε X是回归变量的设计矩阵,和β是回归系数的向量。

奇异值

奇异值sValue)的矩阵X是矩阵的对角线元素吗年代在奇异值分解中 U 年代 V

按降序排列,缩放矩阵的奇异值Xp列是 年代 1 年代 2 ... 年代 p

方差分解比例

方差分解比例确定涉及近依赖项的变量组,以及依赖项降低回归的程度。

由奇异值分解 U 年代 V 缩放设计矩阵X(与p列),定义以下数量:

  • V的标准正交特征向量的矩阵 X X

  • 奇异值(sValue 年代 1 年代 2 ... 年代 p 是矩阵的有序对角线元素吗年代

多元线性回归系数的OLS估计方差β,与总和成正比

V 1 2 / 年代 1 2 + V 2 2 / 年代 2 2 + ... + V p 2 / 年代 p 2

在哪里 V j 表示元素(j)V

方差分解比例(j) (VarDecomp)为项的比例j在相对于整个和的和中,j= 1,…,p

条款 年代 j 2 特征值是缩放的吗 X X .因此,较大的方差分解比例对应较小的特征值 X X ,这是共线性的常见诊断。奇异值分解提供了一个更直接的,数值稳定的观点的特征系统的缩放 X X

提示

  • 为了共线性诊断的目的,Belsley[1]说明由输入时间序列数据组成的设计矩阵的列缩放总是可取的。然而,他也表明,在居中的数据X是不可取的。对于有截距的模型,如果您将数据居中X,常数项在任何近相关性中的作用都是隐藏的,并产生误导性的诊断。

  • 识别大条件指数和方差分解比例的容差与标准假设检验中的临界值相当。经验决定了最有用的公差,但实验表明collintest默认值是很好的起点[1]

参考文献

[1]贝尔斯利,D. A.库赫,R. E.威尔士。回归诊断.纽约:约翰·威利父子公司,1980年。

[2]法官,G. G.、W. E.格里菲斯、R. C.希尔、H. ltkepohl和T. C. Lee。计量经济学的理论与实践“,.纽约:John Wiley & Sons, Inc., 1985。

版本历史

在R2012a中引入

全部展开

Baidu
map