【问题标题】:Pearson Correlation Zero Values皮尔逊相关零值
【发布时间】:2016-02-18 21:57:33
【问题描述】:

我正在计算 Pearson 相关性。最后,我得到如下结果(correlation1)。我想知道为什么我的所有第二个系数都为 0.0 作为相关性的结果。有谁能解释一下吗?此外,我的相关代码运行缓慢。我怎样才能使它快速?

结果(样本):
(0.52543523179249552, 0.0), (0.52543905756911169, 0.0), (0.52544196572206603, 0.0), (0.52545010637443945, 0.0)...

from scipy.stats import pearsonr

s1_list = []
s2_list = []
s3_list = []
s4_list = []

zip_list1 = []
zip_list2 = []

correlation1 = []
for x, y in zip(speed1_list, speed2_list):
    zip1 = {"s1": float(x), "s2": float(y)}
    s1_list.append(zip1["s1"])
    s2_list.append(zip1["s2"])
    zip_list1.append(zip1)
    correlation1.append(pearsonr(s1_list,s2_list))

print correlation1

输入:

speed1_list: [113.0, 116.0, 120.0, 120.0, 117.0, 127.0, 124.0, 118.0, 124.0, 128.0, 128.0, 125.0, 112.0, 122.0, 125.0, 133.0, 128.0, 129.0, 126.0, 123.0, 120.0, 118.0, 114.0, 119.0, 129.0, 127.0, 128.0, 122.0, 120.0, 125.0, 119.0...]

speed2_list: [125.0, 123.0, 120.0, 115.0, 124.0, 120.0, 120.0, 119.0, 119.0, 122.0, 121.0, 116.0, 116.0, 119.0, 116.0, 113.0, 113.0, 115.0, 120.0, 122.0, 122.0, 113.0, 118.0, 121.0, 120.0, 119.0, 116.0...]

相关性1:(0.52543523179249552, 0.0), (0.52543905756911169, 0.0), (0.52544196572206603, 0.0), (0.52545010637443945, 0.0)...

【问题讨论】:

    标签: python scipy correlation zero pearson


    【解决方案1】:

    如果您阅读documentation of the pearsonr function,您会看到第二项是 p 值,它给出了您的数据集之间的 Pearson 相关性等于 0 的概率。

    如果我在你的示例列表上运行你的代码,我只会得到一个 0 p 值:

    相关性1 = [(nan, nan), (-1.0, 0.0), (-0.99946642948624609, 0.020797462218684917), (-0.87259228616792028, 0.12740771383207972), (-0.82714719627765909, 0.083995277603981247), (-0.58025386521762756, 0.22730335863992135), (-0.57868746304695651, 0.17345428063365897), (-0.53247171319158504, 0.17427615080621298), ...

    但我猜您为correlation1 提供的值来自列表中的更远位置,您有足够的样本可以使您的相关性非常精确,因此 p 值为 0。

    【讨论】:

    • 谢谢。那么,如何用行数据绘制相关结果?例如,我正在使用 scatter(speed1_list, speed2_list, marker='.', color = 'pink') 绘制行数据然后我想在行数据图上添加相关图。你能帮助我吗?谢谢。 @数学
    • 我不明白你想要做什么。相关性介于 -1 和 1 之间,而您的数据范围在数百个范围内,您不会在图上看到相关性的变化。如果你想展示一些收敛性,你可以做的是绘制相关性与指数,但在它自己的情节上。
    猜你喜欢
    • 2011-09-13
    • 2018-07-13
    • 2021-08-29
    • 2011-08-20
    • 2016-03-04
    • 2012-11-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多