首页 > 解决方案 > 如何确定线性回归中的 x 或 y 变量何时发散?

问题描述

我正在为其他人构建交易算法。

我在数据框的两列上运行线性回归。数量和价格。

东风:

   Volume     Price
0  12.952941  8.534815
1  12.972921  8.544813

这就是我运行线性回归的方式

from scipy.stats import linregress

lr = linregress( df['Volume'],df['Price'])

要求之一是确定成交量何时偏离价格或在价格下跌时上涨。

有没有办法做到这一点?我不确定如何确定这一点。

先感谢您。

标签: pythonlinear-regression

解决方案


我认为你应该使用相关性来做你描述的事情。

总而言之,相关性用于描述两个变量之间的关系,例如问题中的数量和价格。因此,每当您关联变量时,都会返回一个介于 -1 和 +1 之间的数字。

一般来说,如果变量之间存在正相关(通常 > 0.6),则表示当交易量增加时,价格也会增加。另一方面,负相关(确切地说是接近-1的值),当一个变量增加时,另一个减少。

通常,每当您发现相关性接近于零时,您就可以说相关性较弱或没有相关性。

此外,还有应用相关性的规则。一般来说,当你有一个非高斯分布时,你应该使用斯皮尔曼相关。具有高斯分布,您可以使用 Pearson 相关性。要确定您的分布是否为高斯分布,您可以使用 Kolmogorov–Smirnov 检验或 Shapiro–Wilk 检验。

还有另一个细节。在计算相关性时,您必须验证p 值,该值 量化了相关性有效的概率。通常,p 值 < 0.05 通常是可以接受的。否则,您无法对相关结果做出任何结论。


推荐阅读