修复函数
用于时间序列数据的修复
timestamp_repair
负责修复时间戳序列
提示
函数timestamp_repair首先通过Mode、Cluster、Median以及自定义数值方式确定时间戳间隔interval,然后使用Linear、Mode方法确定修复后时间戳的开始值start。通过动态规划算法对修复代价进行优化,过程中有插入、删除、不变三种操作,最终得到最优的修复序列。
timestamp_repair(time_expresion, numeric_expression, arg_expression)
选项 | 描述 |
---|---|
time_expresion | 要操作的时间表达式。可以是常量、列或函数,以及算术运算符的任意组合。 |
numeric_expression | 要操作的数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。 |
arg_expression | 参数表达式。必须是字符串常量,多个参数之间用& 链接 |
参数 | 描述 |
---|---|
method | 推算标准时间间隔的方法,取值为 'median', 'mode' 或 'cluster',仅在interval缺省时有效。在缺省情况下,将使用中位数方法进行推算。 |
interval | 标准时间间隔(单位是毫秒),是一个正整数。在缺省情况下,将根据指定的方法推算。 |
start_mode | 起始时间戳的推算方法,取值为 'linear' 或 'mode',缺省情况下使用 'mode'。 |
查看示例
value_fill
负责填充值列缺失的数据
提示
函数value_fill根据输入的参数Method来决定值填充的方法,方法有Mean、Previous、Linear、AR、MA五种。
value_fill(time_expresion, numeric_expression, arg_expression)
选项 | 描述 |
---|---|
time_expresion | 要操作的时间表达式。可以是常量、列或函数,以及算术运算符的任意组合。 |
numeric_expression | 要操作的数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。 |
arg_expression | 参数表达式。必须是字符串常量,多个参数之间用& 链接 |
参数 | 描述 |
---|---|
method | 填补缺失值的方法,取值为 'mean', 'previous', 'linear', 'ar', 'ma',缺省情况下使用 'linear'。 |
查看示例
value_repair
负责修复值列的数据
提示
函数value_repair使用Screen算法和LsGreedy算法,对时间戳和值之间的不一致性或缺失进行修复。首先,Screen算法据时间戳间隔的中位数确定修复窗口的宽度,在保持修复后数据在一定范围内的情况下进行修复。LsGreedy算法则通过计算速度的变化,并使用贪心策略进行修复。此外,实现了一些辅助函数用于计算中位数、中位数绝对偏差以及值的变化。
value_repair(time_expresion, numeric_expression, arg_expression)
选项 | 描述 |
---|---|
time_expresion | 要操作的时间表达式。可以是常量、列或函数,以及算术运算符的任意组合。 |
numeric_expression | 要操作的数值表达式。可以是常量、列或函数,以及算术运算符的任意组合。 |
arg_expression | 参数表达式。必须是字符串常量,多个参数之间用& 链接 |
参数 | 描述 |
---|---|
method | 修复时采用的方法,取值为 'Screen' 或 'LsGreedy'. 在缺省情况下,使用 Screen 方法进行修复。 |
min_speed | 该参数仅在使用 Screen 方法时有效。当速度小于该值时会被视作数值异常点加以修复。在缺省情况下为中位数减去三倍绝对中位差。 |
max_speed | 该参数仅在使用 Screen 方法时有效。当速度大于该值时会被视作数值异常点加以修复。在缺省情况下为中位数加上三倍绝对中位差。 |
center | 该参数仅在使用 LsGreedy 方法时有效。对速度变化分布建立的高斯模型的中心。在缺省情况下为 0。 |
sigma | 该参数仅在使用 LsGreedy 方法时有效。对速度变化分布建立的高斯模型的标准差。在缺省情况下为绝对中位差。 |