小范数调整的特征向量


10

我有一个变化缓慢的数据集,我需要跟踪其协方差矩阵的特征向量/特征值。

我一直在使用scipy.linalg.eigh,但是它太贵了,并且它没有使用我已经进行了分解的事实,该分解只是稍微不正确。

谁能建议一种更好的方法来解决此问题?


1
您的数据有多大?您需要完整的特征系统,还是仅需要一些最大的特征值?您到底需要它们还是近似值?
cfh

我需要完整的特征系统。我找到了一种在小范数更新后使用协方差矩阵逆的回归解释来更新矩阵逆的算法,因此我假设特征向量应该存在类似的内容。
Yaroslav Bulatov

您如何处理完整的本征分解?可能有一个更好的捷径无法解决……我重申了CFH的问题:“多大”?
Federico Poloni's

我有8k要素和数百万个数据点,因此协方差是近似的。这是要实现算法。梯度更新取决于某些协方差矩阵的特征值,并且此协方差矩阵在每一步都会发生变化
Yaroslav Bulatov

Answers:


5

天真的方法是将矩阵的特征值解用作矩阵的迭代本征求解器的初始猜测。如果需要全频谱,则可以使用QR,否则可以使用功率方法。但是,这并不是一种完全可靠的方法,因为矩阵的特征值不一定接近于几乎相邻的矩阵(1),尤其是条件差的矩阵(2)时+ δ A(t)A(t+δt)

子空间跟踪方法显然更有用(3)。摘自(4)

极端(最大或最小)特征对(特征值和特征向量)的迭代计算可以追溯到1966年[72]。汤普森在1980年提出了一种LMS型自适应特征向量估计算法,该算法对应于样本协方差矩阵的最小特征值,并提供了Pisarenko谐波估计器对角度/频率组合的自适应跟踪算法[14]。Sarkar等。[73]使用共轭梯度算法来跟踪极端特征向量的变化,该特征向量对应于缓慢变化的信号的协方差矩阵的最小特征值,并证明了其收敛速度比汤普森的LMS型算法快得多。这些方法仅用于限制应用的单个极值和特征向量的跟踪,但后来它们被扩展为本征子空间跟踪和更新方法。1990年,Comon和Golub [6]提出了Lanczos方法来跟踪极值奇异值和奇异矢量,这是最初设计用于确定某些大而稀疏的对称本征问题的通用方法。Ax=kx [74]。

[6]:Comon,P.和Golub,GH(1990)。跟踪信号处理中的一些极端奇异值和矢量。在IEEE处理中(第1327–1343页)。

[14]:宾夕法尼亚州汤普森(1980)。自适应频谱分析技术

[72]:Bradbury,WW,&Fletcher,R.(1966)。解决本征问题的新迭代方法。数值数学,9(9),259-266。

[73]:萨卡(Tarkar),TK,迪亚纳特(Dianat),萨恩(Shen),H。,和布鲁尔(Brule),JD(1986)。共轭梯度法的自适应光谱估计。IEEE声学,语音和信号处理事务,34(2),272–284。

[74]:Golub,GH,和Van Load,CF(1989)。矩阵计算(第二版)。巴尔的摩:约翰·霍普金斯大学出版社。

我还应该提到对称矩阵的解决方案(例如,使用时必须解决的问题)scipy.linalg.eigh有些便宜。如果您只对几个特征值感兴趣,那么您可能还会发现方法的速度提高。在这种情况下经常使用Arnoldi方法。


1
感谢指针,QR算法似乎是一个不错的起点
Yaroslav Bulatov

我认为特征值的摄动幅度与条件数无关。这是因为具有与相同的特征值,但条件编号不同。一个+ λ AA+λI
Federico Poloni's

ps:在4k x 4k矩阵上的linalg.eigh大约需要20秒(出于某种原因,它仅使用单核)。我每次更新大约需要0.25秒
Yaroslav Bulatov

7

存在用于更新时间相关协方差矩阵的本征分解的特殊技术。给定“先验”特征值分解(例如在某个初始时间),这些递归算法将频谱更新的复杂度从(基本上是新特征分解的成本)降低到,其中是矩阵的大小,是更新的等级。ON 3Ok N 2N kt0O(N3)O(kN2)Nk

这里有一些相关的参考资料:

基于一阶扰动的数据协方差矩阵的自适应本征分解 (Champagne,IEEE TSP 42(10)1994)

递归更新协方差矩阵的特征值分解(Yu,IEEE TSP,39(5)1991)

高维在线主成分分析:选择哪种算法?(卡多和德格拉斯)

更新奇异值分解的稳定且快速的算法(Gu和Eisenstadt,1994年)


不幸的是,我没有小排名更新,我有小排名更新
Yaroslav Bulatov

@YaroslavBulatov我不知道有一种可以处理小规范的全等级更新的有效算法-最好的发现是该参考资料,但它看起来前景不大。当然,您可能需要查看大量有关特征值摄动的文献(请参阅其他答案)。
GoHokies
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.