79.相关和回归.md 8.5 KB
Newer Older
J
jackfrued 已提交
1 2 3 4 5 6
##  相关和回归

我们知道,可以通过对指标的维度拆来解寻找指标变化的原因。当我们找到问题的原因时,自然会进一步思考一个问题:指标变化的原因这么多,其中的关键因素又是哪个呢?例如,我们在工作场景中时不时会讨论这些问题:

1. 电商类产品想知道哪个品类销售对整体销售贡献更大;
2. 渠道运营想知道哪个渠道的用户对整体活跃作用更大;
J
jackfrued 已提交
7 8
3. 负责留存的想知道哪个客群对整体的留存关系更大;
4. 产品想知道到底哪些维度(城市、年龄、接入设备等)会影响整体活跃。
J
jackfrued 已提交
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35

还有很多类似的场景,在这种情况下我们不仅要要找到数据变化的原因,还需要明确出不同原因的重要性。因为实际工作中可用资源有限,只能集中优势资源解决核心问题。

### 相关分析基本概念

相关性分析,指对两个或多个指标进行分析,评估它们两两之间联系或相互影响的程度。相关性分析不仅可以分析出多个指标间是否存在相关关系,还能给出相关程度的量化值。在进行相关性分析时,我们会使用“相关系数”定量给出几个指标间联系和影响的程度,通常用 $ \rho $ 来表示,计算公式为:

$$
\rho = \frac {cov(X, Y)} {\sqrt{var(X) \cdot var(Y)}}
$$
需要注意的是,$ \rho $  只能用来度量线性关系,它的取值在 $ [-1, 1] $ 之间。数据中的离群值会对 $ \rho $ 产生影响,在计算时必须先剔除,实际使用相关关系时,还需要**关注相关关系的稳定性**

我们用 $ \rho $ 值判断指标的相关性时遵循以下两个步骤。

1. 判断指标间是正相关、负相关,还是不相关。
    - 当 $ \rho \gt 0 $,认为指标间是正相关,也就是两者的趋势一致。如果指标 A 与指标 B 的 $ \rho \gt 0 $,那么指标 A 上涨,指标 B 也会上涨;反之亦然。
    - 当 $ \rho \lt 0 $,认为指标间是负相关,也就是两者的趋势相反。如果指标 A 与指标 B 的 $ \rho \lt 0 $,那么指标 A 上涨,指标 B 会下降;反之亦然。
    - 当 $ \rho = 0 $,认为指标间是不相关的,但并不代表两个指标是统计独立的。
2. 判断指标间的相关程度。
    - 当 $ \rho $ 的值在 $ [0.5,1] $ 之间,认为指标间是强相关,指标间的业务联系非常紧密。
    - 当 $ \rho $ 的值在 $ [0.1,0.5) $ 之间,认为指标间是弱相关,指标间的业务联系不太紧密。
    - 当 $ \rho $ 的值在 $ [0,0.1) $ 之间,认为指标间是无相关,指标间的业务联系无任何联系,也就是说当我们去运营指标 A 时,指标 B 不会产生相应的变化。

### 相关分析应用场景

事实上,相关性分析的应用场景非常多,基本上当问到“这两个东西有什么关系”、“哪个指标的作用(贡献或价值)更大”、“我们应该重点解决哪个问题”这类问题时,都可以用相关性分析给出比较准确的回答,非常便于产品运营找到解决问题的核心抓手。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
36
<img src="https://github.com/jackfrued/mypic/raw/master/20210713095938.png" width="80%">
J
jackfrued 已提交
37 38 39 40 41 42 43 44 45 46 47 48 49

在使用相关分析时,应注意以下几个方面:

1. 业务意义:当我们想知道A指标的情况时,可以监控B指标。
2. 注意事项:千万不要将相关关系判断为因果关系,相关关系是伴随关系而不是因果关系。
3. 强相关关系才是有业务价值的,建议寻找相关系数在 0.6 以上甚至 0.8 以上的指标。
4. 相关关系的本质是 Y 的变化有多少能被 X 解释,跟 X 和 Y 之间的斜率大小无关。

### Excel计算相关系数

1. 方法一:使用 CORREL 函数。
2. 方法二:使用“数据分析”模块的“相关系数”功能。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
50
<img src="https://github.com/jackfrued/mypic/raw/master/20210713164021.png" width="75%">
J
jackfrued 已提交
51

J
jackfrued 已提交
52 53 54 55 56 57
### 相关分析案例

#### 分析哪个客群的留存对整体留存贡献更大

留存的运营中我们最常看的就是新客的留存和活跃客群的留存,用来评估哪个客群的留存与整体的留存联系更紧密,以便制定后续运营的策略。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
58
<img src="https://github.com/jackfrued/mypic/raw/master/20210928214403.png" style="zoom:65%;">
J
jackfrued 已提交
59 60 61

利用Excel进行相关分析的结果如下所示。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
62
<img src="https://github.com/jackfrued/mypic/raw/master/20210928214522.png" style="zoom:65%;">
J
jackfrued 已提交
63 64 65 66 67 68 69

可以看出,活跃访客的留存率与整体留存率的相关是强相关;而新增访客的留存率与整体留存率的相关是弱相关,所以如果要提升整体留存率,我们的产品运营资源应当更多地投放给活跃用户,以提升整体的留存率;而新增访客,虽然不会拿到很多运营资源,但是我们也要去深入分析为什么新增访客的留存的贡献比较小,适时做一些提升这部分客群与整体留存的策略。

#### 案例2:找出对购买转化率贡献最高的渠道

基本上电商运营会同时部署多个渠道,包括线上电商平台以及线下的门店。由于现有某产品从各个渠道获客的用户在产品上的购买转化率,需要评估哪些渠道的用户对整体购买转化率贡献最大,后续将重点营销此渠道。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
70
<img src="https://github.com/jackfrued/mypic/raw/master/20210928214725.png" style="zoom:65%;">
J
jackfrued 已提交
71 72 73 74 75

#### 案例3:分析哪些因素对 DAU 的影响更大

我们分析 DAU 时常会将它拆解为各种维度来分析,这里我们分析与 DAU 联系最紧密的维度到底是哪些,以帮助我们制定针对性的运营策略,如下图所示。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
76
<img src="https://github.com/jackfrued/mypic/raw/master/20210928215043.png" style="zoom:65%;">
J
jackfrued 已提交
77 78 79 80

对于这样的报表,我们需要找出到底是哪几个城市、哪个操作系统,以及哪个年龄段的用户对于 DAU 的影响最大。如果能找出来这个关系,那么后续要提升 DAU,就有非常清晰的方向。


J
jackfrued 已提交
81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106
### 线性回归

如果只有一个自变量 X,而且因变量 Y 和自变量 X 之间的数量变化关系呈现近似的线性关系,就可以建立一元线性回归方程,通过自变量 X 的值来预测因变量 Y 的值,这就是所谓的**一元线性回归预测**,回归方程如下所示:
$$
Y = aX + b
$$
我们可以通过历史数据(已知的 $ X $ 和 $ Y $ ),确定参数 $ a $ 和 $ b $ 的值,还原出回归方程,从而实现预测。很显然,$ a $和 $ b $ 的取值可以有很多种选择,那么什么才是最好的 $ a $ 和 $ b$ 呢?如果把真实值记为 $ y $,把预测值记为 $ \hat{y} $,那么让 $ SSR $ 值最小的 $ a $ 和 $ b $ 就是最好的 $ a $ 和 $ b $ ,称之为**最小二乘解**,其中$ SSR $ 值计算公式如下所示:
$$
SSR = \sum_{i=1}^{n}(y_i - \hat{y_i})^2
$$
损失函数是凹函数,找到使函数最小的`a``b`的值,可以通过向凹函数的拐点进行逼近的方式来找到更好的`a``b`的值,具体的公式如下所示:

$$
a^\prime = a + (-1) \times \frac {\partial loss(a, b)} {\partial a} \times \Delta \\
b^\prime = b + (-1) \times \frac {\partial loss(a, b)} {\partial b} \times \Delta
$$
对于上面的求 $ SSR $ 的函数来说,可以用下面的公式计算偏导数:
$$
f(a, b) = \frac {1} {N} \sum_{i=1}^{N}(y_i - (ax_i + b))^2  \\
\frac {\partial {f(a, b)}} {\partial {a}} = \frac {2} {N} \sum_{i=1}^{N}(-x_iy_i + x_i^2a + x_ib) \\
\frac {\partial {f(a, b)}} {\partial {b}} = \frac {2} {N} \sum_{i=1}^{N}(-y_i + x_ia + b)
$$
上面的方法称为**梯度下降法**

在Excel中,可以使用“数据分析”模块的“”来实现线性回归。

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
107
<img src="https://github.com/jackfrued/mypic/raw/master/20210714073655.png" width="75%">
J
jackfrued 已提交
108 109 110 111 112 113 114 115

对于回归分析,最为重要的是评价回归的结果是否理想,这关系到能否通过回归方程去预测将来,我们先看看决定系数(Multiple R-Squared,通常称之为$ R^2 $)。在统计学习中,决定系数用于度量因变量的变化中可由自变量解释部分所占的比例,也就是你的回归模型的解释力是否良好,$ R^2 $ 的值越接近`1`越好。
$$
SS_{tot} = \sum_{i}(y_{i} - \bar {y})^2 \\
SS_{res} = \sum_{i}(y_{i} - \hat {y_i})^2 \\
R^2 = 1 - \frac {SS_{res}} {SS_{tot}}
$$

骆昊的技术专栏's avatar
骆昊的技术专栏 已提交
116
<img src="https://github.com/jackfrued/mypic/raw/master/20210714074159.png" width="60%">
J
jackfrued 已提交
117 118 119

接下来我们还要对回归方程的显著性进行检验,主要包括 t 检验(回归系数的检验)和F检验(回归方程的检验)。对于F检验(F-statistic)的结果,主要关注其 p-value ,如果 p-value 小于0.05,那么说明拟合效果是不错的。