维护者 | Rob J Hyndman,Rebecca Killick |
联系方式 | Rob.Hyndman at monash.edu |
版本 | 2023-03-30 |
URL | https://CRAN.R-project.org/view=TimeSeries |
源代码 | https://github.com/cran-task-views/TimeSeries/ |
贡献 | 欢迎对本任务视图提出建议和改进,可以通过 GitHub 上的问题或拉取请求,或通过电子邮件发送给维护者地址。有关更多详细信息,请参阅 贡献指南. |
引用 | Rob J Hyndman,Rebecca Killick (2023)。CRAN 任务视图:时间序列分析。版本 2023-03-30。URL https://CRAN.R-project.org/view=TimeSeries. |
安装 | 可以使用 ctv 包自动安装此任务视图中的包。例如,ctv::install.views("TimeSeries", coreOnly = TRUE) 安装所有核心包,或 ctv::update.views("TimeSeries") 安装所有尚未安装和更新的包。有关更多详细信息,请参阅 CRAN 任务视图计划. |
Base R 附带了许多对时间序列有用的功能,特别是在 stats 包中。这得到了 CRAN 上许多包的补充,这些包将在下面简要概述。时间序列工具与针对特定领域设计的工具之间存在重叠,包括 计量经济学、金融 和 环境统计学.
此视图中的包可以大致分为以下主题。如果您认为列表中缺少某些包,请告知我们,可以通过电子邮件发送给维护者,或在上面链接的 GitHub 存储库中提交问题或拉取请求。
"ts"
,它可以表示规则间隔的时间序列(使用数字时间戳)。因此,它特别适合于年度、月度、季度数据等。ma
从 forecast 计算,rollmean
从 zoo 计算。后者还提供了一个通用函数 rollapply
,以及其他特定的滚动统计函数。 slider 为任何 R 数据类型计算各种类型稳定的运行函数。 tsibble 提供 slide_tsibble()
用于滚动统计,tile_tsibble()
用于非重叠滑动窗口,以及 stretch_tsibble()
用于扩展窗口。 tbrf 提供基于日期和时间窗口而不是 n 个滞后观测值的滚动函数。 roll 提供用于计算滚动统计的并行函数。 runner 提供在滚动窗口或日期窗口中运行任何 R 函数的工具。 runstats 为一些运行样本统计提供快速计算方法。对于 data.table,froll()
可用于高性能滚动统计。plot()
应用于 ts
对象获得。 (部分) 自相关函数图在 acf()
和 pacf()
中实现。 forecast 中的 Acf()
和 Pacf()
提供了替代版本,以及使用 tsdisplay()
的组合显示。 季节性显示使用 stats 中的 monthplot()
、forecast 中的 seasonplot
和 tsutils 中的 seasplot
获得。 feasts 为 tsibble 对象提供各种时间序列图形,包括时间图、季节图、子序列图、ACF 和 PACF 图,以及一些组合显示。 tsibbletalk 使用 htmlwidgets 为 tsibbles 提供交互式图形。 dCovTS 计算并绘制时间序列的距离协方差和相关函数。 ggseas 为季节性调整的序列和滚动统计提供额外的 ggplot2 图形。 日历图在 sugrrants 中实现。 gravitas 允许可视化以双变量时间粒度为条件的概率分布。 dygraphs 为 Dygraphs 交互式时间序列图表库提供接口。 TSstudio 为时间序列提供一些交互式可视化工具。 ZRA 使用 dygraphs 绘制来自 forecast 包的预测对象。 forecast 和 vars 提供了基本的预测分布扇形图。 fanplot 中实现了更灵活的任何顺序分布的扇形图。"ts"
只能处理数值时间戳,但还有更多类可用于存储时间/日期信息并进行计算。有关概述,请参阅 Gabor Grothendieck 和 Thomas Petzoldt 在 R News 4(1) 中的R 帮助台:R 中的日期和时间类,第 29-32 页。"yearmon"
和 "yearqtr"
分别允许对每月和每季观测值进行更方便的计算。"Date"
是处理每日数据中日期的基本类。日期在内部存储为自 1970-01-01 以来的天数。dates()
、hours()
和 chron()
中的日期/时间(日内)类。不支持时区和夏令时。在内部,"chron"
对象是自 1970-01-01 以来的(分数)天数。"POSIXct"
和 "POSIXlt"
实现了 POSIX 标准的日期/时间(日内)信息,并支持时区和夏令时。但是,时区计算需要谨慎,并且可能与系统相关。在内部,"POSIXct"
对象是自 1970-01-01 00:00:00 GMT 以来的秒数。包 lubridate 提供了简化某些基于 POSIX 的计算的功能,而 clock 提供了一个全面的库,用于使用新的正交日期时间类(持续时间、时间点、带时区的时间和日历)进行日期时间操作。一个通用的日期/时间转换器由 timeless 提供,而 anytime 将各种输入转换为 POSIXct
或 Date
对象。可以使用 almanac 进行各种循环日历计算。 timechange 允许有效地操作日期时间,同时考虑时区和夏令时。 wktmo 以多种方式将每周数据转换为每月数据。"timeDate"
类在 timeDate 包中提供(以前称为:fCalendar)。它旨在用于金融时间/日期信息,并通过“金融中心”的新概念处理时区和夏令时。在内部,它将所有信息存储在 "POSIXct"
中,并且仅在 GMT 中执行所有计算。日历功能,例如包括有关各种股票交易所的周末和假期的信息,也包括在内。 qlcal 允许通过 QuantLib 访问各种金融交易所日历。"ti"
类用于时间/日期信息。"mondate"
类有助于用月份计算日期。"ts"
是使用数字时间戳的规则间隔时间序列的基本类。"ts"
保持一致。shift()
。 DTSg 基于 data.table,提供了更多基本的时间序列功能。 dtts 通过 nanotime 和 data.table 提供高频时间序列支持。"POSIXct"
时间戳实现了不规则时间序列,特别适用于金融应用。这些包括来自 tseries 的 "irts"
。"timeSeries"
使用 "timeDate"
时间戳实现时间序列。"tis"
使用 "ti"
时间戳实现时间序列。ts
对象映射到 PostgreSQL 关系来管理官方统计的时间序列。tsibble
格式。 fabletools 提供工具来扩展 fable 框架。ts
对象工具,而 modeltime 和 modeltime.ensemble 提供了与 “tidymodels” 生态系统一起使用的时序预测工具。 modeltime.resample 提供了与 modeltime
一起使用的预测重采样工具。HoltWinters()
提供了一些具有部分优化的基本模型,来自 fable 的 ETS()
和来自 forecast 的 ets()
提供了一组更大的模型和设施,并具有完全优化功能。 smooth 实现了一些指数平滑的泛化。 legion 实现指数平滑的多元版本。 MAPA 包将不同时间聚合级别的指数平滑模型组合在一起,以提高预测精度。 Rlgt 包含一些指数平滑的贝叶斯扩展。THETA()
函数、来自 forecast 的 thetaf()
函数以及来自 tsutils 的 theta()
函数中实现。 forecTheta 提供了另一种扩展的实现。ar()
(带模型选择)。stats
中的 arima()
函数是用于 ARIMA、SARIMA、RegARIMA 和子集 ARIMA 模型的基本函数。它在 fable 包中通过 ARIMA()
函数进行了增强,该函数允许自动建模。类似的功能在 forecast 包中通过 auto.arima()
函数提供。tseries
包中的 arma()
函数提供了用于 ARMA 和子集 ARMA 模型的不同算法。 arima2 提供了一种随机重启估计算法来替换 stats::arima()
。其他估计方法,包括创新算法,由 itsmr 提供。gsarima 包包含用于广义 SARIMA 时间序列模拟的功能。 bayesforecast 拟合贝叶斯时间序列模型,包括季节性 ARIMA 和 ARIMAX 模型。 BayesARIMAX 实现 ARIMAX 模型的贝叶斯估计。 mar1s 包处理具有季节过程的乘法 AR(1)。 TSTutorial 提供了 Box-Jenkins 建模的交互式教程。 tsPI 提供了 ARIMA 和结构化时间序列模型的改进预测区间。arfima
函数和 tfarima 包提供。StructTS()
中实现,而自动建模和预测由 UComp 和 autostsm 提供。 statespacer 实现了一元状态空间模型,包括结构模型和 SARIMA 模型。 贝叶斯结构时间序列模型在 bsts 中实现。 鲁棒卡尔曼滤波由 RobKF 提供。garch()
函数可以拟合基本的 GARCH 模型。 rugarch 提供了 GARCH 模型的许多变体。 其他单变量 GARCH 包包括 fGarch,它实现了具有广泛 GARCH 创新类的 ARIMA 模型。 bayesforecast 拟合贝叶斯时间序列模型,包括 GARCH 模型的几种变体。 Finance 任务视图中描述了更多 GARCH 包。Box.test()
函数提供。 portes、WeightedPortTest 和 testcorr 提供了额外的检验。tsoutliers
和 tsclean
函数提供了一些简单的启发式方法来识别和纠正异常值。 otsad 实现了一组用于时间序列的在线异常检测器。 tsrobprep 提供了使用基于模型的方法替换缺失值和异常值的方法。 ctbi 实现了一个用于清理、分解和聚合时间序列的程序。na.interp()
提供了一些更有限的功能。 imputeTestbench 提供了用于测试和比较插补方法的工具。 mtsdi 实现了用于插补多元正态时间序列中缺失值的 EM 算法,考虑了空间和时间相关性。 多元局部平稳时间序列的插补方法在 mvLSWimpute 中。accuracy()
函数中提供。 使用评分规则进行的分布式预测评估在 fable、scoringRules 和 scoringutils 中提供。 用于比较两个模型的预测精度的 Diebold-Mariano 检验在 forecast 中的 dm.test()
函数中实现。 ForeComp 为给定的 Diebold-Mariano 检验生成大小-功效权衡图。 multDM 提供了 Diebold-Mariano 检验的多元版本。 tsutils 实现了用于比较预测的 Nemenyi 检验。 greybox 提供了 ro()
用于对预测进行一般滚动来源评估。spectrum()
提供,包括周期图、平滑周期图和 AR 估计。贝叶斯谱推断由 bspec、beyondWhittle 和 regspec 提供。 quantspec 包含用于计算和绘制单变量时间序列的拉普拉斯周期图的方法。 lomb 计算不均匀采样时间序列的 Lomb-Scargle 周期图。 spectral 使用傅里叶变换和希尔伯特变换进行谱滤波。 psd 生成自适应的正弦多锥谱密度估计。 kza 提供 Kolmogorov-Zurbenko 自适应滤波器,包括断点检测、谱分析、小波和 KZ 傅里叶变换。 multitaper 还提供一些多锥谱分析工具。高阶谱分析在 rhosa 中实现,包括双谱、双相干、交叉双谱和交叉双相干。fourier
函数实现。filter()
提供多个单变量时间序列的自回归和移动平均线性滤波。 robfilter 包提供了几个鲁棒的时间序列滤波器。 stats 包中的 smooth()
计算 Tukey 的运行中值平滑器、3RS3R、3RSS、3R 等。 sleekts 计算 4253H 两次平滑方法。 mFilter 实现了几个用于平滑和提取趋势和周期性成分的滤波器,包括 Hodrick-Prescott 和 Butterworth 滤波器。 hpfilter 实现了单边和双边 Hodrick-Prescott 滤波器。 smoots 提供时间趋势及其导数的非参数估计。decompose()
中提供经典分解,在 stl()
中提供 STL 分解。 增强型 STL 分解在 stlplus 中可用。 stR 提供基于回归的季节趋势分解。 smooth 和 tsutils 实现了经典分解的扩展版本。ar()
in the basic stats package including order selection via the AIC. These models are restricted to be stationary. MTS is an all-purpose toolkit for analysing multivariate time series including VAR, VARMA, seasonal VARMA, VAR models with exogenous variables, multivariate regression with time series errors, and much more. Possibly non-stationary VAR models are fitted in the mAr package, which also allows VAR models in principal component space. Fractionally cointegrated VAR models are handled by FCVAR. sparsevar allows estimation of sparse VAR and VECM models, bigtime estimates large sparse VAR, VARX and VARMA models, while BigVAR estimates VAR and VARX models with structured lasso penalties and svars implements data-driven structural VARs. Shrinkage estimation methods for VARs are implemented in VARshrink. More elaborate models are provided in package vars, tsDyn, and estVARXls()
in dse (archived). Another implementation with bootstrapped prediction intervals is given in VAR.etp. bvartools assists in the set-up of Bayesian VAR models, while bsvars and bayesianVARs include efficient algorithms for estimating Bayesian models. BVAR provides a toolkit for hierarchical Bayesian VAR models. BMTAR implements Bayesian Multivariate Threshold AR models with missing data. Factor-augmented VAR (FAVAR) models are estimated by a Bayesian method with FAVAR. BGVAR implements Bayesian Global VAR models. mlVAR provides multi-level vector autoregression. gmvarkit estimates Gaussian mixture VAR models. GNAR provides methods for fitting network AR models, while graphicalVAR and tsnet both estimate graphical VAR models. gdpc implements generalized dynamic principal components. pcdpca extends dynamic principal components to periodically correlated multivariate time series. mgm estimates time-varying mixed graphical models and mixed VAR models via regularized regression. nets provides estimation of sparse VARs using long run partial correlation networks for time series data. Factor-adjusted VARs using network estimation and forecasting for high-dimensional time series is implemented in fnets.tsibble
格式的时间序列。它们使用 tsfeatures 计算,用于 ts
格式的时间序列列表或矩阵。在这两个包中,都包含许多内置特征函数,用户可以添加自己的函数。 Rcatch22 提供对 22 个特征的快速计算,这些特征被认为特别有用。 theft 计算来自各种 R 和 Python 包的时间序列特征。 fsMTS (已归档) 为多元时间序列实现了特征选择例程。序数时间序列的特征提取由 otsfeatures 提供。tsboot()
用于时间序列自助法,包括具有多种变体的块自助法。 blocklength 允许为依赖自助法选择最佳块长度。 tseries 中的 tsbootstrap()
提供快速平稳和块自助法。 时间序列的最大熵自助法在 meboot 中可用。 BootPR 计算自回归时间序列的偏差校正预测和自助法预测区间。 bootUR 实现自助法单位根检验。simulate()
或 fable 中的 generate()
生成,给定一个特定的模型。 gratis (已归档) 使用混合自回归模型生成具有多样化和可控特征的新时间序列。 synthesis 从常用的统计模型生成合成时间序列,包括线性、非线性系统和混沌系统。 tssim 使用季节性、日历和异常值成分灵活地模拟每日或每月时间序列。