nearcorr

通过最小化弗罗比尼乌斯距离来计算最近相关矩阵

描述

ÿ= nearcorr(一种返回最近的相关矩阵ÿ通过最小化弗罗比尼乌斯距离。

ÿ= nearcorr(___名称,值除了前面语法中的输入参数外,还指定使用一个或多个名-值对参数的选项。

例子

全部折叠

查找弗罗比尼斯范数为给定的非正半正定矩阵最近的相关矩阵。

指定一个ñ——- - - - - -ñ与在间隔的所有元素对称矩阵[1]和单元对角线。

A = [1.0000 000 -0.9360 0 1.0000 -0.5500 -0.3645 -0.5300 0 -0.5500 1.0000 -0.0351 0.875 0 -0.3645 -0.0351 1.0000 0.4557 - 0.4557 1.0000];

计算的特征值一种运用EIG

eig (A)
ans =5×1-0.1244 0.3396 1.0284 1.4457 2.3107

最小的特征值小于0,这表明一种不是一个正半定矩阵。

计算最近的相关矩阵使用nearcorr使用默认的牛顿算法。

B = nearcorr (A)
B =5×51.0000 0.0372 0.0100 - 0.0372 1.0000 -0.5449 -0.3757 -0.5449 1.0000 -0.0381 0.0996 -0.0381 1.0000 0.4292 - 0.4292 1.0000

计算的特征值

eig (B)
ans =5×10.0000 0.3266 1.0146 1.4113 2.2475

所有特征值都大于或等于0,这意味着是半正定矩阵。

当您使用nearcorr,您可以通过设置名称-值对参数来指定交替投影算法“方法”“投影”

nearcorr (,“方法”“投影”
ans =5×51.0000 0.0372 0.0100 - 0.0372 1.0000 -0.5449 -0.3757 -0.5449 1.0000 -0.0381 0.0996 -0.0381 1.0000 0.4292 - 0.4292 1.0000

您还可以通过指定“权重”名称-值对的论点。有关的elementwise权的更多信息,请参阅“权重”

W = [0.0000 1.0000 0.1000 0.1500 0.0000 0.0500 0.0250 0.1500 0.500 0.2500 0.2500 0.0000];nearcorr (,“权重”W)
ans =5×51.0000 0.0014 0.0287 -0.0222 -0.8777 0.0014 1.0000 - 0.4465 - 0.4465 1.0000 0.0287 -0.4980 1.0000 -0.0358 0.0878 -0.0222 -0.0358 1.0000 0.4465 -0.8777 -0.4567 0.4465 1.0000

此外,可以并处ñ——- - - - - -1矢量的权重通过指定“权重”名称-值对的论点。有关向量化权重的更多信息,请参见“权重”

W = linspace(0.1,0.01,5)”
W =5×10.1000 0.0775 0.0550 0.0325 0.0100
C = nearcorr(A,“权重”W)
C =5×51.0000 0.0051 0.0021 -0.8490 0.0051 1.0000 -0.5486 -0.3684 -0.4691 0.0021 -0.5486 1.0000 -0.0367 0.1119 -0.0056 0.3890 -0.8490 -0.4691 0.1119 0.3890 1.0000

计算的特征值C

eig (C)
ans =5×10.0000 0.3350 1.0272 1.4308 2.2070

所有特征值都大于或等于0,这意味着C是半正定矩阵。

使用nearcorr为缺失值股票的相关矩阵创建一个正半定矩阵。

假设你有股票价值与缺失值。

Stock_Missing = [59.875 42.734 47.938 60.359 NaN的69.625 61.500 62.125 53.188 49.000 39.500 64.813 34.750 56.625 83.000 44.500 55.750 50.000 38.938 62.875 30.188 43.375 NaN的29.938 65.500 51.063 45.563 69.313 48.250 62.375 85.250 46.875 69.938 47.000 52.313 71.016 37.500 59.359 61.188 48.219 61.500 44.188 NaN的57.000 35.313 55.813 51.50062.188 59.230 48.210 62.190 61.390 54.310 70.170 61.750 91.080 48.700的NaN 60.300 68.580 61.250 70.340 61.590 90.350 52.900 52.690 54.230 61.670 68.170 57.870的NaN 88.640 57.370 59.040 59.870 62.090 61.620 66.470 65.370 85.840];

使用相关系数来计算相关矩阵,然后使用EIG检查,如果相关矩阵是半正定的。

= corr (Stock_Missing“行”“配对”);eig (A)
ans =8×1-0.1300 -0.0398 0.0473 0.2325 0.6278 1.6276 1.7409 3.8936

一种特征值是否小于0,表明相关矩阵不是正半定的。

使用nearcorr与此相关矩阵,以产生半正定矩阵,其中所有特征值都大于或等于0

B = nearcorr(一个);特征值= eig (B)
特征值=8×10.0000 0.0000 0.0180 0.2205 0.5863 1.6026 1.7258 3.8469

MathWorks, Inc.版权所有

输入参数

全部折叠

输入相关矩阵,指定为ñ——- - - - - -ñ与在间隔的所有元素对称的近似相关矩阵[1]和单元对角线。的一种输入可以是或可以不是半正定矩阵。

例子:A = [1.0000 000 -0.9360 0 1.0000 -0.5500 -0.3645 -0.5300 0 -0.5500 1.0000 -0.0351 0.875 0 -0.3645 -0.0351 1.0000 0.4557 0.4557 1.0000]

数据类型:|

名称-值对的观点

指定可选的用逗号分隔的对名称,值参数。名称是参数的名称和价值是对应的值。名称必须出现在引号内。可以按任意顺序指定多个名称和值对参数Name1, Value1,…,的家

例子:nearcorr(A, '公差',1E-7, 'MaxIterations',500 '方法', '牛顿', '权重',weight_vector)回报。

终止公差为算法,指定为逗号分隔的一对组成的“宽容”一个正的标量。

例子:“宽容”,1 e

数据类型:|

最大迭代求解次数,指定为逗号分隔对组成'MaxIterations'一个正整数。

例子:'MaxIterations',500

数据类型:|

方法用于解决最近的相关矩阵的问题,指定为逗号分隔的一对组成的'方法'以及下表中的一个值。

价值 描述
“牛顿”

牛顿算法是二次收敛的。

如果你指定“牛顿”方法,权重既可以是对称矩阵,也可以是ñ——- - - - - -1向量。

“投影”

交替投影算法可以线性收敛到以高精度最近的相关矩阵,最好的。

如果你指定“投影”方法,权重必须是一个ñ——- - - - - -1向量。

例子:“方法”,“投影”

数据类型:字符|

输入矩阵中项的置信水平的权重,由逗号分隔的对指定“权重”要么是对称矩阵,要么是ñ——- - - - - -1向量。

  • 对称矩阵 - 当您指定权重作为对称矩阵w ^所有元素>=0进行elementwise加权,得到最接近的相关矩阵ÿ通过最小化的范数(计算w ^⚬(一种-ÿ))。较大的权重值放置在相应的元素更重要一种

  • ñ——- - - - - -1向量 - 当您指定权重作为一个ñ——- - - - - -1向量w ^用正的数值,最接近的相关矩阵ÿ通过最小化的范数(计算诊断接头w ^0.5×(一种-ÿ)×诊断接头w ^0.5)。

注意

矩阵权重放在对相关矩阵的各个条目。全矩阵必须指定,但你可以控制哪些条目将会匹配更为重要。可替换地,权重矢量把重量在一个完整的柱(和对应的行)。更少的权重需要被指定比矩阵权重,但整列(和对应的行)是由一个单一的重量加权。

例子:'权重',W

数据类型:|

输出参数

全部折叠

最接近输入的相关矩阵一种,作为正半定矩阵返回。

参考文献

[1]海厄姆,新泽西州。“计算最近的相关矩阵——一个金融问题。”IMA杂志数值分析。2002年第3期,第22卷。

[2]齐,H。和D.太阳“一个增广拉格朗日双重方法的H-加权最近相关矩阵问题”。IMA杂志数值分析。2011年第2期,第31卷。

[3]庞,J.S。,D. Sun和J.太阳“半光滑同胚和半定的强稳定性和洛伦兹互补问题。”运筹学数学。卷。28日,1号,2003。

也可以看看

||

介绍了在R2019b