当前位置: 首页 > news >正文

spearman相关性 - 斯皮尔曼秩相关系数

spearman相关性,核心是斯皮尔曼相关系数,是秩相关的一种非参数度量,考察的是两个随机变量之间的单调关系的强度,也就是说两者在变大或变小的趋势上多大程度能保持步调一致。

spearman使用的是数据样本排位位次值,所以对于异常值不敏感,实际数据之间的差异对于计算结果没有直接的影响。所以,spearman更适合处理一些非线形、非正太分布、非数值类型的数据。spearman相关性可以用来寻找以下一些问题的答案。

1. 受教育水平更高的人更关心经济吗

2 球队联赛名次与它们所在城市的经济水平有关系吗

3 某新型LLM评估方法相比传统LLM评估方法的相关程度

1 spearman完全版本计算公式

其中

R(x) 和 R(y) 分别是x和y的位次

  和   分别表示平均位次

2 spearman简化版计算公式

其中

di表示第i个数据对的位次值之差

n总的观测样本数

3 spearman计算api

(1)scipy中计算斯皮尔曼相关系数的函数scipy.stats.spearmanr的使用例。

        scipy.stats.spearmanr(a, b=None, axis=0, nan_policy='propagate', alternative='two-sided')

该函数返回spearman相关系数、P值,P值表示由完全不相关系统生成数据计算出同样spearman相关系数的概率。P值对小数据不可靠,当数据量较大如>500其估计相对合理。

import numpy as np
from scipy import stats
stats.spearmanr([3,5,1,6,7,2,8,9,4], [5,3,2,6,8,1,7,9,4])rng = np.random.default_rng()
x2n = rng.standard_normal((100, 2))
stats.spearmanr(x2n)

(2)  pandas corr() 的spearman系数示例

pandas通过参数指定spearman系数方法

import pandas as pd
import numpy as np
X=pd.Series([3,5,1,6,7,2,8,9,4])
Y=pd.Series([5,3,2,6,8,1,7,9,4])
rho = X.corr(Y,method='spearman')
print(rho)

(3)简易计算公式体现spearman负相关系数

简易计算公式取得是每对秩的差值平方,但是它能反映相关的方向,如下例子中将x中的排序值颠倒以后,计算所得的相关系数也变成负的。

import numpy as np
from scipy import statsx = [3,5,1,6,7,2,8,9,4]
y = [5,3,2,6,8,1,7,9,4]def simpleSpearman(x,y)-> float:"""Assuming np array as input"""d = x - yn = len(x)rho = 1 - 6 * np.sum(np.square(d))/n/(n**2-1)return rho
x0 = np.array(x)
y0 = np.array(y)
print(simpleSpearman(x0,y0))
print(stats.spearmanr(x,y ))# 颠倒x中的排序
x = [3,5,1,6,7,2,8,9,4]
x = [(len(x)+1) - x[k] for k in range(len(x))] # Reverse the x ranking
y = [5,3,2,6,8,1,7,9,4]
print(stats.spearmanr(x,y ))
x0 = np.array(x)
y0 = np.array(y)
print(simpleSpearman(x0,y0))

---

斯皮尔曼相关(Spearman correlation)系数概述及其计算例_斯皮尔曼相关系数-CSDN博客

相关文章:

  • 黑马python(二)
  • 题单:归并排序
  • Alerting中配置多个OpsGenie时,如何匹配同一个条件匹配多个opsgenie的contact points
  • 以太网协议(Ethernet)深入解析:从底层原理到实战应用
  • 智能文档结构化技术的应用,重塑合同管理模式
  • 期末考试复习总结-《ArkTS基础语法(上)》
  • G-Star公益行 | 公益组织入门开源技术,六月北京点燃改变的星火
  • Docker常用命令笔记
  • 【大模型】 使用llama.cpp 进行模型转换和量化
  • 魔兽世界正式服插件与宏-敏锐盗贼实用宏探索(3)-起手奥义【袭】之突如其来
  • 使用 origin -> master 强制覆盖本地 master
  • Python Day47 学习(日志Day16-17复习)
  • Win11无法安装Unity5.5.0f3怎么解决?虚拟机中如何配置?Win7怎么安装最新版VMware Tools?来这里教你完美解决!
  • 函数02 day11
  • 模型参数、模型存储精度、参数与显存
  • python46
  • Code Composer Studio快捷键
  • 101.为AI知识问答寻找朗读合适API
  • 5G+边缘计算推动下的商品详情API低延迟高效率新方案
  • 第十一章 通用定时器(上篇)
  • 建站软件有哪些功能/世界杯排名
  • 网站建设哪个公司好知乎/开封网站推广公司
  • 聊城做网站的公司信息/百度产品推广怎么收费
  • 日本网站香港服务器/厦门关键词排名seo
  • 有哪个网站专业做漫画素材的/注册网址
  • 网站建设到上线的步骤过程/免费宣传网站