to the list of examples

The simpliest Singular Structure Analysis forecasting algorithm

Use one of the following data samples to show the forecast

Contents

file: demo_ssa_forecast

1) electricity consumption

```x = [0.1925 0.2059 0.2731 0.4828 0.7077 0.9331 1.0521 1.0980 1.1000 1.0424 0.9528 0.9129 0.9097 0.8249 0.7598 0.7562 0.7005 0.7156 0.8270 0.8471 0.5891 0.3213 0.1987 0.1732 0.1466 0.1635 0.1892 0.3744 0.5850 0.7753 0.8808 0.9656 0.9297 0.8573 0.8851 0.8724 0.8489 0.8242 0.7763 0.7158 0.6584 0.6521 0.8567 0.8930 0.6392 0.3693 0.2284 0.1793 0.1726 0.1695 0.2098 0.4510 0.6292 0.8091 0.9150 0.9644 0.9509 0.9200 0.9153 0.8913 0.9090 0.9308 0.8675 0.7714 0.6928 0.7089 0.8377 0.8639 0.5720 0.3275 0.1999 0.1613 0.1352 0.1041 0.1456 0.3835 0.6100 0.7426 0.8700 0.9062 0.8766 0.8698 0.9330 0.9349 0.9033 0.8457 0.7573 0.6992 0.6422 0.6323 0.8158 0.8855 0.6103 0.3356 0.2118 0.1000]';
t = [733470 + 0.0417 *(1:length(x))]';
K = 24;   % period
M = 24*3; % forecast horizon
```

2) triangle example

```% x = [1 2 3 2 1 2 3 2 1 2 3]';
% t = [1:length(x)]';
% K = 3;
% M = 6;
```

3) trapezoid example

```% x = [0 0 1 1 0 0 -1 -1 0 0 1 1 0 0 -1 -1]';
% t = [1:length(x)]';
% K = 8;
% M = 10;
```

4) sine example

```% t = linspace(-2*pi,2*pi, 160)';
% x = sin(t) + sin(4*t);
% K = 10;
% M = 120;
```

run the forecasting algorithm

```x1 = ssaMtick(x,M,K); % see comments in the code
```

show the results

```h=figure; hold('on');
t = [t; t(end)+((t(2)-t(1))*[1:M]')];
x = [x; NaN*ones(M,1)];
plot(t',x, 'b-');
plot(t',x1,'r-');
plot(t',x1,'r.');
plot(t',x, 'b.');
plot(t',x, 'b-');
legend('history', 'forecasting');
datetick('x','d')
ylabel('consumption');
xlabel('time');
axis tight
hold off
%saveas(h,'img/ssa_frc_consum.png','png');
close(h);
% end
```