将线性拟合估计为移动平均线
Posted
技术标签:
【中文标题】将线性拟合估计为移动平均线【英文标题】:Estimating linear fit as a moving average 【发布时间】:2016-07-18 21:14:54 【问题描述】:假设我有以下数据:
Year Day Amount
2015 1 2
2015 2 3
2015 3 4
2015 4 5
使用窗口函数或聚合,我想为每一行获取一个数字,表示“基于前 n 行的线性”。在这个简单的示例中,对于带有day = 4
的行,线性度会非常高,原因很明显,基于前 n 天,其中 n 为 3。
当前几天不存在时会弹出问题,在这种情况下,我只想使用默认值 -1,例如以其他方式表示。
我没有想要表示线性度的确切值,但作为示例,类似于相关系数,1 可以表示高线性度,而 0 则没有。
编辑:
作为一个临时用例,我所做的是在每一行中添加一个代表日期的列(并考虑到年份),并使用窗口函数来查找前 4 个值(如果它们存在) .在得到(或没有得到这些值)之后,我做了一个简单的计算来计算每个点组合的差异,并使用除法来查看它们彼此的接近程度(1 最好)。抱歉,由于代码共享协议,我无法共享任何代码。
【问题讨论】:
所以我们知道您想要什么。现在,您为实现这一目标做了什么尝试? @zero323 我已经用我尝试过的方法更新了我的问题。 【参考方案1】: 生成包含您要估计的所有日期的系列 左外加入输入 将Amount
的 null
值替换为要估计的值
转换为 RDD
generate keys with lower bound -> for 2015 4
generate keys [2015 4
, 2015 3
, 2015 2
] amd flatten
groupByKey
估计组
【讨论】:
您能否详细介绍“生成具有下限的密钥”?不确定你的意思。以上是关于将线性拟合估计为移动平均线的主要内容,如果未能解决你的问题,请参考以下文章
数据可视化实例: 带线性回归最佳拟合线的散点图(matplotlib,pandas)
数据可视化实例: 带线性回归最佳拟合线的散点图(matplotlib,pandas)