我正在尝试估算R中50个股票收益的相关矩阵。 我知道我应该缩小相关矩阵,但我也有兴趣使用Spearman的秩相关,因为它不需要分布是正常的。
对于Sperman相关,我通常在cov()函数中指定method =“spearman”,这不允许收缩tecniques。 对于收缩,我一直在看黄褐色包和corpcor包,但他们不允许任何规格的pearson / spearman等方法。
有关如何处理此问题的任何建议?
答案 0 :(得分:2)
如果您对使用非参数相关感兴趣,也许您可以查看Kendall的tau。作为U统计,它是渐近正常的。 (如果我没有记错,Spearman也是渐近正常的,所以我要描述的程序对Spearman也是有效的)因此,它表明你可以使用正常的对数似然来执行收缩。
更确切地说,让tau.hat成为你的矢量化(估计)相关矩阵和
L(tau | tau.hat, Sigma) = t(tau - tau.hat) Sigma^{-1} (tau - tau.hat)
其中cov(tau.hat)= Sigma。 L是损失函数,它可以让你知道什么时候你应用了太多的收缩(意识到L应该大致是卡方形分布)。
这不是很有帮助,因为你不了解西格玛,但有一些方法可以估算它(对于50种股票,它可能仍然可以,但会迅速爆炸)。这就是为什么我建议使用Kendall的tau而不是Spearman的rho的主要原因:你可以了解它的方差(Sigma)。 (参见本文的Sigma估算器:https://arxiv.org/abs/1706.05940)
从那里,您可以使用标准技术缩小Sigma.hat(这是必要的),例如简单地将它缩小到对角线版本Sigma0.hat with
Sigma.tilde = w Sigma0.hat + (1-w) Sigma.hat
例如,w = .5。至少确保它是肯定的...
然后(终于!)通过让q在tau.tilde = (1-q) tau.hat + q mean(tau.hat)
中变为1直到Prob[chi_d^2 > L(tau.tilde | tau.hat, Sigma.tilde)] = .05
得到tau.hat的缩小版本,其中你的自由度为(?!?! ?)d = length(tau.hat) - q
。
我不确定chi平方的自由度是否正确。实际上,我很确定他们不是。还要注意.05有点随意选择。最重要的是,你可能想看一下上面提到的论文,因为他们(我们必须说)确实缩小了100个股票的对数回报的肯德尔相关矩阵。它的完成方式使我们能够更多地了解所讨论的自由度(并且不需要您在从数据中学习块结构时先验地提供结构)。