90 lines
6.4 KiB
Markdown
90 lines
6.4 KiB
Markdown
|
## 相关和回归
|
|||
|
|
|||
|
我们知道,可以通过对指标的维度拆来解寻找指标变化的原因。当我们找到问题的原因时,自然会进一步思考一个问题:指标变化的原因这么多,其中的关键因素又是哪个呢?例如,我们在工作场景中时不时会讨论这些问题:
|
|||
|
|
|||
|
1. 电商类产品想知道哪个品类销售对整体销售贡献更大;
|
|||
|
2. 渠道运营想知道哪个渠道的用户对整体活跃作用更大;
|
|||
|
3. 产品想知道到底哪些维度(城市、年龄、接入设备等)会影响整体活跃。
|
|||
|
|
|||
|
还有很多类似的场景,在这种情况下我们不仅要要找到数据变化的原因,还需要明确出不同原因的重要性。因为实际工作中可用资源有限,只能集中优势资源解决核心问题。
|
|||
|
|
|||
|
### 相关分析基本概念
|
|||
|
|
|||
|
相关性分析,指对两个或多个指标进行分析,评估它们两两之间联系或相互影响的程度。相关性分析不仅可以分析出多个指标间是否存在相关关系,还能给出相关程度的量化值。在进行相关性分析时,我们会使用“相关系数”定量给出几个指标间联系和影响的程度,通常用 $ \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 不会产生相应的变化。
|
|||
|
|
|||
|
### 相关分析应用场景
|
|||
|
|
|||
|
事实上,相关性分析的应用场景非常多,基本上当问到“这两个东西有什么关系”、“哪个指标的作用(贡献或价值)更大”、“我们应该重点解决哪个问题”这类问题时,都可以用相关性分析给出比较准确的回答,非常便于产品运营找到解决问题的核心抓手。
|
|||
|
|
|||
|
<img src="https://gitee.com/jackfrued/mypic/raw/master/20210713095938.png" width="80%">
|
|||
|
|
|||
|
在使用相关分析时,应注意以下几个方面:
|
|||
|
|
|||
|
1. 业务意义:当我们想知道A指标的情况时,可以监控B指标。
|
|||
|
2. 注意事项:千万不要将相关关系判断为因果关系,相关关系是伴随关系而不是因果关系。
|
|||
|
3. 强相关关系才是有业务价值的,建议寻找相关系数在 0.6 以上甚至 0.8 以上的指标。
|
|||
|
4. 相关关系的本质是 Y 的变化有多少能被 X 解释,跟 X 和 Y 之间的斜率大小无关。
|
|||
|
|
|||
|
### Excel计算相关系数
|
|||
|
|
|||
|
1. 方法一:使用 CORREL 函数。
|
|||
|
2. 方法二:使用“数据分析”模块的“相关系数”功能。
|
|||
|
|
|||
|
<img src="https://gitee.com/jackfrued/mypic/raw/master/20210713164021.png" width="75%">
|
|||
|
|
|||
|
### 线性回归
|
|||
|
|
|||
|
如果只有一个自变量 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中,可以使用“数据分析”模块的“”来实现线性回归。
|
|||
|
|
|||
|
<img src="https://gitee.com/jackfrued/mypic/raw/master/20210714073655.png" width="75%">
|
|||
|
|
|||
|
对于回归分析,最为重要的是评价回归的结果是否理想,这关系到能否通过回归方程去预测将来,我们先看看决定系数(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}}
|
|||
|
$$
|
|||
|
|
|||
|
<img src="https://gitee.com/jackfrued/mypic/raw/master/20210714074159.png" width="60%">
|
|||
|
|
|||
|
接下来我们还要对回归方程的显著性进行检验,主要包括 t 检验(回归系数的检验)和F检验(回归方程的检验)。对于F检验(F-statistic)的结果,主要关注其 p-value ,如果 p-value 小于0.05,那么说明拟合效果是不错的。
|
|||
|
|