0
$\begingroup$

I would like to forecast a time series consisting of time averaged (everything happening during 15min intervals is averaged and recorded with a timestamp of the start of messurment) quantities (response time of a computer for some task). This is a sample for 6 Days (during weekday and working hours):

"TIME";"AVG";"STDDEV";"CNT"
21.09.20 06:15:00;0.112086;0.213536;4073
21.09.20 06:30:00;0.119656;0.211965;3976
21.09.20 06:45:00;0.116675;0.202245;4357
21.09.20 07:00:00;0.112031;0.194731;4552
21.09.20 07:15:00;0.132269;0.241462;5108
21.09.20 07:30:00;0.119382;0.211729;5084
21.09.20 07:45:00;0.124995;0.231724;5224
21.09.20 08:00:00;0.125509;0.237776;5600
21.09.20 08:15:00;0.121962;0.221741;5438
21.09.20 08:30:00;0.127781;0.228233;5613
21.09.20 08:45:00;0.124944;0.239995;6602
21.09.20 09:00:00;0.124548;0.295361;6971
21.09.20 09:15:00;0.140538;0.551656;7043
21.09.20 09:30:00;0.124837;0.242823;6777
21.09.20 09:45:00;0.127357;0.322128;6392
21.09.20 10:00:00;0.136666;0.451407;6104
21.09.20 10:15:00;0.114948;0.220577;6590
21.09.20 10:30:00;0.118304;0.229199;7270
21.09.20 10:45:00;0.140817;0.553115;6885
21.09.20 11:00:00;0.119743;0.209214;6207
21.09.20 11:15:00;0.128179;0.232747;6527
21.09.20 11:30:00;0.13494;0.281346;6472
21.09.20 11:45:00;0.120561;0.204143;5856
21.09.20 12:00:00;0.130607;0.221074;5151
21.09.20 12:15:00;0.126529;0.223181;5969
21.09.20 12:30:00;0.131648;0.225957;5218
21.09.20 12:45:00;0.134003;0.21632;5877
21.09.20 13:00:00;0.130638;0.216279;5722
21.09.20 13:15:00;0.128731;0.31316;6551
21.09.20 13:30:00;0.135954;0.337322;6894
21.09.20 13:45:00;0.128398;0.271369;6824
21.09.20 14:00:00;0.131274;0.27935;6211
21.09.20 14:15:00;0.130653;0.221255;5192
21.09.20 14:30:00;0.132375;0.210514;5363
21.09.20 14:45:00;0.131802;0.21619;4168
21.09.20 15:00:00;0.131502;0.225406;3469
21.09.20 15:15:00;0.151438;0.265966;3238
21.09.20 15:30:00;0.147291;0.23392;2649
21.09.20 15:45:00;0.165084;0.312909;2338
21.09.20 16:00:00;0.154313;0.339358;1569
21.09.20 16:15:00;0.169265;0.327954;1206
21.09.20 16:30:00;0.155857;0.293429;997
21.09.20 16:45:00;0.156054;0.252224;970
21.09.20 17:00:00;0.158791;0.245251;760
21.09.20 17:15:00;0.127918;0.194191;1031
21.09.20 17:30:00;0.150493;0.224237;625
21.09.20 17:45:00;0.149227;0.236968;489
21.09.20 18:00:00;0.138521;0.216038;626
21.09.20 18:15:00;0.165233;0.254596;584
21.09.20 18:30:00;0.13728;0.240573;414
21.09.20 18:45:00;0.156062;0.243468;336
21.09.20 19:00:00;0.155287;0.262502;171
21.09.20 19:15:00;0.084385;0.083342;109
22.09.20 06:15:00;0.134269;0.223488;4045
22.09.20 06:30:00;0.125196;0.214243;4618
22.09.20 06:45:00;0.121592;0.202675;4980
22.09.20 07:00:00;0.119539;0.208648;6131
22.09.20 07:15:00;0.131838;0.262253;5907
22.09.20 07:30:00;0.125027;0.310485;5571
22.09.20 07:45:00;0.127258;0.322928;6579
22.09.20 08:00:00;0.137125;0.24647;6280
22.09.20 08:15:00;0.130122;0.22306;6262
22.09.20 08:30:00;0.113944;0.186388;7058
22.09.20 08:45:00;0.128479;0.250438;6964
22.09.20 09:00:00;0.119759;0.303231;6793
22.09.20 09:15:00;0.115997;0.198655;6491
22.09.20 09:30:00;0.120016;0.202072;6780
22.09.20 09:45:00;0.129393;0.24873;6602
22.09.20 10:00:00;0.129006;0.231162;5821
22.09.20 10:15:00;0.137731;0.514649;7243
22.09.20 10:30:00;0.141417;0.387585;7334
22.09.20 10:45:00;0.122008;0.275933;7739
22.09.20 11:00:00;0.125836;0.222914;7115
22.09.20 11:15:00;0.1263;0.295904;7158
22.09.20 11:30:00;0.12274;0.268252;6517
22.09.20 11:45:00;0.119365;0.188247;6055
22.09.20 12:00:00;0.138271;0.393492;5101
22.09.20 12:15:00;0.148577;0.476345;5464
22.09.20 12:30:00;0.127888;0.20632;5577
22.09.20 12:45:00;0.137621;0.233994;6013
22.09.20 13:00:00;0.126265;0.258031;6990
22.09.20 13:15:00;0.11645;0.18121;7357
22.09.20 13:30:00;0.115265;0.177909;7016
22.09.20 13:45:00;0.122352;0.32562;7140
22.09.20 14:00:00;0.127537;0.199972;7644
22.09.20 14:15:00;0.127489;0.256553;6521
22.09.20 14:30:00;0.135917;0.283829;5059
22.09.20 14:45:00;0.139508;0.224221;4570
22.09.20 15:00:00;0.146666;0.226195;3285
22.09.20 15:15:00;0.137825;0.227145;2768
22.09.20 15:30:00;0.133734;0.222805;2801
22.09.20 15:45:00;0.120657;0.164278;2662
22.09.20 16:00:00;0.149192;0.229572;1505
22.09.20 16:15:00;0.166478;0.322003;1526
22.09.20 16:30:00;0.155795;0.25694;1384
22.09.20 16:45:00;0.150228;0.239067;1068
22.09.20 17:00:00;0.234483;0.399896;865
22.09.20 17:15:00;0.188117;0.396545;632
22.09.20 17:30:00;0.127458;0.228504;541
22.09.20 17:45:00;0.130875;0.180557;511
22.09.20 18:00:00;0.191654;0.275578;399
22.09.20 18:15:00;0.152026;0.223881;384
22.09.20 18:30:00;0.135298;0.209375;366
22.09.20 18:45:00;0.099752;0.125254;242
22.09.20 19:00:00;0.145069;0.198962;274
22.09.20 19:15:00;0.122166;0.168889;385
23.09.20 06:15:00;0.132282;0.241411;3646
23.09.20 06:30:00;0.119153;0.202798;4360
23.09.20 06:45:00;0.109985;0.184398;4739
23.09.20 07:00:00;0.115143;0.214519;5047
23.09.20 07:15:00;0.112788;0.209569;5409
23.09.20 07:30:00;0.118008;0.217444;5680
23.09.20 07:45:00;0.11784;0.205278;5684
23.09.20 08:00:00;0.111417;0.188973;5197
23.09.20 08:15:00;0.134069;0.372429;5497
23.09.20 08:30:00;0.129127;0.222046;6147
23.09.20 08:45:00;0.117739;0.376213;6508
23.09.20 09:00:00;0.128833;0.322718;6045
23.09.20 09:15:00;0.115705;0.204968;6804
23.09.20 09:30:00;0.117029;0.248323;6865
23.09.20 09:45:00;0.120912;0.426944;7002
23.09.20 10:00:00;0.121857;0.264229;6242
23.09.20 10:15:00;0.114598;0.224264;7128
23.09.20 10:30:00;0.112257;0.296054;7449
23.09.20 10:45:00;0.109739;0.198021;7932
23.09.20 11:00:00;0.118232;0.216435;7436
23.09.20 11:15:00;0.108069;0.185087;7011
23.09.20 11:30:00;0.110674;0.187084;6964
23.09.20 11:45:00;0.129108;0.251059;5971
23.09.20 12:00:00;0.138082;0.237355;5661
23.09.20 12:15:00;0.124681;0.212305;5051
23.09.20 12:30:00;0.130394;0.284347;5515
23.09.20 12:45:00;0.133795;0.242332;6206
23.09.20 13:00:00;0.124705;0.221327;6725
23.09.20 13:15:00;0.123835;0.206374;6726
23.09.20 13:30:00;0.114299;0.191306;6488
23.09.20 13:45:00;0.119643;0.196502;6036
23.09.20 14:00:00;0.133681;0.222012;5802
23.09.20 14:15:00;0.124028;0.202496;5050
23.09.20 14:30:00;0.122997;0.199164;4592
23.09.20 14:45:00;0.129376;0.211834;4420
23.09.20 15:00:00;0.149444;0.402746;3225
23.09.20 15:15:00;0.131011;0.211047;3234
23.09.20 15:30:00;0.138067;0.259279;2420
23.09.20 15:45:00;0.146898;0.406532;2481
23.09.20 16:00:00;0.142403;0.252948;1948
23.09.20 16:15:00;0.125016;0.224585;1534
23.09.20 16:30:00;0.121122;0.200069;1399
23.09.20 16:45:00;0.130927;0.202344;1105
23.09.20 17:00:00;0.11792;0.198521;990
23.09.20 17:15:00;0.105343;0.145217;676
23.09.20 17:30:00;0.165562;0.253559;676
23.09.20 17:45:00;0.135942;0.20066;345
23.09.20 18:00:00;0.110587;0.174849;448
23.09.20 18:15:00;0.108694;0.092798;320
23.09.20 18:30:00;0.120893;0.2105;270
23.09.20 18:45:00;0.111113;0.138183;222
23.09.20 19:00:00;0.131462;0.18217;238
23.09.20 19:15:00;0.173816;0.30726;174
24.09.20 06:15:00;0.133466;0.260185;4085
24.09.20 06:30:00;0.125953;0.26637;4263
24.09.20 06:45:00;0.114903;0.202301;5023
24.09.20 07:00:00;0.122528;0.219066;4694
24.09.20 07:15:00;0.144803;0.415124;5658
24.09.20 07:30:00;0.123663;0.296035;4802
24.09.20 07:45:00;0.135081;0.348646;5413
24.09.20 08:00:00;0.13462;0.246612;4815
24.09.20 08:15:00;0.124541;0.397222;5349
24.09.20 08:30:00;0.113064;0.199663;6814
24.09.20 08:45:00;0.114648;0.207591;6330
24.09.20 09:00:00;0.128163;0.288399;6344
24.09.20 09:15:00;0.115447;0.204147;6879
24.09.20 09:30:00;0.117596;0.319772;6281
24.09.20 09:45:00;0.124039;0.360599;6513
24.09.20 10:00:00;0.128655;0.220762;5462
24.09.20 10:15:00;0.127458;0.236155;5769
24.09.20 10:30:00;0.113234;0.199049;6504
24.09.20 10:45:00;0.108929;0.198644;7593
24.09.20 11:00:00;0.135372;0.444033;6956
24.09.20 11:15:00;0.131904;0.407112;7009
24.09.20 11:30:00;0.124563;0.249969;5742
24.09.20 11:45:00;0.111844;0.17664;5621
24.09.20 12:00:00;0.135587;0.293832;5016
24.09.20 12:15:00;0.141148;0.280842;4981
24.09.20 12:30:00;0.129846;0.340593;5597
24.09.20 12:45:00;0.129942;0.267173;6470
24.09.20 13:00:00;0.123741;0.504455;6482
24.09.20 13:15:00;0.123854;0.241153;7382
24.09.20 13:30:00;0.123739;0.223143;7043
24.09.20 13:45:00;0.125995;0.244985;6891
24.09.20 14:00:00;0.123418;0.235143;7554
24.09.20 14:15:00;0.117826;0.211837;6438
24.09.20 14:30:00;0.137371;0.445494;4817
24.09.20 14:45:00;0.128955;0.35666;4108
24.09.20 15:00:00;0.13834;0.385404;3815
24.09.20 15:15:00;0.116476;0.187952;3154
24.09.20 15:30:00;0.12773;0.271029;2595
24.09.20 15:45:00;0.12826;0.211691;2519
24.09.20 16:00:00;0.141731;0.221567;1716
24.09.20 16:15:00;0.150477;0.254863;1736
24.09.20 16:30:00;0.162218;0.315953;1380
24.09.20 16:45:00;0.123649;0.191812;1272
24.09.20 17:00:00;0.134837;0.188505;893
24.09.20 17:15:00;0.120883;0.180039;829
24.09.20 17:30:00;0.105481;0.166542;824
24.09.20 17:45:00;0.10203;0.141204;624
24.09.20 18:00:00;0.158262;0.253136;511
24.09.20 18:15:00;0.116982;0.149226;272
24.09.20 18:30:00;0.098776;0.167506;304
24.09.20 18:45:00;0.128265;0.238703;324
24.09.20 19:00:00;0.149149;0.223424;175
24.09.20 19:15:00;0.187429;0.34716;140
25.09.20 06:15:00;0.12532;0.231712;3502
25.09.20 06:30:00;0.117558;0.207293;4035
25.09.20 06:45:00;0.111891;0.201494;4231
25.09.20 07:00:00;0.129739;0.241431;4654
25.09.20 07:15:00;0.114422;0.206883;4379
25.09.20 07:30:00;0.123694;0.356618;4970
25.09.20 07:45:00;0.113561;0.203493;5394
25.09.20 08:00:00;0.126012;0.223399;5785
25.09.20 08:15:00;0.132681;0.358305;4942
25.09.20 08:30:00;0.104608;0.17778;6212
25.09.20 08:45:00;0.107116;0.179151;5601
25.09.20 09:00:00;0.119814;0.217777;5990
25.09.20 09:15:00;0.113666;0.201456;5676
25.09.20 09:30:00;0.110416;0.197214;5826
25.09.20 09:45:00;0.113109;0.233607;5962
25.09.20 10:00:00;0.115648;0.227994;6157
25.09.20 10:15:00;0.119666;0.208767;6067
25.09.20 10:30:00;0.119187;0.203771;6388
25.09.20 10:45:00;0.115556;0.199526;6609
25.09.20 11:00:00;0.118288;0.199618;6489
25.09.20 11:15:00;0.115978;0.196888;6706
25.09.20 11:30:00;0.116025;0.201089;5980
25.09.20 11:45:00;0.115746;0.229099;6084
25.09.20 12:00:00;0.128893;0.215764;4568
25.09.20 12:15:00;0.135101;0.236319;4605
25.09.20 12:30:00;0.125221;0.207709;4426
25.09.20 12:45:00;0.125536;0.215012;5374
25.09.20 13:00:00;0.118552;0.332557;5140
25.09.20 13:15:00;0.110199;0.189534;5964
25.09.20 13:30:00;0.131353;0.22302;5439
25.09.20 13:45:00;0.130197;0.289702;5165
25.09.20 14:00:00;0.122167;0.213522;4468
25.09.20 14:15:00;0.143395;0.256802;4113
25.09.20 14:30:00;0.140303;0.280406;3951
25.09.20 14:45:00;0.151792;0.710918;2504
25.09.20 15:00:00;0.14955;0.256897;2069
25.09.20 15:15:00;0.14331;0.225913;1867
25.09.20 15:30:00;0.130504;0.210281;1344
25.09.20 15:45:00;0.134057;0.217191;1236
25.09.20 16:00:00;0.17562;0.355292;1054
25.09.20 16:15:00;0.128958;0.22879;1012
25.09.20 16:30:00;0.151435;0.224814;1082
25.09.20 16:45:00;0.129518;0.179044;1104
28.09.20 06:15:00;0.158457;0.399533;4188
28.09.20 06:30:00;0.174882;0.519059;4735
28.09.20 06:45:00;0.149887;0.387767;5728
28.09.20 07:00:00;0.145403;0.401252;5701
28.09.20 07:15:00;0.15502;0.275772;5895
28.09.20 07:30:00;0.157851;0.27724;6152
28.09.20 07:45:00;0.153144;0.260583;6554
28.09.20 08:00:00;0.169933;0.601388;6936
28.09.20 08:15:00;0.170182;0.567109;6926
28.09.20 08:30:00;0.147457;0.498825;7574
28.09.20 08:45:00;0.142002;0.374955;8242
28.09.20 09:00:00;0.14001;0.372304;8766
28.09.20 09:15:00;0.140776;0.438617;7749
28.09.20 09:30:00;0.158274;0.71313;8289
28.09.20 09:45:00;0.156307;0.668583;8211
28.09.20 10:00:00;0.15172;0.651002;7392
28.09.20 10:15:00;0.153208;0.630842;8796
28.09.20 10:30:00;0.163513;0.69511;8331
28.09.20 10:45:00;0.158124;0.66471;9200
28.09.20 11:00:00;0.160516;0.612198;8566
28.09.20 11:15:00;0.160098;0.508139;7618
28.09.20 11:30:00;0.168311;0.725569;6995
28.09.20 11:45:00;0.13247;0.289076;7169
28.09.20 12:00:00;0.171279;0.682888;6136
28.09.20 12:15:00;0.167556;0.546474;6495
28.09.20 12:30:00;0.164981;0.679522;6128
28.09.20 12:45:00;0.175686;0.808384;7111
28.09.20 13:00:00;0.152551;0.566463;7984
28.09.20 13:15:00;0.135793;0.283163;9879
28.09.20 13:30:00;0.156475;0.633334;7852
28.09.20 13:45:00;0.157425;0.831361;7784
28.09.20 14:00:00;0.151733;0.552607;6917
28.09.20 14:15:00;0.162633;0.554072;6576
28.09.20 14:30:00;0.13839;0.398496;6141
28.09.20 14:45:00;0.147514;0.477651;5168
28.09.20 15:00:00;0.179386;0.642726;4617
28.09.20 15:15:00;0.189046;1.008475;3402
28.09.20 15:30:00;0.157916;0.270217;2609
28.09.20 15:45:00;0.171963;0.700237;2678
28.09.20 16:00:00;0.205954;0.759576;2264
28.09.20 16:15:00;0.153256;0.348721;2273
28.09.20 16:30:00;0.152814;0.337182;1402
28.09.20 16:45:00;0.176683;0.461659;1064
28.09.20 17:00:00;0.154891;0.30686;1252
28.09.20 17:15:00;0.125215;0.183464;1226
28.09.20 17:30:00;0.130498;0.197466;890
28.09.20 17:45:00;0.155145;0.251217;705
28.09.20 18:00:00;0.202504;0.318161;474
28.09.20 18:15:00;0.122461;0.173813;453
28.09.20 18:30:00;0.105618;0.132916;390
28.09.20 18:45:00;0.165167;0.256755;312
28.09.20 19:00:00;0.108246;0.143246;240
28.09.20 19:15:00;0.107673;0.132866;248

This is an example for one specific task only. There are thousands of those with day/weekly seasonality more or less pronounced. Additionally there are filters which restict the messurements to specific geo locations, type of device and departments. They are recorded to ensure the service level aggrement. My student project is to see if I can get additional value out of the data like predict load, detect outliers, see trends etc.

I already tested some models like TBATS and SARIMA and have reasonable results in forecasting (a isolated series). For outlier detection I would like to raise an alert if the forcast of the averaged values leaves the interval between prediction +- standard derivation of the orignal data. (Is this a good stategy?). Sarima (as I use it at the moment) only takes into account the already averaged values so the spread is significantly less than in the raw data. What is the best Strategy to handle this?

  • Should I forecast the standard deviation as a seperate time series
  • or should I forecast something like timeseries + stddev

I am very grateful for some hints or references to papers/documents/books on that matter - my own search did not yield something useful so I guess I use the wrong terminology.

Thank you for your help. p.s.: (my implementation is in python using (pandas, statsmodels...)

edited: to clarify question, sample data

furter question: How well will the solution scale if I want to apply it to all filters, Transactions all at once?

$\endgroup$
2
  • 1
    $\begingroup$ To be clear, you have multiple measurements which are taken at the same point in time, and you then average over measurements at the same time? If so, you can use a state space model (including ARIMA) with multiple observations at each time instead of first averaging your data. $\endgroup$
    – Chris Haug
    Sep 23, 2020 at 11:53
  • $\begingroup$ thank you very much for your remark it was definitely not clear. I updated the question to include the measurement information. $\endgroup$
    – pmgast
    Sep 29, 2020 at 10:17

1 Answer 1

0
$\begingroup$

You can directly model the standard deviation of the time series with Generalized Autoregressive conditional heteroskedasticity (GARCH) model. This models the residuals obtained from the point forecasting model (SARIMA for example). After ensuring that your in-sample residuals are not correlated, you can fit an $GARCH(1,1)$ model. For python you can use this package, but it does only a few GARCH-type models are included. The Econometric Toolbox in MATLAB offers a more comprehensive collection of models.

You mention that the series is temporally aggregated (averaged). This is typical in many applications, such as electricity load forecasting. I would differentiate between forecast error, $ie$ error in the prediction of averaged values, and variability, $ie$ the deviation within each time period. In the simplest case, you only care about the averaged values and ignore the variability. It is reasonable that the averaged values will have significant less deviation than the raw data, since variability is mitigated through temporal aggregation.

$\endgroup$
1
  • $\begingroup$ Thank you for your remark. You are of cause right about the averaging reducing the deviation in the prediction. In my application I also think about outlier detection so I would like to retain the information about the real spread. I upated the question accordingly. Thank you also for the links. I did not know GARCH before. I will take a look at it! $\endgroup$
    – pmgast
    Sep 29, 2020 at 10:24

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.