nearcorr

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

描述

例子

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

例子

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

例子

全部折叠

求给定非正半定矩阵的弗罗比尼乌斯范数中最接近的相关矩阵。

指定一个N——- - - - - -N区间内所有元素的对称矩阵[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

计算特征值B

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

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

当你使用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

另外,你可以强加N——- - - - - -1向量化的权重“重量”名称-值对的论点。有关向量化权重的更多信息,请参见“重量”

W = linspace (0.1, 0.01, 5)”
W =5×10.1000 0.0775 0.0550 0.0325 0.0100
C = nearcorr (,“重量”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 =[南69.625 61.500 62.125 60.359 59.875 42.734 47.938 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南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南57.000 35.313 55.813 51.500 62.188 59.230 48.210 62.190 61.390 54.310 70.170 61.750 91.080南48.700 60.300 68.580 61.250 70.340 61.590 90.350 52.900 52.690 57.870 54.230 61.670 68.170南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.版权所有

输入参数

全部折叠

输入相关矩阵,指定为N——- - - - - -N与区间内所有元素对称近似相关矩阵[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,“宽容”,1 e -“MaxIterations”, 500年,“方法”,“牛顿”,“权重”,weight_vector)的回报。

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

例子:“宽容”,1 e

数据类型:|

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

例子:“MaxIterations”, 500年

数据类型:|

最近邻相关矩阵问题的求解方法,具体为由“方法”以及下表中的一个值。

价值 描述
“牛顿”

牛顿算法是二次收敛的。

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

“投影”

交替投影算法最优线性收敛于最接近的相关矩阵,精度高。

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

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

数据类型:字符|字符串

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

  • 对称矩阵-当你指定权重作为对称矩阵W所有元素>=0进行elementwise加权,得到最接近的相关矩阵Y是通过最小化(W⚬(一个-Y))。中相应元素的权重值越大,其重要性越高一个

  • N——- - - - - -1向量——当你指定的时候权重作为一个N——- - - - - -1向量w用正的数值,最接近的相关矩阵Y是通过最小化(诊断接头(w)0.5×(一个-Y诊断接头(w)0.5)。

请注意

矩阵权重将权重放在相关矩阵的各个元素上。必须指定一个完整的矩阵,但是您可以控制哪些项更重要。或者,向量权重将权重放在一整列(以及相应的行)上。与矩阵权值相比,需要指定的权值更少,但是整个列(以及相应的行)都由单个权值进行加权。

例子:“重量”,W

数据类型:|

输出参数

全部折叠

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

参考文献

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

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

[3]庞,J. S., D.孙,和J.孙。半光滑同态和半定和洛伦兹互补问题的强稳定性。运筹学数学。第28卷,第1期,2003年。

介绍了R2019b