我已经设法获得时间序列数据的线性回归线,这要归功于stackoverflow先前.所以我有以下从python绘制的图/线:
我使用以下代码获得此回归线,最初从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个标准偏差.
理想情况下,我正在寻找的东西看起来像这样:
…黄线与回归线相差1个标准差.有谁知道如何从线性回归线得到1个标准偏差?作为参考,这里是线性回归的统计数据:
编辑:这里的参考是我最终做的:
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.6In [187]: plt.scatter(x,y,c='b')Out[187]:
结果:
总结以上是内存溢出为你收集整理的Python – 从线性回归线计算正在进行的1标准偏差全部内容,希望文章能够帮你解决Python – 从线性回归线计算正在进行的1标准偏差所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)