DonQuixote_X 2023-11-06 16:10 采纳率: 0%
浏览 13

python中pearsonr的p值有什么意义?

c, n = 0, 0
d = 0
while c < 1000:
  a = random.sample(range(10), 10)
  b = random.sample(range(10), 10)
  n += 1

  r, p = pearsonr(a, b)
  if round(r, 4) >= 0.8:
    c += 1
    if d < round(p, 4):
      d = round(p, 4)
print(d, n)

随便写了段代码测试,最后输出值为0.0049和290667,也就是说跑了29万轮,其中有1000次r值达到了0.8或以上,同时记录最大的p值,仅仅是0.0049,连标准的0.05的十分之一都没到。
也就是说只要r达到一定程度p必然小于0.05,这两个是负相关,并不会出现r小p也小的情况,p起不了检验的作用,那它存在意义是什么?pearsonr的p和统计学上的p是不是没什么关系?
实际上我只是想用pearsonr算法寻找相似度高的值,按测试结果来看似乎只要给r值设定一个阈值就够了。

  • 写回答

2条回答 默认 最新

  • Leodong. 2023-11-06 16:20
    关注

    该回答通过自己思路及引用到GPTᴼᴾᴱᴺᴬᴵ搜索,得到内容具体如下:

    Pearson相关系数的p值表示的是观察到的数据在零假设下的概率。零假设是两个变量之间没有相关性。如果p值小于0.05,那么我们可以拒绝零假设,认为两个变量之间存在显著的相关性。

    在你的代码中,你使用了pearsonr函数来计算两个随机样本之间的皮尔逊相关系数和p值。然后,你设置了一个阈值(例如0.8),只有当相关系数大于或等于这个阈值时,你才认为这两个样本之间存在显著的相关性。

    然而,这并不意味着皮尔逊相关系数的p值就完全没有意义。实际上,p值可以帮助我们理解数据中的不确定性。例如,如果p值非常小(例如0.0049),这意味着我们在零假设下观察到的数据的概率非常低。这可能意味着我们的样本数据与真实的总体数据有很大的差异,或者我们的数据可能存在一些异常值。

    总的来说,皮尔逊相关系数的p值可以帮助我们理解数据中的不确定性,但并不能替代其他的统计分析方法。


    如果以上回答对您有所帮助,点击一下采纳该答案~谢谢

    评论 编辑记录

报告相同问题?

问题事件

  • 修改了问题 11月6日
  • 创建了问题 11月6日

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题