数据分析思维(二)|相关思维

简介: 相关思维是数据分析中最常见的思维之一,在我们观察指标变化的时候,往往需要观察指标之间的相关关系,比如观察自己身高和体重的变化,这就是一种相关思维的体现。

1、概念

相关思维是数据分析中最常见的思维之一,在我们观察指标变化的时候,往往需要观察指标之间的相关关系,比如观察自己身高和体重的变化,这就是一种相关思维的体现。

衡量指标之间的相关关系,常见的相关性分析方法如下:

图表分析
皮尔逊相关系数
协方差
卡方检验
  • 图表分析

    • 对于一般的属性关系,我们采用简单的绘图方式就能够看出二者的属性关系,常见的图形有散点图/折线图。
    • 在这里插入图片描述
  • 皮尔逊相关系数

    • image.png
    • 皮尔逊相关系数通常用于衡量两个连续变量之间的相关程度,其取值是有界的,范围为[-1, 1],我们可以根据相关系数的取值(绝对值)来衡量两个变量的相关性:

      • 0.8-1.0:极强相关
      • 0.6-0.8:强相关
      • 0.4-0.6:中等程度相关
      • 0.2-0.4:弱相关
      • 0.0-0.2:极弱相关或无相关
  • 协方差

    • image.png
    • 协方差和皮尔逊一样通常用于两个连续变量之间相关性的检验,使用协方差判断相关性的结果比较直接,只有正相关、负相关、不相关三种结果。

      • 当cov(X,Y)>0时,表明X和Y正相关
      • 当cov(X,Y)<0时,表明X和Y负相关
      • 当cov(X,Y)=0时,表明X和Y不相关
  • 卡方检验

    • 卡方检验可以用于离散和离散数据之间相关性的检验。(具体卡方检验的过程见后文的例子)

2、例:连续变量

连续变量之间的相关性

A公司2022年前6个月的广告投放金额为3.2, 4.2, 5.5, 5.0, 5.8, 8.5,每个月对应的利润为10.2, 11.1, 12.5, 12.8, 13.7, 15.0,我们如何确认广告投放和利润之间的相关性强弱呢,这时我们就可以使用上述的方法进行判断了。下面用Python计算相关系数举例:

import pandas as pd
data = pd.DataFrame({
    "广告": [3.2, 4.2, 5.5, 5.0, 5.8, 8.5],
    "利润": [10.2, 11.1, 12.5, 12.8, 13.7, 15.0]
})
data.corr()

结果如下:

广告 利润
广告 1.000000 0.952401
利润 0.952401 1.000000

由结果可见,广告和利润之间的相关系数为0.952,由相关系数的判断标准来衡量,从数据上看他们二者是极强相关的。

3、例:离散变量

离散变量之间的相关性

现在需要检验某公司的不同广告和是否点击之间的关系,现有实际频数如下:

  • 实际频数
点击 未点击 总计
广告A 3600 1400 5000
广告B 2200 800 3000
总计 5800 2200 8000

由上述的条件可知,广告只有A和B两种,结果也只有点击与未点击两种,因此我们需要使用卡方检验的方式来进行相关性的判断。

  • 假设

H0:广告和点击无关

H1:广告和点击相关

假设检验的基本思想是在假设成立的基础上去进行验证,因此我们可以计算出相应的期望频数如下:

点击 未点击 总计
广告A 3625 1375 5000
广告B 2175 825 3000
总计 5800 2200 8000
  • 期望的计算方式(以广告A的点击举例)

广告A的投放人数为5000,点击的总人数为5800,总体投放的总人数为8000,则广告A的点击期望频数为(5000*5800)/8000=3625。

  • 卡方计算

    • n:行数
    • m:列数
    • A:实际频数
    • T:期望频数

image.png

  • 结果对照

得到卡方计算的结果之后,我们需要进行查表来确定概率:

在这里插入图片描述

根据表格可以得到,我们计算的统计量的结果为1.67,介于1.3232.072之间,因此我们可以说广告和点击有关成立的概率在0.75-0.85之间。

  • Python计算
from scipy.stats import chi2_contingency
import pandas as pd
import numpy as np

df = pd.DataFrame({
    '广告': ['A', 'A', 'B', 'B'],
    '点击': [1, 0, 1, 0],
    '频数': [3600, 1400, 2200, 800]
})
cross_tab = pd.pivot_table(data=df,
                           values='频数',
                           index='广告',
                           columns='点击',
                           margins=True,
                           aggfunc=np.sum)
print('卡方={0}\nP值={1}'.format(*chi2_contingency(cross_tab)[:2]))

结果如下:

卡方=1.6718913270637408
P值=0.7958170415961258
  • 结果解读

根据Python计算的结果,P值>0.05,因此我们得到的结论为广告和点击无关。

注意:卡方检验不能看到两个分类变量相关性的强弱,只能展示出他们是否相关。

相关文章
|
25天前
|
数据采集 机器学习/深度学习 数据可视化
|
算法 数据挖掘 大数据
到底什么才是数据分析思维? by彭文华
到底什么才是数据分析思维? by彭文华
|
6月前
|
SQL 算法 数据可视化
什么是数据分析思维
什么是数据分析思维
|
数据挖掘
数据分析思维(四)|分类/矩阵思维
在进行数据分析工作时,我们往往会涉及到多个核心指标,而对于不同数值核心指标的结合又会产生多种不同的结果,我们将相似结果的内容放到一起进行统一决策就会大大节省数据分析的时间,这种思想我们称之为分类思维
数据分析思维(四)|分类/矩阵思维
|
数据挖掘 大数据
数据分析的思维有那些?
数据分析的思维有那些?在很多企业中都存在着很大的数据分析问题,如何进行数据分析?数据挖掘的结果要如何展示?企业中各个部门要如何才能最大化的利用数据分析结果?这些一直困扰着企业数据团队。也是咱们大数据需要解决的问题,后续规划的方面
79 2
|
数据挖掘 双11
数据分析思维(六)|循环/闭环思维
数据分析思维(六)|循环/闭环思维
|
算法 数据挖掘
数据分析思维(七)|漏斗思维
数据分析思维(七)|漏斗思维
数据分析思维(七)|漏斗思维
|
机器学习/深度学习 数据采集 搜索推荐
10种数据分析的模型思维让你“灵光一闪”
推荐10种数据分析思维,让你在工作中带来“灵光一闪”的感觉 本文来源于阿里开发者公众号
571 0
|
机器学习/深度学习 数据采集 存储
数据分析思维|思考问题的25个方式汇总
数据分析思维|思考问题的25个方式汇总
|
数据挖掘
数据分析思维(五)|逻辑树思维
在很多数据分析场景中我们需要梳理分析的逻辑,需要进行指标从大到小的拆分,这时候我们可以顺着影响分析结果的因素进行层层溯源,从而抓住问题的核心。为了有更清晰的逻辑结构,常常采用逻辑树(又称问题树、分解树)进行整体过程的呈现。逻辑树使用层级的结构将每个大问题的所有子问题进行罗列,然后再将子问题的子问题进行罗列,以此类推,当问题不能够被拆分时形成一个完整的逻辑树。
数据分析思维(五)|逻辑树思维