返回介绍

3.计算相关系数

发布于 2024-01-28 21:41:24 字数 3151 浏览 0 评论 0 收藏 0

为了更加准确地描述变量之间的线性相关程度,可以通过计算相关系数来进行相关分析。在二元变量的相关分析过程中比较常用的有Pearson相关系数、Spearman秩相关系数和判定系数。

(1)Pearson相关系数

一般用于分析两个连续性变量之间的关系,其计算公式如下。

相关系数r的取值范围:-1≤r≤1

0<|r|<1表示存在不同程度线性相关:

(2)Spearman秩相关系数

Pearson线性相关系数要求连续变量的取值服从正态分布。不服从正态分布的变量、分类或等级变量之间的关联性可采用Spearman秩相关系数,也称等级相关系数来描述。

其计算公式如下。

对两个变量成对的取值分别按照从小到大(或者从大到大小)顺序编秩,Ri代表xi的秩次,Qi代表yi的秩次,Ri-Qi为xi、yi的秩次之差。

表3-6给出一个变量x(x1,x2,…xi,…xn)秩次的计算过程。

表3-6 变量x秩次计算过程

因为一个变量的相同的取值必须有相同的秩次,所以在计算中采用的秩次是排序后所在位置的平均值。

只要两个变量具有严格单调的函数关系,那么它们就是完全Spearman相关的,这与Pearson相关不同,Pearson相关只有在变量具有线性关系时才是完全相关的。

在实际应用计算中,上述两种相关系数都要对其进行假设检验,使用t检验方法检验其显著性水平以确定其相关程度。研究表明,在正态分布假定下,Spearman秩相关系数与Pearson相关系数在效率上是等价的,而对于连续测量数据,更适合用Pearson相关系数来进行分析。

(3)判定系数

判定系数是相关系数的平方,用r2表示;用来衡量回归方程对y的解释程度。判定系数取值范围:0≤r2≤1。r2越接近于1,表明x与y之间的相关性越强;r2越接近于0,表明两个变量之间几乎没有直线相关关系。

餐饮系统中可以统计得到不同菜品的日销量数据,数据示例如表3-7所示。

表3-7 菜品日销量数据

数据详见:demo/data/catering_sale_all.xls

分析这些菜品销售量之间的相关性可以得到不同菜品之间的关系,比如是替补菜品、互补菜品或者没有关系,为原材料采购提供参考。其Python代码如代码清单3-4所示。

代码清单3-4 餐饮销量数据相关性分析

#-*- coding: utf-8 -*-
#餐饮销量数据相关性分析
from __future__ import print_function
import pandas as pd
catering_sale = '../data/catering_sale_all.xls' #餐饮数据,含有其他属性
data = pd.read_excel(catering_sale, index_col = u'日期') #读取数据,指定“日期”列为索引列
data.corr() #相关系数矩阵,即给出了任意两款菜式之间的相关系数
data.corr()[u'百合酱蒸凤爪'] #只显示“百合酱蒸凤爪”与其他菜式的相关系数
data[u'百合酱蒸凤爪'].corr(data[u'翡翠蒸香茜饺']) #计算“百合酱蒸凤爪”与“翡翠蒸香茜饺”的
    相关系数

代码详见:demo/code/correlation_analyze.py

上面的代码给出了3种不同形式的求相关系数的运算。运行代码,可以得到任意两款菜式之间的相关系数,如运行“data.corr()[u'百合酱蒸凤爪']”可以得到下面的结果。

>>> data.corr()[u'百合酱蒸凤爪']百合酱蒸凤爪     1.000000翡翠蒸香茜饺     0.009206金银蒜汁蒸排骨    0.016799乐膳真味鸡      0.455638蜜汁焗餐包      0.098085生炒菜心       0.308496铁板酸菜豆腐     0.204898香煎韭菜饺      0.127448香煎萝卜糕     -0.090276原汁原味菜心     0.428316
Name: 百合酱蒸凤爪, dtype: float64

从上面的结果可以看到,如果顾客点了“百合酱蒸凤爪”,则和点“翡翠蒸香茜饺”“金银蒜汁蒸排骨”“香煎萝卜糕”“铁板酸菜豆腐”“香煎韭菜饺”等主食类的相关性比较低,反而点“乐膳真味鸡”“生炒菜心”“原汁原味菜心”的相关性比较高。

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文