建立网站小程序,sem优化是什么,展示网站模版源码,2021年世界500强榜单Pearson相关系数
用于度量两个连续型变量之间的线性关系。取值范围在-1到1之间#xff0c;0表示无线性关系#xff0c;1表示完全正相关#xff0c;-1表示完全负相关
import pandas as pd# 创建一个包含两个连续型变量的DataFrame
data {Variable1: [1, 2, 3, 4, 5],Vari…Pearson相关系数
用于度量两个连续型变量之间的线性关系。取值范围在-1到1之间0表示无线性关系1表示完全正相关-1表示完全负相关
import pandas as pd# 创建一个包含两个连续型变量的DataFrame
data {Variable1: [1, 2, 3, 4, 5],Variable2: [2, 3, 4, 5, 6]}
df pd.DataFrame(data)# 计算Pearson相关系数
pearson_corr df[Variable1].corr(df[Variable2])
print(fPearson Correlation Coefficient: {pearson_corr})
Spearman秩相关系数
Spearman秩相关系数是用于度量两个变量之间的单调关系的非参数统计量。与Pearson相关系数不同Spearman秩相关系数不要求变量之间的关系是线性的它测量的是变量的等级之间的关系。这使得Spearman相关系数对于非线性关系的探测更为敏感。
from scipy.stats import spearmanr# 创建一个包含两个连续型变量的DataFrame
data {Variable1: [1, 2, 3, 4, 5],Variable2: [2, 3, 4, 5, 6]}
df pd.DataFrame(data)# 计算Spearman秩相关系数
spearman_corr, p_value spearmanr(df[Variable1], df[Variable2])
print(fSpearman Rank Correlation Coefficient: {spearman_corr})
Kendall秩相关系数
Kendall秩相关系数Kendall’s Tau是一种用于度量两个变量之间等级关系的非参数统计量。它对于数据中存在的并非线性关系的情况特别有用。Kendall秩相关系数考虑的是两个变量之间的“协同变动”的数量即它测量两个变量的秩次之间的一致性
from scipy.stats import kendalltau# 创建一个包含两个连续型变量的DataFrame
data {Variable1: [1, 2, 3, 4, 5],Variable2: [2, 3, 4, 5, 6]}
df pd.DataFrame(data)# 计算Kendall秩相关系数
kendall_corr, p_value kendalltau(df[Variable1], df[Variable2])
print(fKendalls Tau Correlation Coefficient: {kendall_corr})
Cramér’s V
Cramér’s V 是一种用于度量两个分类变量之间关联程度的统计量。它是基于卡方检验的结果计算而得可以用于判断两个分类变量是否存在关联以及关联的强度 from scipy.stats import chi2_contingency# 创建一个包含两个分类变量的DataFrame
data {Variable1: [A, B, A, B, A],Variable2: [X, Y, X, Y, X]}
df pd.DataFrame(data)# 构建列联表
contingency_table pd.crosstab(df[Variable1], df[Variable2])# 进行卡方检验并计算 Cramérs V
chi2, _, _, _ chi2_contingency(contingency_table)
n df.shape[0]
k contingency_table.shape[0]
r contingency_table.shape[1]
cramers_v np.sqrt(chi2 / (n * min(k-1, r-1)))print(fCramérs V: {cramers_v})
Pointwise Mutual Information点互信息
Pointwise Mutual Information (PMI) 是一种用于衡量两个事件之间关联性的统计度量。它经常在自然语言处理NLP领域中用于词语之间的关联性分析但也可以应用于其他领域 import numpy as npdef calculate_pmi(p_ab, p_a, p_b):return np.log2(p_ab / (p_a * p_b))# 示例假设单词 cat 和 dog 同时出现的概率为 0.01单独出现的概率分别为 0.05 和 0.1
p_ab 0.01
p_a 0.05
p_b 0.1pmi_value calculate_pmi(p_ab, p_a, p_b)
print(fPMI(cat, dog): {pmi_value})
熵相关度
在信息论中“熵”Entropy通常用于衡量一个系统的混乱程度或不确定性。而 “熵相关度” 这一术语并没有明确的定义可能指的是一种使用熵来衡量两个变量之间关系的概念。
互信息
互信息Mutual Information用于衡量两个随机变量之间的相关性。 from scipy.stats import entropy# 示例数据
# 假设X和Y是两个离散随机变量
# 这里只是为了演示实际使用时需要根据具体情况提供相应的概率分布
p_xy np.array([[0.1, 0.2], [0.3, 0.4]]) # 联合概率分布
p_y np.sum(p_xy, axis0) # Y的边缘概率分布# 计算条件熵 H(X|Y)
h_x_given_y entropy(p_xy, base2, axis0, keepdimsTrue) - np.log2(p_y)# 计算互信息 I(X;Y)
h_x_y entropy(p_xy, base2, axisNone) # 联合熵
i_x_y h_x_y - np.sum(h_x_given_y * p_y)print(f条件熵 H(X|Y): {h_x_given_y})
print(f互信息 I(X;Y): {i_x_y})