Apache spark 将线性拟合估计为移动平均
假设我有以下数据:Apache spark 将线性拟合估计为移动平均,apache-spark,apache-spark-sql,window-functions,Apache Spark,Apache Spark Sql,Window Functions,假设我有以下数据: Year Day Amount 2015 1 2 2015 2 3 2015 3 4 2015 4 5 使用窗口函数或聚合,我想为每一行获取一个数字,表示“基于前n行的线性”。在这个简单的示例中,对于day=4的行,基于明显的原因,基于前面的n天,线性度将非常高,其中n是3 当前几天不存在时会出现问题,在这种情况下,我只想使用默认值-1,例如,表示其他情况 我没有一个精确的值,我想表示线性,但是作为一个例子,类似于相关系数,1可以表示高线
Year Day Amount
2015 1 2
2015 2 3
2015 3 4
2015 4 5
使用窗口函数或聚合,我想为每一行获取一个数字,表示“基于前n行的线性”。在这个简单的示例中,对于day=4
的行,基于明显的原因,基于前面的n天,线性度将非常高,其中n是3
当前几天不存在时会出现问题,在这种情况下,我只想使用默认值-1,例如,表示其他情况
我没有一个精确的值,我想表示线性,但是作为一个例子,类似于相关系数,1可以表示高线性,而0没有
编辑:
作为一个临时用例,我所做的是在每一行中添加一列,表示日期(并考虑年份),并使用一个窗口函数,使用lag查找前4个值(如果存在)。在得到(或没有得到)这些值后,我做了一个简单的计算来计算每个点组合的差异,并使用除法来查看它们之间的距离(最好是1)。很抱歉,由于有代码共享协议,我无法共享任何代码。- 生成包含所有要估计日期的序列
- 左外侧将其与输入连接起来
- 将
的Amount
值替换为要估计的值null
- 转换为RDD
- 使用下限->为
生成密钥[2015 4
,2015 4
,2015 3
]amd展平2015 2
- groupByKey
- 对组的估计
- 生成包含所有要估计日期的序列
- 左外侧将其与输入连接起来
- 将
的Amount
值替换为要估计的值null
- 转换为RDD
- 使用下限->为
生成密钥[2015 4
,2015 4
,2015 3
]amd展平2015 2
- groupByKey
- 对组的估计