gpt4 book ai didi

ruby - GSL 和相关性

转载 作者:太空宇宙 更新时间:2023-11-03 16:10:06 26 4
gpt4 key购买 nike

我正在使用 GSL 库 1.14 和 ruby​​ 包装器 ( gsl ) 进行一些数学计算。我需要的一件事是 PIL 逊相关性。但是当我的数组中为 0 时,我遇到了问题。

例如我有这段代码:

x = [1,2,2,2,12]
y = [1,2,1,3,33]

puts GSL::Stats::correlation(
GSL::Vector.alloc(x),GSL::Vector.alloc(y)
)
=> 0.9967291641974002

但是当我尝试使用以下数组值计算它时,我得到一个 NaN:

x = [1,1,1]
y = [1,1,1]
or
x = [0,1,1]
y = [1,1,1]

puts GSL::Stats::correlation(
GSL::Vector.alloc(x),GSL::Vector.alloc(y)
)
=> NaN

当我尝试使用这个值时,它起作用了:

x = [0,1,1]
y = [1,0,1]

puts GSL::Stats::correlation(
GSL::Vector.alloc(x),GSL::Vector.alloc(y)
)
=> -0.5

有人知道为什么吗?这很奇怪,不是吗?

最佳答案

我不知道 GSL 的实现,但一般来说, PIL 逊相关系数的计算涉及除以两个标准差,因此如果其中任何一个为 0,则计算失败。如果所有向量元素都相等,则标准偏差为 0。你所有失败的例子都有一个元素相等的向量。我希望这能回答您的问题。

关于ruby - GSL 和相关性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5858261/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com