R timetk

额,上一节我做的云里雾里的笔记就是时间序列机器学习
因为时间序列数据在机器学习中可以得到很好的预测

关键洞察力:将时间序列签名(时间戳信息按列扩展到特征集)用于执行机器学习

时间序列分析工具箱——timetk

时间序列机器学习:使用回归算法进行预测;

构造时间序列索引:基于时间模式提取、探索和扩展时间序列索引;

转换不同类型的时间序列数据(例如 tbl、xts、zoo、ts 之间):轻松实现不同类型的时间序列数据之间的相互转换。简书

tq_get()

函数从 FRED 获取数据
FRED是啥?是sklearn里面的dataset嘛

geom_ma

tidyquant的可视化工具,添加一个简单移动平均曲线

tk_index()

来提取索引

扩充时间序列签名

tk_get_timeseries_summary()

来检索索引的摘要信息

glimpse()

语句,允许查看输出tibble中选择的列,而不必每次都打印所有数据

tk_augment_timeseries_signature()

函数将时间戳信息逐列扩展到机器学习特征集中,并将时间序列信息列添加到初始数据表csdn

学长给的栗子是把时间序列信息添加到train和test中

tk_make_future_timeseries

函数从现有索引构造未来索引。
就是当前时间基础上构造需要预测是的时间

tk_get_timeseries_signature()

将未来索引转换成时间序列签名数据框

转化问题

问题:R 中不同类型的时间序列数据难以方便一致地实现相互转换。
解决方案:tk_tbl、tk_xts、tk_zoo、tk_ts

tk_xts

我们开始的时候用 tbl 对象,一个劣势是有时候必须转换成 xts 对象,因为要使用其他包(例如 xts、zoo、quantmod 等等)里基于 xts 对象的函数。
我们可以使用 tk_xts() 函数轻松地将数据转换成 xts 对象。注意,tk_xts() 函数会自动检测包含时间的列,并把该列当做 xts 对象的索引。
哇是不是就不用手动转化了

我们也可以从 xts 转成 tbl 。我们设定 rename_index = "date" 让索引的名字和开始的时候保持一致。这种操作在以前不太容易。

ts

有许多包用了另一种类型的时间序列数据——ts,其中最常见的可能就是 forecast 包。使用 tk_ts() 函数的优点有两个:

与其他 tk_ 函数兼容,可以方便直接的实现数据的转换和逆转换。
更重要的是:当使用 tk_ts 函数时,ts 对象将初始的不规则时间索引(通常是具体的日期)转换成一个索引属性。这使得保留日期和时间信息成为可能。

有两种方法转换回 tbl:

直接使用 tk_tbl(),我们将得到 YEARMON 类型的“规则”的时间索引(来自 zoo 包)。
如果原始对象用 tk_ts() 创建,并且有属性 timetk_index,我们可以通过命令 tk_tbl(timetk_index = TRUE) 转换回去,并得到 Date 格式 “非规则”时间索引。
方法 1:注意,日期列是 YEARMON 类型的。

tk_tbl(beer_sales_ts, rename_index = "date")

方法2:用 has_timetk_idx() 检查 ts 对象是否存在 timetk 索引。
置参数 timetk_idx = TRUE 来找回初始的日期或时间信息

如果返回值是 TRUE,在调用 tk_tbl() 时设定 timetk_idx = TRUE。现在可以看到日期列是 date 类型的,这在以往不容易做到。

上一篇:供地坐标格式转换


下一篇:Tkinter小工具程序