判断两列是否有相关性关系的一个例子

判断价格与购买人数,
相关性系数不可以输出特征相关的公式
回归可以输出相关关系的公式

利用相关性系数

import pandas as pd
from scipy.stats import pearsonr, spearmanr, kendalltau
import numpy as np

data = pd.read_csv('C:/Users/yangyunpeng/Desktop/123123.csv')
# 判断数组中的元素是否为NaN或inf,并将其置为0
data[np.isinf(data) | np.isnan(data)] = 0

#print(data.corr())
#sns.heatmap(data.corr(), annot=True)
#plt.show()


# 计算数值列的分位数
q1 = data['avg_price'].quantile(q=0.1)
q3 = data['avg_price'].quantile(q=0.9)
# 删除四分位数范围外的所有行
data = data.drop(data[(data['avg_price'] < q1) | (data['avg_price'] > q3)].index)
#删除DataFrame中根据某一列的数值删除对应所有行
data=data.drop(data[data['count(distinct domain_id)'] < 1].index)
#按照某列的数值从大到小进行其他列的排序
data = data.sort_values(by='count(distinct domain_id)', ascending=False)
#print(data)

# 删除数组中的元素 data = np.delete(data_o, np.where(mask))
x = data['avg_price']
y = data['count(distinct domain_id)']
# 计算Pearson相关系数和p值
pearson_corr, pearson_pvalue = pearsonr(x, y)
print('Pearson相关系数:', pearson_corr)
print('Pearson p值:', pearson_pvalue)

# 计算Spearman秩相关系数和p值
spearman_corr, spearman_pvalue = spearmanr(x, y)
print('Spearman秩相关系数:', spearman_corr)
print('Spearman p值:', spearman_pvalue)

# 计算Kendall秩相关系数和p值
kendall_corr, kendall_pvalue = kendalltau(x, y)
print('Kendall秩相关系数:', kendall_corr)
print('Kendall p值:', kendall_pvalue)
Pearson相关系数: -0.024778684605260518
Pearson p值: 0.028105969640083453
Spearman秩相关系数: -0.09442789542281876
Spearman p值: 5.057909838678121e-17
Kendall秩相关系数: -0.07182909221982381
Kendall p值: 4.4489210579224094e-17

这个结果代表了两个变量之间的相关性程度及其统计显著性。

  • Pearson相关系数是一种线性相关系数,其介于-1和1之间。值越接近1或-1,表示两个变量之间的线性相关性越强;值越接近0,则表示两个变量之间的线性相关性越弱。在这个结果中,Pearson相关系数为-0.0247,接近于0,说明两个变量之间的线性相关性很弱。
    Pearson p值是用来判断Pearson相关系数是否统计显著的指标。p值越小,表示Pearson相关系数越显著。在这个结果中,p值为0.0281,小于0.05的显著性水平,说明Pearson相关系数是统计显著的,但是相关性程度很弱。
  • Spearman秩相关系数是一种非线性相关系数,用于衡量两个变量之间的单调关系。其介于-1和1之间,值越接近1或-1,表示两个变量之间的单调关系越强;值越接近0,则表示两个变量之间的单调关系越弱。在这个结果中,Spearman秩相关系数为-0.0944,接近于0,说明两个变量之间的单调关系很弱。
    Spearman p值是用来判断Spearman秩相关系数是否统计显著的指标。p值越小,表示Spearman秩相关系数越显著。在这个结果中,p值为5.0579e-17,远小于0.05的显著性水平,说明Spearman秩相关系数是非常显著的,但是相关性程度很弱。
  • Kendall秩相关系数是一种非参数的相关系数,用于衡量两个变量之间的顺序关系。其介于-1和1之间,值越接近1或-1,表示两个变量之间的顺序关系越强;值越接近0,则表示两个变量之间的顺序关系越弱。在这个结果中,Kendall秩相关系数为-0.0718,接近于0,说明两个变量之间的顺序关系很弱。
    Kendall p值是用来判断Kendall秩相关系数是否统计显著的指标。p值越小,表示Kendall秩相关系数越显著。在这个结果中,p值为4.4489e-17,远小于0.05的显著性水平,说明Kendall秩相关系数是非常显著的,但是相关性程度很
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值