Python - 计算线性回归线的持续 1 个标准偏差

标签 python pandas datetime dataframe linear-regression

我已经成功地获得了时间序列数据的线性回归线,这非常感谢之前的 stackoverflow。所以我从 python 中绘制了以下图/线:

Linear Regression Line

我使用以下代码得到了这条回归线,最初是从 csv 文件导入价格/时间序列数据:

f4 = open('C:\Users\cost9\OneDrive\Documents\PYTHON\TEST-ASSURANCE FILES\LINEAR REGRESSION MULTI TREND IDENTIFICATION\ES_1H.CSV')    
ES_1H = pd.read_csv(f4)
ES_1H.rename(columns={'Date/Time': 'Date'}, inplace=True)
ES_1H['Date'] = ES_1H['Date'].reset_index()
ES_1H.Date.values.astype('M8[D]')
ES_1H_Last_300_Periods = ES_1H[-300:]
x = ES_1H_Last_300_Periods['Date']
y = ES_1H_Last_300_Periods['Close']
x = sm.add_constant(x)
ES_1H_LR = pd.ols(y = ES_1H_Last_300_Periods['Close'], x = ES_1H_Last_300_Periods['Date'])
plt.scatter(y = ES_1H_LR.y_fitted.values, x = ES_1H_Last_300_Periods['Date'])

我正在寻找的是能够绘制/识别与回归线的 1 个标准差(如上图所示)。上面的大部分代码只是为了使数据一致,以便能够成功绘制回归线 - 更改日期/时间数据,以便它可以在 ols 公式中工作,将数据截断到最后 300 个周期等。但我不知道如何从通过线性回归绘制的线中获取 1 个标准差。

所以理想情况下我正在寻找的东西看起来像这样:

Linear Regression channel

...黄线距回归线 1 个标准差。有谁知道如何从线性回归线得到 1 个标准差?作为引用,以下是线性回归的统计数据:

Linear Regression Stats

编辑:仅供引用,这是我最终所做的:

plt.scatter(y = ES_1D_LR.y_fitted.values, x = ES_1D_Last_30_Periods['Date'])
plt.scatter(y = ES_1D_Last_30_Periods.Close, x = ES_1D_Last_30_Periods.Date)
plt.scatter(y = ES_1D_LR.y_fitted.values - np.std(ES_1D_LR.y_fitted.values), x = ES_1D_Last_30_Periods.Date)
plt.scatter(y = ES_1D_LR.y_fitted.values + np.std(ES_1D_LR.y_fitted.values), x = ES_1D_Last_30_Periods.Date)
plt.show()

最佳答案

IIUC 你可以这样做:

In [185]: x = np.arange(100)

In [186]: y = x*0.6

In [187]: plt.scatter(x, y, c='b')
Out[187]: <matplotlib.collections.PathCollection at 0xc512390>

In [188]: plt.scatter(x, y - np.std(y), c='y')
Out[188]: <matplotlib.collections.PathCollection at 0xc683940>

In [189]: plt.scatter(x, y + np.std(y), c='y')
Out[189]: <matplotlib.collections.PathCollection at 0xc69a550>

结果:

enter image description here

关于Python - 计算线性回归线的持续 1 个标准偏差,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42258329/

相关文章:

python - 从大目录中随机延迟加载文件

python - 使用pyexcel在电子表格中添加行数据

python - tweepy 上未指定目标用户错误

mysql - 将日期时间与字符串进行比较时非法混合排序规则

python - 在列表中查找最旧/最年轻的日期时间对象

python - 为什么 Python 在使用 Debug模式构建时会禁用 MSCRT 断言?

python - Pandas:在 DataFrame 中创建聚合列

python - python中出现Attribute error 'float' object has no attribute 'split'如何解决?

python - python中不同列中列内的字典的拆分列表

python - Pandas to_datetime 未按预期格式化