线性回归-周期性表达
利用线性回归对周期性时间序列进行回归预测时,常用的一种表达方式是使用0-1哑变量进行表达。以星期为周期的数据进行举例说明:
# 数据简介
# rst:需拟合的值; date:日期
data.example
rst date
1: 112 2016-07-04
2: 118 2016-07-05
3: 132 2016-07-06
4: 129 2016-07-07
5: 121 2016-07-08
---
80: 419 2016-09-21
81: 461 2016-09-22
82: 472 2016-09-23
83: 535 2016-09-24
84: 622 2016-09-25
##----------------- 数据处理 --------------------##
# 提取星期信息
data.example[, ":="(day = weekdays(date), T = 1)]
# 数据拆分
data.example <- dcast.data.table(data.example,
rst + date ~ day,
fill = 0, value.var = "T")
# 数据整理
data.example <- data.example[, .(rst, date, 星期一, 星期二, 星期三,
星期四, 星期五, 星期六, 星期日)]
setorder(data.example, date)
# 查看结果
data.example
rst date 星期一 星期二 星期三 星期四 星期五 星期六 星期日
1: 112 2016-07-04 1 0 0 0 0 0 0
2: 118 2016-07-05 0 1 0 0 0 0 0
3: 132 2016-07-06 0 0 1 0 0 0 0
4: 129 2016-07-07 0 0 0 1 0 0 0
5: 121 2016-07-08 0 0 0 0 1 0 0
---
80: 419 2016-09-21 0 0 1 0 0 0 0
81: 461 2016-09-22 0 0 0 1 0 0 0
82: 472 2016-09-23 0 0 0 0 1 0 0
83: 535 2016-09-24 0 0 0 0 0 1 0
84: 622 2016-09-25 0 0 0 0 0 0 1
在此基础上可以针对特殊情况例如节假日等进行标识。
关于时间序列回归
线性回归
线性回归的一般形式为:
f(x)=θ1x1+θ2x2+⋅⋅⋅+