延迟
节点用途: 根据指定的延迟和延迟间隔从前面的记录中将字段的值复制到当前记录。一般都是按周期性复制。
说明:
根据指定的延迟_L_确定要生成多少个所选字段的副本,根据延迟间隔_I_确定延迟几条记录。生成延迟字段名称由原字段名加编号组成,编号根据延迟_L_和延迟间隔_I_确定,每个延迟字段的编号为_I_, 2*I, 3*I, ...L*I。例如,如果_L=3_,I=1,则字段的编号为1,2,3;L=3,I=2,则字段的编号为2,4,6。编号也表示该字段第一个不为空的起始行。
延迟节点在做时间序列预测时特别有用,尤其可以和线性回归算法一起使用,可以建立基于线性回归算法的时间序列预测模型。通过该节点可以计算预测序列的同期值:延迟为1则表示生成一个同期序列,当前记录的值就等于一个周期_I_之前的数据,_I=1_则新生成延迟字段的值都等于它原字段上一条记录的值,_I=12_则新生成延迟字段的值都等于原字段往前数第十二条记录的值;延迟为2,则表示生成两个同期序列,生成的第一个延迟字段当前记录的值就等于一个周期_I_之前的数据,_I=1_则新生成延迟字段的值都等于它原字段上一条记录的值,_I=12_则新生成延迟字段的值都等于原字段往前数第十二条记录的值。而第二个延迟字段当前记录的值就等于上一个延迟字段之前的数据,_I=1_则新生成延迟字段的值都等于上一个延迟字段上一条记录的值,_I=12_则新生成延迟字段的值都等于上一个延迟字段往前数第十二条记录的值。

图2-34-1
配置选项卡:
说明:
- **延迟字段:**选择需要延迟的字段
- 延迟阶数:L 延迟,定义要生成多少个字段副本。例如,如果_L=3_,则会生成三个字段副本
- 延迟间隔:I (有时也称为周期性或季节性) 定义从第几条记录开始移位。例如,如果_L=3_,I=1,则会生成三个字段副本,记录的起始位置分别是第二条记录、第三条记录和第四条记录,之前的记录都以缺失值填充;如果_L=3_,I=2,则会生成三个字段副本,记录的起始位置分别是第三条记录、第五条记录和第七条记录,之前的记录都以缺失值填充
- **新字段名:**为新生成的延迟字段定义名称
- **跳过最初不完整的行:**字段延迟后开始的几条记录是以缺失值填充的,因此这些行并不完整。我们可以通过勾选此项,跳过这些不完整的记录,输出表中将不会显示
- **跳过最后不完整的行:**字段延迟后最后的几条记录将会按照延迟间隔下移,这样虽然新生成的最后一个延迟字段在尾部是有值的,但是旧的字段都只能以缺失填充。我们可以通过勾选此项,跳过这些尾部不完整的记录,输出表中将不会显示。注意,如果只勾选这两项中的一项,输出表中总的记录数与输入表相等;如果两项都不勾选,输出表中的记录比输入表增加_L*I_条记录;如果两项都选中,输出表中的记录比输入表减少_L*I_条记录。
**案例:**生成时间序列数据中销量字段的延迟数据
建立工作流如下:

按照图2-34-1对节点进行配置,执行后生成数据如下图:
