nearcorr
描述
例子
计算最近的相关矩阵
弗罗贝尼乌斯找到最近的相关矩阵的规范对于一个给定的负值的半正定矩阵。
指定一个N
——- - - - - -N
对称矩阵的所有元素区间[1]
和单元对角线。
A = -0.9360 (1.0000 0 0 0 0 0 0 1.0000 -0.5500 -0.3645 -0.5300 -0.5500 1.0000 -0.0351 0.0875 -0.3645 -0.0351 1.0000 0.4557 -0.9360 -0.5300 - 0.0875 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.0219 -0.8478 0.0372 1.0000 -0.5449 -0.3757 -0.4849 0.0100 -0.5449 1.0000 -0.0381 0.0996 -0.0219 -0.3757 -0.0381 1.0000 0.4292 -0.8478 -0.4849 0.0996 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.0219 -0.8478 0.0372 1.0000 -0.5449 -0.3757 -0.4849 0.0100 -0.5449 1.0000 -0.0381 0.0996 -0.0219 -0.3757 -0.0381 1.0000 0.4292 -0.8478 -0.4849 0.0996 0.4292 1.0000
你也可以通过指定实施elementwise权重“重量”
名称-值对的论点。elementwise权重的更多信息,请参阅权重。
W = [0.0000 1.0000 0.1000 0.1500 0.2500 1.0000 0.0000 0.0500 0.0250 0.1500 0.1000 0.0500 0.0000 0.2500 1 0.1500 0.0250 0.2500 0.0000 - 0.2500 0.2500 - 0.1500 0.2500 - 0.0000);nearcorr (,“重量”W)
ans =5×51.0000 0.0014 0.0287 -0.0222 -0.8777 0.0014 1.0000 -0.4980 -0.7268 -0.4567 0.0287 -0.4980 1.0000 -0.0358 0.0878 -0.0222 -0.7268 -0.0358 1.0000 0.4465 -0.8777 -0.4567 0.0878 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.0056 -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.3684 -0.0367 1.0000 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 54.230 61.670 68.170南57.870 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
版权2019年MathWorks公司。
输入参数
一个
- - - - - -输入相关矩阵
矩阵
输入相关矩阵,作为指定N——- - - - - -N对称近似相关矩阵的所有元素区间[1]
和单元对角线。的一个
输入可能是也可能不是一个半正定矩阵。
例子:A = -0.9360 (1.0000 0 0 0 0 0 0 1.0000 -0.5500 -0.3645 -0.5300 -0.5500 1.0000 -0.0351 0.0875 -0.3645 -0.0351 1.0000 0.4557 -0.9360 -0.5300 - 0.0875 0.4557 - 1.0000)
数据类型:单
|双
名称-值参数
指定可选的双参数作为Name1 = Value1,…,以=家
,在那里的名字
参数名称和吗价值
相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。
R2021a之前,用逗号来分隔每一个名称和值,并附上的名字
在报价。
例子:nearcorr (A,“宽容”,1 e -“MaxIterations”, 500年,“方法”,“牛顿”,“权重”,weight_vector)
返回一个最小化弗罗贝尼乌斯距离最近的相关矩阵。
宽容
- - - - - -终止对算法
1 e-6
(默认)|积极的标量
终止对该算法,指定为逗号分隔组成的“宽容”
和积极的标量。
例子:“宽容”,1 e
数据类型:单
|双
MaxIterations
- - - - - -最大数量的迭代解算器
200年
(默认)|正整数
最大数量的解算器迭代,指定为逗号分隔组成的“MaxIterations”
和一个正整数。
例子:“MaxIterations”, 500年
数据类型:单
|双
方法
- - - - - -最近的相关矩阵方法解决问题
“牛顿”
(默认)|“投影”
最近的相关矩阵方法求解问题,指定为逗号分隔组成的“方法”
下表中的值。
价值 | 描述 |
---|---|
“牛顿” |
牛顿算法是收敛的平方。 如果你指定 |
“投影” |
交替投影算法能够收敛到最近的相关矩阵与精度高,线性。 如果你指定 |
例子:“方法”,“投影”
数据类型:字符
|字符串
权重
- - - - - -权重的信心水平的条目输入矩阵
[]
(默认)|矩阵
|向量
权重的信心水平的条目输入矩阵,指定为逗号分隔组成的“重量”
和一个对称矩阵或一个N
——- - - - - -1
向量。
请注意
权重矩阵把重量放在个人相关矩阵的条目。一个完整的矩阵必须指定,但你可以控制哪些条目匹配更重要。另外,向量权重把重量放在一个完整的列(和相应的行)。更少的重量需要指定比矩阵权重,但是一整列(和相应的行)是由单个重量加权。
例子:“重量”,W
数据类型:单
|双
引用
[1]海厄姆:J。“最近的相关矩阵计算——从金融问题。”IMA数值分析杂志》上。问题3,第22卷,2002年。
[2]气,h . d .太阳。“一个增广拉格朗日对偶方法H-Weighted最近的相关矩阵问题。”IMA数值分析杂志》上。问题2卷。31日,2011年。
[3]彭日成,j·S。,D. Sun, and J. Sun. "Semismooth Homeomorphisms and Strong Stability of Semidefinite and Lorentz Complementarity Problems."数学操作的研究。1号卷28日,2003年。
扩展功能
线程环境
在后台运行代码使用MATLAB®backgroundPool
与并行计算工具箱™或加速代码ThreadPool
。
这个函数完全支持线程的环境。金宝app有关更多信息,请参见MATLAB函数线程环境中运行。
版本历史
介绍了R2019b
另请参阅
MATLAB命令
你点击一个链接对应MATLAB命令:
运行该命令通过输入MATLAB命令窗口。Web浏览器不支持MATLAB命令。金宝app
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。