Jump to content

Recommended Posts

  • Seeq Team

When performing certain types of analysis, it is desirable to combine past measured data with some future prediction, whether that prediction is dynamic or static. Future predicted data can be used for degradation or maintenance date predictions, future performance modeling, signal forecasting, or a wide variety of other potential use cases. Combining some future data with a measured signal is simple in Seeq! Another major benefit? As new data comes in the predicted values can be automatically updated with the actual data! 

Here is one way to join past measured data with some future forecast signal.


To combine measured and forcasted data we will need:

  • Measured Data - a signal(s) that will replace the predicted signal as it becomes available
  • Prediction / Forecast Signal - This could be a flat signal entered in formula, a signal developed in the prediction tool, or some other signal that extends out into the future

Method for Combining the Signals

1. Create Future Data Valid Condition
This Condition defines the period of time in which the Forcasted signal will be spliced into the Measured Data signal. The formula is based on the last known measured time stamp. In formula we will create a condition by inputting the code snippet below and calling it $validPlanningRange


/* Define the period when planning data should be used.
This time period will start at now (i.e., the last available measured
data point) and extend to some point in the future. */
//Define a search window to look for now, This must have a past time to start in, and a future time to look through
$searchPeriod = capsule('2018-08-01T00:00-08:00', '2020-01-01T00:00-08:00')
//Identify now by finding the last available measured time stamp
$now = $measuredData.toGroup($searchPeriod).last().getKey()
//Create a condition representing now to now plus 6 months
$nowCapsule = capsule($now, $now + 6 months)
condition(7 months, $nowCapsule)

Variable Descriptions

$searchPeriod - Capsule defining the search window which will be used to located the most recent data point. For best performance, the start date should be periodically updated to limit the number of measured data points which will be returned. The end date can be set way into the future.
$now - Date representing the point in time where the combined signal we are creating will switch from historical to future data.
$nowCapsule - This creates a capsule which is then made into a condition for use in the next step Create Combined Signal. For maximum performance, recommend keeping the capsule length to the minimum necessary duration (e.g., don't add 1 year if only 6 months is the standard analysis window).

2. Create a Combined Master Signal
Once again, in formula we will input the code below to create a new signal that is the combination of the Measured Data and a Forcast Signal



The result is one signal that combines our Measured Data and a Forecast Signal:



The Master Signal appears as dashed line whereas the measured data appears as a solid line. The dashed line indicates the signal is uncertain and therefore, expected to change. 

3. Make sure the Master Signal is Auto-Updating

By default when the page is loaded or the time range adjusted, the Master Signal will be recalculated and any new data from the Measured Signal will replace the Forecast Signal.

Additionally, the analysis can be set to Auto Update.


Link to comment
Share on other sites

  • Seeq Team

The above method for combining a Forecast Signal and a Measured Signal should work in any release of Seeq. New in R21 of Seeq however, we have the "forecastSplice()" function which greatly simplifies the workflow. 

As before, we need a Measured Data signal and some Forecast Signal that will be combined with the Measured Data. 

The Seeq R21 and later workflow:

1. Create the Master Signal

In formula, use the new forecastSplice() operator to join the Measured Data and the Forecast Signal

The Master Signal now appears as solid line where points are known, and dashed line where the points are still uncertain and expected to change. This is slightly different from the view shown above where the entire Master Signal was dashed due to uncertainty of future data. This helps the Seeq user to visually see where the Measured Data ends and where our Forecast Signal begins. Just as the above formula, the forecastSplice() will update as new data comes in


Another operator, forecastConstant() was also introduced with R21. This would do something similar to what is shown above, however, instead of combining the Forecast Signal with the Measured Data, forecastConstant() would project the last value for the Measured Data into the future for some specified amount of time i.e. 


would create a Master Signal where the forecast is projected 1 day into the future:



2. Make sure the Master Signal is Auto-Updating

Same as in the prior post

  • Like 2
Link to comment
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...