标签: correlation

R,相关性:是否存在将num矢量转换为标准单位矢量的函数

在给定数字向量的R中是否有一个函数,返回另一个向量,其中标准单位对应于每个值?

其中......标准单位:一个值是多少个SD +或 - 来自平均值

例:

 x <- c(1,3,4,5,7)    # note: mean = 4, sd = 2
 foo(x) 
 [1]  -1.5  -0.5  0.0  0.5  1.5
Run Code Online (Sandbox Code Playgroud)

这个(虚构的)"su"功能是否已包含在包中?

谢谢.

r normalization mean correlation standard-deviation

11
推荐指数
3
解决办法
3782
查看次数

完整的cor()函数

我正在为我的数据建立一个相关矩阵,看起来像这样

df <- structure(list(V1 = c(56, 123, 546, 26, 62, 6, NA, NA, NA, 15
), V2 = c(21, 231, 5, 5, 32, NA, 1, 231, 5, 200), V3 = c(NA, 
NA, 24, 51, 53, 231, NA, 153, 6, 700), V4 = c(2, 10, NA, 20, 
56, 1, 1, 53, 40, 5000)), .Names = c("V1", "V2", "V3", "V4"), row.names = c(NA, 
10L), class = "data.frame")
Run Code Online (Sandbox Code Playgroud)

这给出了以下数据框:

        V1  V2  V3   V4
    1   56  21  NA    2
    2  123 231  NA   10 …
Run Code Online (Sandbox Code Playgroud)

r matrix correlation na

11
推荐指数
1
解决办法
3万
查看次数

从相关系数计算中删除异常值

假设我们有两个数字向量xy.之间的Pearson相关系数xy由下式给出

cor(x,y)

如何才能自动仅考虑计算中的一部分(xy90%)以最大化相关系数?

statistics r correlation

10
推荐指数
4
解决办法
2万
查看次数

什么是在matlab中逐列相关计算的快速方法

我有两个非常大的矩阵(60x25000),我想计算两个矩阵之间的列之间的相关性.例如:

corrVal(1) = corr(mat1(:,1), mat2(:,1);
corrVal(2) = corr(mat1(:,2), mat2(:,2);
...
corrVal(i) = corr(mat1(:,i), mat2(:,i);
Run Code Online (Sandbox Code Playgroud)

对于较小的矩阵,我可以简单地使用:

   colCorr = diag( corr( mat1, mat2 ) );
Run Code Online (Sandbox Code Playgroud)

但这对于非常大的矩阵不起作用,因为我的内存不足.我已经考虑过切割矩阵来计算相关性然后组合结果,但是计算列组合之间的相关性似乎是一种浪费,我实际上并不感兴趣.

有没有快速的方法直接计算我感兴趣的东西?

编辑:我过去使用了一个循环,但它只是缓慢的方式:

mat1 = rand(60,5000);
mat2 = rand(60,5000);
nCol = size(mat1,2);
corrVal = zeros(nCol,1);

tic;
for i = 1:nCol
    corrVal(i) = corr(mat1(:,i), mat2(:,i));
end
toc; 
Run Code Online (Sandbox Code Playgroud)

这需要约1秒钟

tic;
corrVal = diag(corr(mat1,mat2));
toc;
Run Code Online (Sandbox Code Playgroud)

这需要约0.2秒

matlab matrix correlation

10
推荐指数
1
解决办法
9909
查看次数

从R中的二项分布生成相关随机数

我试图找到一种从几个二项分布生成相关随机数的方法.

我知道如何使用正态分布(使用mvrnorm),但我找不到适用于二项式的函数.

random r correlation

10
推荐指数
2
解决办法
8571
查看次数

使用JTransforms库计算与FFT的自相关

我正在尝试使用下面的代码计算时间序列中的样本窗口的自相关.我正在对该窗口应用FFT,然后计算实部和虚部的大小并将虚部设置为零,最后对其进行逆变换以获得自相关:

DoubleFFT_1D fft = new DoubleFFT_1D(magCnt);
fft.realForward(magFFT);

magFFT[0] = (magFFT[0] * magFFT[0]);
for (int i = 1; i < (magCnt - (magCnt%2)) / 2; i++) {
    magFFT[2*i] = magFFT[2*i] * magFFT[2*i] + magFFT[2*i + 1] * magFFT[2*i + 1];
    magFFT[2*i + 1] = 0.0;
}

if (magCnt % 2 == 0) {
    magFFT[1] = (magFFT[1] * magFFT[1]);
} else {
    magFFT[magCnt/2] = (magFFT[magCnt-1] * magFFT[magCnt-1] + magFFT[1] * magFFT[1]);
}

autocorr = new double[magCnt];
System.arraycopy(magFFT, 0, autocorr, 0, magCnt);
DoubleFFT_1D …
Run Code Online (Sandbox Code Playgroud)

java fft time-series correlation

10
推荐指数
1
解决办法
6684
查看次数

python中数组之间的相关性

我有2个阵列.

 a1 = [1,2,4]
 a2 = [3,4,5]
Run Code Online (Sandbox Code Playgroud)

我如何使用python找到这两个数组之间的相关性.

在matlab中,你会这样做:

corr(a1,a2)
Run Code Online (Sandbox Code Playgroud)

如何在python中执行此操作?

python arrays vector correlation

10
推荐指数
1
解决办法
2万
查看次数

R data.table中各组之间的相关性

如果这些值按组存储在data.table的单个列中(除了将data.table转换为矩阵之外),是否有一种优雅计算值之间相关性的方法?

library(data.table)
set.seed(1)             # reproducibility
dt <- data.table(id=1:4, group=rep(letters[1:2], c(4,4)), value=rnorm(8))
setkey(dt, group)

#    id group      value
# 1:  1     a -0.6264538
# 2:  2     a  0.1836433
# 3:  3     a -0.8356286
# 4:  4     a  1.5952808
# 5:  1     b  0.3295078
# 6:  2     b -0.8204684
# 7:  3     b  0.4874291
# 8:  4     b  0.7383247
Run Code Online (Sandbox Code Playgroud)

有效的东西,但需要组名作为输入:

cor(dt["a"]$value, dt["b"]$value)
# [1] 0.1556371
Run Code Online (Sandbox Code Playgroud)

我正在寻找更多类似的东西:

dt[, cor(value, value), by="group"]
Run Code Online (Sandbox Code Playgroud)

但这并没有给我我追求的相关性.

对于具有正确结果的矩阵,这是同样的问题.

set.seed(1)             # reproducibility
m <- matrix(rnorm(8), ncol=2)
dimnames(m) <- list(id=1:4, …
Run Code Online (Sandbox Code Playgroud)

r correlation data.table

10
推荐指数
3
解决办法
7565
查看次数

如何在java中找到两个整数数组之间的相关性

我正在寻找很多,但直到现在才找到我需要的东西.我有两个整数arrayas int [] x和int [] y.我想在这两个整数数组之间找到简单的线性相关,它应该将结果返回为double.在java中你知道提供这个或任何代码片段的任何库函数吗?

java arrays math int correlation

10
推荐指数
2
解决办法
2万
查看次数

Python numpy.corrcoef()RuntimeWarning:在true_divide中遇到无效值c/= stddev [:,None]

看来,corrcoefnumpy抛出RuntimeWarning当一个恒定的列表传递给corrcoef()函数,例如下面的代码抛出一个警告:

import numpy as np
X = [1.0, 2.0, 3.0, 4.0]
Y = [2, 2, 2, 2]
print(np.corrcoef(X, Y)[0, 1])
Run Code Online (Sandbox Code Playgroud)

警告 :

/usr/local/lib/python3.6/site-packages/numpy/lib/function_base.py:3003: RuntimeWarning: invalid value encountered in true_divide
  c /= stddev[:, None]
Run Code Online (Sandbox Code Playgroud)

任何人都可以解释为什么当其中一个列表是常量时抛出此错误,以及如何在将常量列表传递给函数时防止此错误.

python numpy correlation

10
推荐指数
1
解决办法
5698
查看次数