nurhazx Posted October 17, 2022 Share Posted October 17, 2022 Hi, I'm trying to create forecast when the pressure will reach low alarm after last top up (top up indicate with red mark in pic below) Now, I'm temporary using this formula: $signal.agileFilter(10min).forecastLinear(3d, 1 mo) But this formula will calculate the forecast with 3 days ago data, not the last top up. Is there another way to create the forecast based on specific signal value? not a fixed day? Thank you Link to comment Share on other sites More sharing options...
Seeq Team John Brezovec Posted October 17, 2022 Seeq Team Share Posted October 17, 2022 As you've seen, forecastLinear can only take a constant training period (in your case the last three days). In order to get more flexibility than this, you may want to explore using the Prediction tool, using a time counter (time since last top-up) as your input signal. As a similar example, I have a pressure signal that shows several increasing pressure cycles. I want to predict when my pressure is going to reach a certain threshold using only the data from the current run, rather than a fixed training duration. First, I can generate a time counter that we're going to use as the input signal to my prediction tool: timeSince($runs.growEnd(10d), 1h) Where $runs is a condition where each capsule is an individual filter run. In your case you would want to generate a condition where the capsules go from top-up to top-up. The growEnd part of this function ensures the time counter extends into the future. I can then generate a condition that contains only my current filter run using something like this: $runs.join(past().inverse().afterStart(1s),10d,false) Where 10d is the maximum duration a run can last. We can then plug this all into the prediction tool, using our time counter as our input signal, and limiting the prediction to only use data from the Current Run. Now you can use a simple value search to find when your predicted pressure goes above/below a certain threshold. Hope this helps! Link to comment Share on other sites More sharing options...
nurhazx Posted October 18, 2022 Author Share Posted October 18, 2022 Hi John, I already created $runs condition for top-up to top-up and generate the time counter. But the time counter turns out different from yours (pic below) I used the same formula Link to comment Share on other sites More sharing options...
Seeq Team Sharlinda Salim Posted October 18, 2022 Seeq Team Share Posted October 18, 2022 (edited) Hi Nurhaz, You may also book a slot in Seeq Office Hours to discuss further in a call. (https://info.seeq.com/office-hours) Firstly, I observe your condition for the $run can be optimize as the start of the capsule seems slightly off than the peak of your signal. If you could not join the office hour can you share how you create the $run condition. Secondly, did you use exact formula as below including the 10d setting? Your $run seems longer than 10d so you might want to expand that, probably 3mo. timeSince($runs.growEnd(10d), 1h) Edited October 18, 2022 by Sharlinda Salim Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now