来自不同矩阵的IML相关性

时间:2015-08-14 09:43:42

标签: sas sas-iml

给定矩阵X(n * p),我想将X分成Y1(n * pk)和Y2(n * k),其中Y1由X的前k列和其他的Y2组成。 / p>

现在,在RI中可以获得调用cor(Y1,Y2, use="pairwise.complete.obs")的Y1和Y2列之间的“交叉”相关性,如何在SAS IML中获得相同的结果,其中corr函数仅允许1个数据集?

我试图找到一个合适的解决方案或算法来实现它,但效果不好。

任何人都可以帮忙吗?还指出一些关于这种或相关性的文献会很棒!我不希望你为我编写代码,只是对现有函数或算法进行一些帮助或提示进行翻译。

谢谢。

编辑:不要在网上搜索交叉关联,我写这篇文章只是为了解释自己。

1 个答案:

答案 0 :(得分:1)

向上看"交叉相关"您将获得一系列有关信号处理的文献和与自相关函数非常相似的函数。事实上,在R中,它记录为acf https://stat.ethz.ch/R-manual/R-devel/library/stats/html/acf.html

但这不是你的代码正在做的事情。在R:

n = 100
p = 6
k = 2

set.seed(1)

r = rnorm(n*p)
x= matrix(r,n,p)

y1 = x[,1:k]
y2 = x[,(k+1):p]

cor.ys = cor(y1,y2,use="pairwise.complete.obs")

cor.x = cor(x)

(cor.ys - cor.x[1:k,(k+1):p])

您会看到cor(y1,y2)的结果只是x的相关矩阵的一部分。

你应该能够轻松地将它放入IML中。