专栏首页CDA数据分析师手把手教你数据分析思维和方法——相关性分析法

手把手教你数据分析思维和方法——相关性分析法

作者:YYloveYQ

来源:DS数据科学之美

01

写在前面

在数据分析的问题中, 经常会遇见的一种问题就是相关的问题, 比如抖音短视频的产品经理经常要来问留存(是否留下来)和观看时长, 收藏的次数, 转发的次数, 关注的抖音博主数等等是否有相关性, 相关性有多大。

因为只有知道了哪些因素和留存比较相关, 才知道怎么去优化从产品的方向去提升留存率, 比如 如果留存和收藏的相关性比较大 那么我们就要引导用户去收藏视频, 从而提升相关的指标,

除了留存的相关性计算的问题, 还有类似的需要去计算相关性的问题, 比如淘宝的用户 他们的付费行为和哪些行为相关, 相关性有多大, 这样我们就可以挖掘出用户付费的关键行为

这种问题就是相关性量化, 我们要找到一种科学的方法去计算这些因素和留存的相关性的大小,

这种方法就是相关性分析

02

什么是相关性分析

相关性分析是指对两个或多个具备相关性的变量元素进行分析,从而衡量两个变量因素的相关密切程度。相关性的元素之间需要存在一定的联系或者概率才可以进行相关性分析(官方定义)

简单来说, 相关性的方法主要用来分析两个东西他们之间的相关性大小

相关性大小用相关系数r来描述,关于r的解读:(从知乎摘录的)

(1)正相关:如果x,y变化的方向一致,如身高与体重的关系,r>0;一般地,

·|r|>0.95 存在显著性相关;

·|r|≥0.8 高度相关;

·0.5≤|r|<0.8 中度相关;

·0.3≤|r|<0.5 低度相关;

·|r|<0.3 关系极弱,认为不相关

(2)负相关:如果x,y变化的方向相反,如吸烟与肺功能的关系,r<0;

(3)无线性相关:r=0, 这里注意, r=0 不代表他们之间没有关系, 可能只是不存在线性关系。

下面用几个图来描述一下 不同的相关性的情况

第一张图r=-0.92 <0 是说明横轴和纵轴的数据呈现负相关, 意思就是随着横轴的数据值越来越大纵轴的数据的值呈现下降的趋势, 从r的绝对值为0.92>0.8 来看, 说明两组数据的相关性高度相关

同样的, 第二张图 r=0.88 >0 说明纵轴和横轴的数据呈现正向的关系, 随着横轴数据的值越来越大, 纵轴的值也随之变大, 并且两组数据也是呈现高度相关

03

如何实现相关性分析

前面已经讲了什么是相关性分析方法, 那么我们怎么去实现这种分析方法呢, 以下先用python 实现

1. 首先是导入数据集, 这里以tips 为例

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
## 定义主题风格
sns.set(style="darkgrid")

## 加载tips
tips = sns.load_dataset("tips")

2. 查看导入的数据集情况,

字段分别代表

total_bill: 总账单数

tip: 消费数目

sex: 性别

smoker: 是否是吸烟的群众

day: 天气

time: 晚餐 dinner, 午餐lunch

size: 顾客数

tips.head() # 查看数据的前几行

3. 最简单的相关性计算

tips.corr()

4. 任意看两个数据之间相关性可视化,比如看 total_bill 和 tip 之间的相关性,就可以如下操作进行可视化

## 绘制图形,根据不同种类的三点设定图注
sns.relplot(x="total_bill", y="tip",  data=tips);
plt.show()

从散点图可以看出账单的数目和消费的数目基本是呈正相关, 账单的总的数目越高, 给得消费也会越多

5. 如果要看全部任意两两数据的相关性的可视化

sns.pairplot(tips)

6. 如果要分不同的人群, 吸烟和非吸烟看总的账单数目total_bill和小费tip 的关系。

sns.relplot(x="total_bill", y="tip", hue="smoker",  data=tips)# 利用hue 进行区分
plt.show()

7. 同样的 区分抽烟和非抽烟群体看所有数据之间的相关性,我们可以看到

对于男性和女性群体, 在小费和总账单金额的关系上, 可以同样都是账单金额越高的时候, 小费越高的例子上, 男性要比女性给得小费更大方

在顾客数量和小费的数目关系上, 我们可以发现, 同样的顾客数量, 男性要比女性给得小费更多

在顾客数量和总账单数目关系上, 也是同样的顾客数量, 男性要比女性消费更多

sns.pairplot(tips ,hue ='sex')

04

实战案例

问题:

影响B 站留存的相关的关键行为有哪些?

这些行为和留存哪一个相关性是最大的?

分析思路:

  1. 找全与留存相关的行为
  2. 计算这些行为和留存的相关性大小

首先规划好完整的思路, 哪些行为和留存相关, 然后利用这些行为+时间维度 组成指标, 因为不同的时间跨度组合出来的指标, 意义是不一样的, 比如登录行为就有 7天登录天数, 30天登录天数

第二步计算这些行为和留存的相关性, 我们用1 表示会留存 0 表示不会留存

那么就得到 用户id + 行为数据+ 是否留存 这几个指标组成的数据

然后就是相关性大小的计算

import matplotlib.pyplot as plt
import seaborn as sns
retain2 = pd.read_csv("d:/My Documents/Desktop/train2.csv") # 读取数据
retain2 = retain2.drop(columns=['click_share_ayyuid_ucnt_days7']) # 去掉不参与计算相关性的列
plt.figure(figsize=(16,10), dpi= 80)
# 相关性大小计算
sns.heatmap(retain2.corr(), xticklabels=retain2.corr().columns, yticklabels=retain2.corr().columns, cmap='RdYlGn', center=0, annot=True)

# 可视化
plt.title('Correlogram of retain', fontsize=22)
plt.xticks(fontsize=12)
plt.yticks(fontsize=12)
plt.show()

图中的数字值就是代表相关性大小 r 值 所以从图中我们可以发现

本文分享自微信公众号 - CDA数据分析师(cdacdacda)

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2021-02-22

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 数据分析方法和思维—拐点法和分位数法

    互联网的用户是存在一定的生命周期的, 每一个产品都会经历去获取用户, 用户成长, 用户不断成熟, 然后用户衰退的过程。

    数据森麟
  • 数据分析思维和方法:用户画像分析

    我们经常在淘宝上购物, 作为淘宝方, 他们肯定想知道他的使用用户是什么样的, 是什么样的年龄性别, 城市, 收入, 他的购物品牌偏好, 购物类型, 平时的活跃程...

    Python数据科学
  • pandas创始人手把手教你利用Python进行数据分析(思维导图)

    针对这两类人员的需求,近期出版上市的《利用Python进行数据分析》第2版是很好的选择。下面我们结合本书内容,大致介绍下如何利用Python进行数据分析。

    华章科技
  • 数据分析方法和思维—RFM用户分群

    在运营场景中, 经常需要对用户进行分层, 把整体的用户分层不同的层次的用户, 然后针对不同层次的用户采取不同的运营策略, 也被称作精细化运营。但是如何运用科学的...

    数据森麟
  • 5种经典的数据分析思维和方法

    在数据分析中,数据分析思维是框架式的指引,实际分析问题时还是需要很多“技巧工具”的。就好比中学里你要解一元二次方式,可以用公式法、配方法、直接开平方法、因式分解...

    CDA数据分析师
  • 手把手教你用直方图、饼图和条形图做数据分析(Python代码)

    对于定量数据,要想了解其分布形式是对称的还是非对称的、发现某些特大或特小的可疑值,可做出频率分布表、绘制频率分布直方图、绘制茎叶图进行直观分析;对于定性数据,可...

    华章科技
  • 手把手教你用直方图、饼图和条形图做数据分析(Python代码)

    参考链接: Python | 使用XlsxWriter模块在Excel工作表中绘制饼图

    用户7886150
  • 高效学习的 36 种思维

    2008 年,我正在读研究生,再过一年即将毕业,那时实践能力比较弱,对未来很迷茫,不知道自己该干什么。

    华章科技
  • 送给新手小白:11种数据分析方法,别再说你不会了

    今天给大家介绍11种数据分析方法,从大家耳熟能详的5W2H出发到群组分析等,基本上涵盖了工作生活中可能会用到的各种方法,下面我们一个一个来聊

    大数据分析不是事儿

扫码关注云+社区

领取腾讯云代金券