2

我在 Excel 电子表格中有一些数据,它代表了一组采样的日期时间。日期呈线性增长,但存在一些周期性间隙(导致日期数据不连续)。

请参阅附图,因为这显示了数据的周期性。请注意,变化率在出现不连续性的地方显示出明显的尖峰。

在此处输入图像描述

数据是 DateTimes 的 Excel 电子表格中的单列。我想预测这个重复序列到未来,以便估计未来的不连续性。

最终我想用 C# 编写代码,但如果有人知道可以在 Excel 或 C#/C 中执行这种预测的算法,那就太好了!

我考虑过自动相关,但无法弄清楚如何在 Excel 中进行测试。

4

2 回答 2

3

解释我对正确数据表示的评论: 在此处输入图像描述

如果数据可以用线性函数表示,即:

f(date) = start_value + daily_increase * (date - fist_date)

那么你可以做一个简单的线性回归 - 在我的 excel 示例中使用这个LINEST 函数(在 2 个单元格中同时输入 Ctrl+Shift+Enter 作为数组公式):

=LINEST(C2:C31;A2:A31)

结果 (6, -220436) 是线性回归公式的线性和常数因子:
=>f(date) = 6 * date - 220436

于 2012-07-01T15:09:41.707 回答
1

如果有人需要循环数据生成器,请使用此算法(excel公式):

=baseline_value
 + INT([@Step]/repeat_c1) * increase_c1
 + INT([@Step]/repeat_c2) * increase_c2
 + INT([@Step]/repeat_c3) * increase_c3
 ...

要计算增量,需要从最短到最长对周期进行排序 - 请参阅此周期规范的插图:

  1. 每一步,增加前一个值2小时
  2. 对于每 2 步,将先前的值增加 22 小时而不是 2(即增加 20)
  3. 每 8 步,增加 70 小时(增加 48 小时)

循环数据发生器的测试

于 2012-07-01T17:08:10.963 回答