Hi all,
I'm trying to implement the popular Triple Exponential Smoothing (Holt-Winters), much like the FORECAST.ETS function in Excel, to predict the next data points in a sequence.
I used the Smooth node for this task, with α=25 (α=0.25) to predict the following seasonal random sequence:
Values:
[0.755154261,0.912094449,0.884490302,0.722404901,0.917280197,0.825058562,0.880320681,0.796308845,0.79255487,0.76197476]
Timeline:
[9:49,9:50,9:51,9:52,9:53,9:54,9:55,9:56,9:57,9:58]
Here's the expected result: (9:59=>0.786928627,10:00=>0.782188051,10:01=>0.777447474
)
Here's what I have so far:
My flow:
[{"id":"9071add5.fb751","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.755154261","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1380,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"8cfa28e1.2d6e88","type":"smooth","z":"f71e5505.8bfbf8","name":"Mean","property":"payload","action":"mean","count":"10","round":"","mult":"single","reduce":true,"x":490,"y":1560,"wires":[["b3061169.2ecb3"]]},{"id":"df715d88.163c4","type":"debug","z":"f71e5505.8bfbf8","name":"","active":true,"tosidebar":true,"console":false,"tostatus":false,"complete":"false","x":790,"y":1600,"wires":[]},{"id":"93b42cdf.d04b3","type":"smooth","z":"f71e5505.8bfbf8","name":"HPF = α","property":"payload","action":"high","count":"25","round":"","mult":"single","reduce":true,"x":500,"y":1640,"wires":[["c9803255.0832d"]]},{"id":"e592ccaa.befed","type":"smooth","z":"f71e5505.8bfbf8","name":"LPF = α","property":"payload","action":"low","count":"25","round":"","mult":"single","reduce":true,"x":500,"y":1600,"wires":[["cef6c815.723e18"]]},{"id":"ce89aa4a.ce84c8","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.912094449","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1420,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"c252aaad.b24838","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.884490302","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1460,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"82e9371c.e17a08","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.722404901","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1500,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"30bf94e0.d792bc","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.917280197","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1540,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"b36d2602.c44c88","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.880320681","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1620,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"7127abe6.7989d4","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.825058562","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1580,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"caabea11.f761a8","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.796308845","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1660,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"5ba5006b.3bc27","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.79255487","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1700,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"2ef04fce.f3cb2","type":"inject","z":"f71e5505.8bfbf8","name":"","topic":"","payload":"0.76197476","payloadType":"num","repeat":"","crontab":"","once":false,"onceDelay":0.1,"x":250,"y":1740,"wires":[["8cfa28e1.2d6e88","e592ccaa.befed","93b42cdf.d04b3"]]},{"id":"c9803255.0832d","type":"change","z":"f71e5505.8bfbf8","name":"hpf","rules":[{"t":"set","p":"topic","pt":"msg","to":"hpf","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":1640,"wires":[["df715d88.163c4"]]},{"id":"cef6c815.723e18","type":"change","z":"f71e5505.8bfbf8","name":"lpf","rules":[{"t":"set","p":"topic","pt":"msg","to":"lpf","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":1600,"wires":[["df715d88.163c4"]]},{"id":"b3061169.2ecb3","type":"change","z":"f71e5505.8bfbf8","name":"mean","rules":[{"t":"set","p":"topic","pt":"msg","to":"mean","tot":"str"}],"action":"","property":"","from":"","to":"","reg":false,"x":630,"y":1560,"wires":[["df715d88.163c4"]]}]
Any idea how to extend this flow make it work for this sequence, and even bigger ones?
all sequences are evenly spaced and varies from 0.01 to 0.99.
Thanks, highly appreciated