科尔科夫
相关系数。
库::`工程师`
语法
争论
输入参数
# *一个* — 输入数组
+
矩阵
Details
输入数组,指定为矩阵。
*如果 A 是一个标量,那么函数 柯尔科夫(A) 申报表 南.
*如果 A 是一个向量,然后是一个函数 柯尔科夫(A) 申报表 1.
| 数据类型 |
|
# *B* — 附加输入阵列
+
向量资料 | 矩阵 | 多维数组
名称-值输入参数
指定格式中的可选参数对 名称,值,在哪里 姓名 -参数的名称,以及 价值 -适当的值。 名称-值参数应该放在其他参数之后,但对的顺序无关紧要。
使用逗号分隔名称和值,以及 姓名 把它放在引号里。
*例子:* R=corrcoef(A,"Alpha",0.01).
#
*行* —
使用值 南
"全部" (默认)| "完成" | "两两"
Details
使用值 南,设置为以下值之一:
* "全部" -启用所有值 南 在计算相关系数之前的输入数据中。
* "完成" -跳过包含值的所有输入数据行 南,之前计算相关系数。 此选项始终返回正半定矩阵。
* "两两" -跳过包含的所有行 南,仅成对地进行两列中的相关系数的每次计算。 此选项可以返回不是正半定的矩阵。
输出参数
# *R* — 相关系数
+
矩阵
Details
相关系数作为矩阵返回。
*对于一个输入矩阵,矩阵 R 它有一个尺寸 [尺寸(A,2)尺寸(A,2)] 基于矩阵表示的随机变量(列)的数量 [参数:A]. 对角线元素按照惯例等于一,而非对角线元素表示成对变量的相关系数。 系数值可能因 −1 以前 1,在哪里 −1 表示直接负相关, 0 -缺乏相关性,以及 1 -直接正相关。 矩阵 R 对称。
*对于两个输入矩阵, R 它表示一个矩阵 2×2 对角线上的单位和对角线上的相关系数.
*如果任何随机变量是常量,则其与所有其他变量的相关性未定义,相应的行和列值为 南.
例子:
矩阵的随机列
Details
让我们计算具有两个正态分布随机列和一列通过另一列定义的矩阵的相关系数。 由于矩阵的第三列 A 是第二个的倍数,这两个变量是直接相关的,因此元素中的相关系数 (2,3) 和 (3,2) 矩阵 R 等于 1.
import EngeeDSP.Functions: corrcoef, randn
x = randn(6,1)
y = randn(6,1)
A = [x y 2*y .+ 3]
R = corrcoef(A)[1]
3×3 Matrix{Float64}:
1.0 -0.322277 -0.322277
-0.322277 1.0 1.0
-0.322277 1.0 1.0
两个随机变量
Details
让我们计算两个正态分布随机向量之间的相关系数矩阵,其中每个向量包含 10 测量。
import EngeeDSP.Functions: corrcoef, randn
A = randn(10,1)
B = randn(10,1)
R = corrcoef(A,B)[1]
2×2 Matrix{Float64}:
1.0 0.193892
0.193892 1.0
置信区间上限和下限的p值矩阵
Details
让我们计算相关系数和正态分布随机矩阵的p值,添加的第四列等于其他三列的值之和。 自矩阵的最后一列 A 它是其他变量的线性组合,第四个变量与其他三个变量中的每一个之间存在相关性。 因此,矩阵的第四行和第四列 P 它们包含非常小的p值,这表明存在显着相关性。
import EngeeDSP.Functions: corrcoef, randn
A = randn(50,3)
A = hcat(A, sum(A, dims=2))
R,P,RU,RL=corrcoef(A)
输出矩阵 R.
print("R:")
R
R:
4×4 Matrix{Float64}:
1.0 -0.0191831 -0.0562013 0.512678
-0.0191831 1.0 -0.252374 0.497031
-0.0562013 -0.252374 1.0 0.511839
0.512678 0.497031 0.511839 1.0
输出矩阵 P p值。
print("P:")
P
P:
4×4 Matrix{Float64}:
1.0 0.894805 0.698269 0.000140925
0.894805 1.0 0.0770341 0.000240879
0.698269 0.0770341 1.0 0.000145133
0.000140925 0.000240879 0.000145133 1.0
让我们输出矩阵 RL 和 茹 系数的下限和上限。
print("RL:")
RL
RL:
4×4 Matrix{Float64}:
1.0 -0.295951 -0.329396 0.273336
-0.295951 1.0 -0.495887 0.253795
-0.329396 -0.495887 1.0 0.272283
0.273336 0.253795 0.272283 1.0
print("RU:")
RU
RU:
4×4 Matrix{Float64}:
1.0 0.260556 0.225677 0.692241
0.260556 1.0 0.0279365 0.681144
0.225677 0.0279365 1.0 0.691648
0.692241 0.681144 0.691648 1.0
NaN值
Details
让我们创建一个包含值的正态分布矩阵 南,并通过排除包含的所有行来计算相关系数的矩阵 南.
import EngeeDSP.Functions: corrcoef, randn
A = randn(5, 3)
A[1, 3] = NaN
A[3, 2] = NaN
A
5×3 Matrix{Float64}:
0.194551 1.40891 NaN
0.279785 -0.534099 -0.792337
0.0512203 NaN -0.952975
-0.774466 -0.176248 0.353905
0.786782 -0.24375 1.59703
R = corrcoef(A,"Rows","complete")[1]
3×3 Matrix{Float64}:
1.0 -0.369186 0.340384
-0.369186 1.0 0.748195
0.340384 0.748195 1.0
使用选项 "全部" 要包括所有值 南 在计算中。
R = corrcoef(A,"Rows","all")[1]
3×3 Matrix{Float64}:
1.0 NaN NaN
NaN NaN NaN
NaN NaN NaN
使用选项 "两两" 于每列的相关系数的两两计算。 如果其中一列包含该值 南 这一行将被跳过。
R = corrcoef(A,"Rows","pairwise")[1]
3×3 Matrix{Float64}:
1.0 0.00819072 0.300542
0.00819072 1.0 0.748195
0.300542 0.748195 1.0