【发布时间】:2017-06-18 18:06:24
【问题描述】:
我想估计我的季节性预测与实际数据有何不同。我有以下数据集:
day real_revenue historical_coeff
01/01/2017 100 1.1
01/02/2017 105 0.98
01/03/2017 109 1.05
01/04/2017 107 1.07
01/05/2017 90 1
01/06/2017 120 0.95
01/07/2017 98 0.99
在01/01/2017revenue = 100 和季节性预测采用日间系数并将其应用于当前收入。所以它预测01/02/2017 的收入将是100*1.1 = 110,在 2017 年 1 月 3 日是110*0.98 = 107.8 等等。然后,预测的剩余收入将是所有预测的总和。例如,对于01/01/2017,在应用日间系数后,总和将为688.274235。
对于第二天01/02/2017,我们从值105 开始。所以我们预测在01/03/2017 上我们将有105*0.98 = 102.9,然后,对于01/04/2017,我们将预测102.9*1.05 = 108.045,依此类推。预计的总剩余收入将为531.2557215。
最后我想收到这样一张桌子:
day forecasted_total_remaining_revenue
01/01/2017 688.274235
01/02/2017 531.2557
01/03/2017 ...
01/04/2017 ...
01/05/2017 ...
01/06/2017 ...
01/07/2017 ...
基本上,我需要每天累积产品的总和,即a + a*b + a*b*c + a*b*c*d + ...。
一般来说可以在vertica或sql中编写这样的查询吗?
【问题讨论】:
-
按照解释的逻辑,
01/01/2017的结果不应该是802.18129365吗? -
如果你也包括最后一个系数,你可以得到 802。在我的情况下,我描述了只有 7 天的情况,因此不使用最后一个系数。
-
“只有 7 天”是什么意思?问题没有提到这一点。
-
如果不清楚,我很抱歉。当我们从 2017 年 1 月 1 日开始并预测到 2017 年 1 月 7 日时,我们将有 121.1133*0.95 = 115.057635。如果我们继续预测到 2017 年 1 月 8 日,那么我们将有 115.057635*0.99 = 113.9070587。但在此示例中,我使用了截至 2017 年 1 月 7 日的天数,这就是不包括最后一个值的原因。