数据分析思维|相关思维

Posted 二哥不像程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数据分析思维|相关思维相关的知识,希望对你有一定的参考价值。

1、概念

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

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

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

  • 图表分析

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

    • P ( X , Y ) = E ( X Y ) − E ( X ) E ( Y ) E ( X 2 ) − E 2 ( X ) E ( Y 2 ) − E 2 ( Y ) P(X,Y) = \\fracE(XY)-E(X)E(Y)\\sqrtE(X^2)-E^2(X)\\sqrtE(Y^2)-E^2(Y) P(X,Y)=E(X2)E2(X) E(Y2)E2(Y) E(XY)E(X)E(Y)
    • 皮尔逊相关系数通常用于衡量两个连续变量之间的相关程度,其取值是有界的,范围为[-1, 1],我们可以根据相关系数的取值(绝对值)来衡量两个变量的相关性:
      • 0.8-1.0:极强相关
      • 0.6-0.8:强相关
      • 0.4-0.6:中等程度相关
      • 0.2-0.4:弱相关
      • 0.0-0.2:极弱相关或无相关
  • 协方差

    • c o v ( X , Y ) = E [ ( x − x ˉ ) ( y − y ˉ ) ] cov(X,Y)=E[(x-\\barx)(y-\\bary)] cov(X,Y)=E[(xxˉ)(yyˉ)]
    • 协方差和皮尔逊一样通常用于两个连续变量之间相关性的检验,使用协方差判断相关性的结果比较直接,只有正相关、负相关、不相关三种结果。
      • 当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.0000000.952401
利润0.9524011.000000

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

3、例:离散变量

离散变量之间的相关性

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

  • 实际频数
点击未点击总计
广告A360014005000
广告B22008003000
总计580022008000

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

  • 假设

H0:广告和点击无关

H1:广告和点击相关

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

点击未点击总计
广告A362513755000
广告B21758253000
总计580022008000
  • 期望的计算方式(以广告A的点击举例)

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

  • 卡方计算
    • n:行数
    • m:列数
    • A:实际频数
    • T:期望频数

χ 2 = ∑ i = 1 n ∑ j = 1 m A i j − T i j T i j \\chi^2=\\sum_i=1^n\\sum_j=1^m\\fracA_ij-T_ijT_ij χ2=i=1nj=1mTijAijTij

χ 2 = ( 3600 − 3625 ) 2 3625 + ( 1400 − 1375 ) 2 1375 + ( 2200 − 2175 ) 2 2175 + ( 800 − 825 ) 2 825 = 1.67 \\chi^2=\\frac(3600-3625)^23625+\\frac(1400-1375)^21375+\\frac(2200-2175)^22175+\\frac(800-825)^2825=1.67 χ2=3625(36003625)2+1375(14001375)2+2175(22002175)2+825(800825)2=1.67

  • 结果对照

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

根据表格可以得到,我们计算的统计量的结果为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,因此我们得到的结论为广告和点击无关。

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

以上是关于数据分析思维|相关思维的主要内容,如果未能解决你的问题,请参考以下文章

大数据概述

2019年所有人必须要掌握的一个技能 - “AI思维”

数据分析思维|相关思维

数据分析思维|相关思维

思维导图学习---数据库相关基础思维导图

思维导图学习---数据库相关基础思维导图