预测周期时间序列的趋势线

时间:2012-07-01 09:02:05

标签: c# excel forecasting

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

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

enter image description here

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

最终我想用C#编写代码,但如果有人知道可以执行此类预测的算法,无论是在Excel中,还是在C#/ C中都会很棒!

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

2 个答案:

答案 0 :(得分:3)

解释我对正确数据表示的评论: enter image description here

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

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

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

=LINEST(C2:C31;A2:A31)

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

答案 1 :(得分: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)
  4. test of cyclic data generator