【发布时间】:2021-03-23 18:07:16
【问题描述】:
我有来自不规则时间间隔的数据点
我需要根据最后 k 个记录找到每个这些数据点的加权移动平均值 (WMA)。具体来说,在计算点 p 的 WMA 时,对应于 pth 记录的值应分配为 1 的权重,分配给前 k 个点中的每一个的权重应与这些点与第 p 个点之间的日期差成反比。历史记录越老,赋予该记录价值的权重就越小。
如何在 Excel 中实现这一点?
据我了解,我缺少的关键部分是转换单元格范围的能力。如果有办法做到这一点,我可以计算倒数 日期差异并将其用作权重。
数据示例
这是一个示例,说明仅对一个数据点(对应于 21 年 2 月 11 日)所需的计算。这需要对所有数据点重复。
使用的公式:
权重 = 1/(1+ 21 年 2 月 11 日与当前数据点的数据之间的日期差异)
加权值 = 值 * 权重
加权平均值 = 加权值总和/权重总和
【问题讨论】:
-
你能用实际数字显示一个典型的计算吗?我认为原则上不会太难,但一个相当明显的问题是,如果您将当前点包含在移动平均线中,则日期差将为零,并且它的倒数(您需要工作出与日期差成反比的加权移动平均值)将是无穷大。
-
k不变吗? -
@TomSharpe 我将很快添加一个示例以澄清...我计划在日期差异中添加 1 以解决您提到的无限情况...我的主要问题是不同的...如果只需要一个数据点,我可以在另一列中计算中间值并使用它......但在这里我需要为每个数据点计算的那些
-
好的,太好了。另外,对于前 k 行没有足够的先前分数来计算平均值,你会怎么做?我希望您会在示例中介绍这一点。
-
@Jsmart523 我最初的想法是在每种情况下都包含所有过去的数据点......但正如我所考虑的那样,如果可以的话,这可以放宽(即 k 可以保持不变)让事情变得更容易
标签: excel data-analysis