我使用如下的回归斜率来计算趋势的陡度(斜率)。
方案1:
例如,假设我使用了6天(y轴)的销售数据(x轴:1, 4, 6, 8, 10, 15
)。
from sklearn.linear_model import LinearRegression
regressor = LinearRegression()
X = [[1], [4], [6], [8], [10], [15]]
y = [1, 2, 3, 4, 5, 6]
regressor.fit(X, y)
print(regressor.coef_)
这给了我0.37709497
方案2:
当我针对不同的销售数字(例如1, 2, 3, 4, 5, 6
)运行相同的程序时,得到的结果为1
。
但是,您可以看到sales
在scenario 1
中的工作效率很高,但在scenario 2
中却没有。但是,我得到的scenario 2
的斜率高于scenario 1
。
因此,我不确定回归斜率是否满足了我的要求。我还有其他方法可以用来计算趋势斜率的休眠度吗?
很高兴在需要时提供更多详细信息。
答案 0 :(得分:3)
我相信问题在于您的变量已切换。如果要跟踪一段时间内的销售业绩,则应该以其他方式执行回归。您可以反转计算出的斜率以获得正确的值,在第一种情况下,该斜率将显示更高的销售业绩。
import matplotlib.pyplot as plt
days = [1,2,3,4,5,6]
sales1 = [1,4,6,8,10,15]
sales2 = [1,2,3,4,5,6]
df = pd.DataFrame({'days': days, 'sales1': sales1, 'sales2': sales2})
df = df.set_index('days')
df.plot(marker='o', linestyle='--')
以下是您的数据的可视化视图:
{{1}}