scikitlearninspired时间序列

skits的Python项目详细描述


小品

CircleCIPyPI version

图书馆 ^{str1}$Sci^{str1}$Kit学习-^{str1}$Inspired^{str1}$Time^{str1}$S系列模型。在

这个库的主要目标是允许人们使用类似于scikit-learn的API训练时间序列预测模型。因此,与scikit-learn相似,该库由preprocessorsfeature_extractors、和{}组成。在

安装

使用pip安装:

pip install skits

预处理器

预处理器期望接收时间序列数据,然后存储一些关于时间序列的数据,这样它们就可以完全反转转换。{cd6>展示了如何将原始数据转换回cd6}。DifferenceTransformer减去从每个点移动period的点。在

^{pr2}$

特征提取程序

在所有的预处理转换完成后,可以从时间序列中构建出多个特征。这些可以通过特征提取器来构建,应该将这些提取器组合成一个大的FeatureUnion。当前特征包括自回归、季节性和综合特征(包括ARIMA模型的AR和I)。在

管道

有两种类型的管道。ForecasterPipeline用于预测时间序列(duh)。具体地说,我们应该用一个回归函数作为最后一步来构建这个管道,这样就可以做出适当的预测。该功能类似于常规的scikit-learn管道。不同之处包括将forecast()方法与to_scale关键字参数一起添加到predict()中,这样就可以确保它们的预测与原始数据的规模相同。在

这些类可能会发生变化,因为它们现在相当粗糙。例如,在引入DifferenceTransformer之前,必须为所有转换同时转换X和{}。当管道处理这个问题时,必须在步骤名中给所有这些转换加上pre_前缀。在

任何人,这里有一个例子:

importnumpyasnpfromsklearn.linear_modelimportLinearRegressionfromsklearn.preprocessingimportStandardScalerfromsklearn.pipelineimportFeatureUnionfromskits.pipelineimportForecasterPipelinefromskits.preprocessingimportReversibleImputerfromskits.feature_extractionimport(AutoregressiveTransformer,SeasonalTransformer)steps=[('pre_scaling',StandardScaler()),('features',FeatureUnion([('ar_transformer',AutoregressiveTransformer(num_lags=3)),('seasonal_transformer',SeasonalTransformer(seasonal_period=20))])),('post_features_imputer',ReversibleImputer()),('regressor',LinearRegression(fit_intercept=False))]l=np.linspace(0,1,101)y=5*np.sin(2*np.pi*5*l)+np.random.normal(0,1,size=101)X=y[:,np.newaxis]pipeline=ForecasterPipeline(steps)pipeline.fit(X,y)y_pred=pipeline.predict(X,to_scale=True,refit=True)

最后看起来像:

importmatplotlib.pyplotaspltplt.plot(y,lw=2)plt.plot(y_pred,lw=2)plt.legend(['y_true','y_pred'],bbox_to_anchor=(1,1));

pred

预测看起来像

start_idx=70plt.plot(y,lw=2);plt.plot(pipeline.forecast(y[:,np.newaxis],start_idx=start_idx),lw=2);ax=plt.gca();ylim=ax.get_ylim();plt.plot((start_idx,start_idx),ylim,lw=4);plt.ylim(ylim);plt.legend(['y_true','y_pred','forecast start'],bbox_to_anchor=(1,1));

forecast

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
数据库在使用TDengine时,如何保持Java客户端的高可用性?   javajavax。命名。无法将引用转换为javax。sql。数据源错误   理解Java中的溢出问题   java如何将数据请求与数据更新过程同步?   java在使用多部分上传图像时如何在客户端获取进程   java如何在FusionCharts中使用json数组?   java哈希映射“无法解析”。可以执行方法,但不能打印   java如何让用户更改JtextArea的背景色   java我们应该如何使用@XMLRootElement配置响应对象而不使用out   java BigQuery BigQueryException更新或删除   java使用新对象更新ArrayList+删除旧对象   java Alarmmanager立即启动   javascript实时Html推送通知   安卓如何从java代码更改视图大小   java Kafka 1.1多个消费群体滞后   多线程Java使用FileWriter写入同一文件引入多线程   java Jdbc连接池,按用户名进行连接缓存   java错误使用OpenGL?