Boon Amber Model Filter

The foglamp-filter-amber filter allows data to be passed to an instance of the Amber from Boon Logic for creation and execution of a Boon model. Amber detects anomalies in complex assets and environments by autonomously training for the normal instead of the abnormal.

Operational Principle

Each FogLAMP asset that is received by the filter will create a sensor within Amber, the datapoints of the asset become the features in the Amber sensor. Therefore a model will be created on a per asset basis, if multiple items need to be correlated within a model they should be placed into the same asset before being passed to this filter. Any items that are to be excluded from the model should be removed from the asset using an upstream filter such as the Asset filter. Alternatively, a filter such as the Single Asset Model filter can be used to create readings select values from one or more readings to create the required asset model.

The model will add two datapoints to the readings it receives and pass those readings onward. The two items are names with a prefix of amber: and are the state of the model and the anomaly_index created by running the data through the model.

If the following reading is received:

{
  "reading": {
    "rpm": 486,
    "x": 0,
    "depth": 40,
    "state": "Spining Down",
  },
  "timestamp": "2024-10-15 09:57:30.362620"
}

The reading that will be sent onward by the filter will be:

{
  "reading": {
    "rpm": 486,
    "x": 0,
    "depth": 40,
    "state": "Spining Down",
    "amber:state": "Monitoring",
    "amber:progress": 14,
    "amber:clusterCount": 0,
    "amber:ID": 0,
    "amber:SI": 0,
    "amber:AD": 0,
    "amber:AH": 0,
    "amber:AM": 0,
    "amber:AW": 0,
    "amber:NI": 0,
    "amber:NS": 0,
    "amber:NW": 0,
    "amber:OM": 0,
    "amber:CS": 100,
    "amber:RCA_rpm": 0,
    "amber:RCA_x": 0,
    "amber:RCA_depth": 0
  },
  "timestamp": "2024-10-15 09:57:30.362620"
}

A filter may also be placed upstream of the Amber filter to reduce the data passed onwards, either removing the inouts to the model or any unwanted metrics from the result of the model. Again, the Asset and Single Asset Model filters are good candidates for this.

Configuration

Amber filters are created in much the same way that any other filter is created, in FogLAMP. A configuration screen will be displayed during the creation process that allows a small number of parameters to be set to tailor the model.

Naming

amber_1

  • Model Name The Model Name is simply a string to identify the model with and to prevent the possibility of multiple filters sharing the same sensor. Since the filter Will use the name of the asset to create a sensor, and each sensor name must be unique within an Amber instance, the Model Name is used as a prefix when creating an Amber sensor. If we have an asset called pump1 and we name our model Cavitation, our Amber sensor will be called Cavitation:pump1.

    If we change the model name for a running filter we will create a new sensor and the model will go back to its initial learning state. The previous sensor will not be deleted when we change the model name and therefore if we change the model name back to the previous nae we will again use the previous sensor and the learning process that was done with that previous sensor will have been retained.

Model Tuning

amber_2

  • Max Learning Samples The Max Learning Samples sets the parameter within Amber that tells it to move to Monitoring state after it has observed this number of samples sent to the sensor.

  • Auto Tuning Samples

  • Learning Rate Numerator A model transitions from learning to monitoring mode if fewer than this number of new clusters are opened in the last Learning Rate Denominator samples.

  • Learning Rate Denominator The number of data samples used in conjunction with Learning Rate Numerator when deciding if the model can transition.

  • Streaming Window Configuration Set the size of the streaming window either by applying the default value for single and multiple feature models or by allowing it to be manually set.

  • Streaming Window Size Set the streaming window to a manual value. The streaming window size is used to determine how many consecutive values are considered when evaluating a model. Effectively controlling the influence of history on the model. If multiple data points are used in a model then this would normally be set to 1. If a single data point is used then the history if the value is important, so the value should be greater than 1.

License

amber_3

  • Username Amber API username. This is used to authenticate with the Amber API and is stored in ~/.Amber.license.

  • Password Amber API password. This is used to authenticate with the Amber API and is stored in ~/.Amber.license.

  • Server Amber API server URL. This specifies the URL of the Amber API server and is stored in ~/.Amber.license.

See Also

foglamp-filter-ADM_LD_prediction - Filter to detect whether a large discharge is required for a centrifuge

foglamp-filter-asset - A FogLAMP processing filter that is used to block or allow certain assets to pass onwards in the data stream

foglamp-filter-breakover - Filter to forecast the a pending breakover event in a centrifuge.

foglamp-filter-change - A FogLAMP processing filter plugin that only forwards data that changes by more than a configurable amount

foglamp-filter-conditional-labeling - Attach labels to the reading data based on a set of expressions matched against the data stream.

foglamp-filter-delta - A FogLAMP processing filter plugin that removes duplicates from the stream of data and only forwards new values that differ from previous values by more than a given tolerance

foglamp-filter-edgeml - Filter which takes image data, calls out to ML process, and forwards the inference from ML as asset contents.

foglamp-filter-enumeration - A filter to map between symbolic names and numeric values in a datapoint.

foglamp-filter-metadata - A FogLAMP processing filter plugin that adds metadata to the readings in the data stream

foglamp-filter-normalise - Normalise the timestamps of all readings that pass through the filter. This allows data collected at different rate or with skewed timestamps to be directly compared.

foglamp-filter-rate - A FogLAMP processing filter plugin that sends reduced rate data until an expression triggers sending full rate data

foglamp-filter-vibration_features - A filter plugin that takes a stream of vibration data and generates a set of features that characterise that data