cancel
Showing results for 
Search instead for 
Did you mean: 
cancel
Showing results for 
Search instead for 
Did you mean: 

Community Tip - Visit the PTCooler (the community lounge) to get to know your fellow community members and check out some of Dale's Friday Humor posts! X

Operationalize an Analytics Model Guide Part 1

No ratings

 

Operationalize an Analytics Model Guide Part 1

 

Overview

 

This project will introduce ThingWorx Analytics Manager. Following the steps in this guide, you will learn how to deploy the model which you created in the earlier Builder guide. We will teach you how to utilize this deployed model to investigate whether or not live data indicates a potential engine failure. NOTE: This guide’s content aligns with ThingWorx 9.3. The estimated time to complete ALL 2 parts of this guide is 60 minutes. 

 

Step 1: Analytics Architecture

 

You can leverage product-based analysis Models developed using PTC and third-party tools while building solutions on the ThingWorx platform.

  • Use simulation as historical basis for predictive Models

  • Create a virtual sensor from simulation

  • Design-time versus operational-time intelligence

It is important to understand how Analytics Manager interacts with the ThingWorx platform.

 

Build Model

 

In an IoT implementation, multiple remote Edge devices feed information into the ThingWorx Foundation platform. That information is stored, organized, and operated-upon in accordance with the application's Data Model. Through Foundation, you will upload your dataset to Analytics Builder. Builder will then create an Analytics Model.


 

Analytics_BuildModel.png

 

Operationalize Model

 

Analytics Manager tests new data through the use of a Provider, which applies the Model to the data to make a prediction. The Provider generates a predictive result, which is passed back through Manager to ThingWorx Foundation. Once Foundation has the result, you can perform a variety of actions based on the outcome. For instance, you could set up Events/Subscriptions to take immediate and automatic action, as well as alerting stakeholders of an important situation.


 
Analytics_OperationalizeModel.png

 

 

Step 2: Simulate Data Source

 

For any ThingWorx IoT implementation, you must first connect remote devices via one of the supported connectivity options, including Edge MicroServer (EMS), REST, or Kepware Server.

Edge Connectivity is outside the scope of this guide, so we'll use a data simulator instead.

This simulator will act like an Engine with a Vibration Sensor, as described in Build a Predictive Analytics Model.

  • This data is subdivided into five frequency bands, s1_fb1 through s1_fb5.
  • From this data, we will attempt to predict (through the engine's vibrations) when a low grease emergency condition is occuring.

 

Import Entities

 

Import the engine simulator into your Analytics Trial Edition server.

  1. Download and unzip the attached amqs_entities.zip file.
  2. At the bottom-left of ThingWorx Composer, click Import/Export > Import.
    Step 2 Import Entities Step 2.png
     

     

  3. Keep the default options of From File and Entity, click Browse, and select the amqs_entities.twx file you just downloaded.
    Step 2 Import Entities Step 3.png
     
  4. Click Import, wait for the Import Successful message, and click Close.
    Step 2 Import Entities Step 4.png

     

  5. From Browse > All, select AMQS_Thing from the list.
    Step 2 Import Entities Step 5.png
     
  6. At the top, click Properties and Alerts to see the core functionality of the simulator.

    Step 2 Import Entities Step 6.png

NOTE: The InfoTable Property is used to store data corresponding to the s1_fb1 through s1_fb5 frequency bands of the vibration sensor on our engine. The values in this Property change every ten seconds through a Subscription to the separate AMQS_Timer Thing. The first set of values are good, in that they do NOT correspond to a low grease condition. The second set of values are bad, in that they DO correspond to a low grease condition. These values will change whenever the ten-second timer fires.

 

View Mashup

 

We have created a sample Mashup to make it easier to visualize the data, since analyzing data values in the Thing Properties is cumbersome. Follow these steps to access the Mashup.

  1. On the ThingWorx Composer Browse > All tab, click AMQS_Mashup.
    Step 2 View Mashup Step 1.png

     

  2. At the top, click View Mashup.
    Step 2 View Mashup Step 2.png

     

  3.  Observe the Mashup for at least ten-seconds.

    • You'll see the values in the Grid Advanced Widget change from one set to another at each ten-second interval.

IoTProductMgmt_9-1659233831042.png

 

 

NOTE: These values correspond to data entries from the vibration dataset we utilized in the pre-requisite Analytics Builder guide. Specifically, the good entry is number 20,040... while the bad entry is number 20,600. You can see in the dataset that 20,400 corresponds to a no low grease condition, while 20,600 corresponds to a yes, low grease condition.

 

Step 3: Configure Provider

 

In ThingWorx terminology, an Analysis Provider is a mathematical analysis engine.

Analytics Manager can use a variety of Providers, such as Excel or Mathcad.

In this quickstart, we use the built-in AnalyticsServerConnector, an Analysis Provider that has been specifically created to work seamlessly in Analytics Manager and to use Builder Models.

  1. From the ThingWorx Composer Analytics tab, click ANALYTICS MANAGER > Analysis ProvidersNew....
    IoTProductMgmt_10-1659233831044.png

     

  2. In the Provider Name field, type Vibration_Provider.
  3. In the Connector field, search for and select TW.AnalysisServices.AnalyticsServer.AnalyticsServerConnector.
    IoTProductMgmt_11-1659233831045.png

     

4. Leave the rest of the options at default and click Save.

IoTProductMgmt_12-1659233831047.png

 

Step 4: Publish Analysis Model

 

Once you have configured an Analysis Provider, you can publish Models from Analytics Builder to Analytics Manager.

  1. On the ThingWorx Composer Analytics tab, click ANALYTICS BUILDER > Models.
    IoTProductMgmt_13-1659233831049.png

     

  2. Select vibration_model_s1_only and click Publish.
    IoTProductMgmt_14-1659233831050.png

     

  3. On the Publish Model pop-up, click Yes.
    • A new browser tab will open with the Analytics Manager's Analysis Models menu.

     4. Close that new browser tab, and instead click Analytics Manager > Analysis Models in the ThingWorx Composer Analytics navigation.

  • This is the same interface as the auto-opened tab which you closed.

IoTProductMgmt_15-1659233831052.png

 

False Test

 

It is recommended to test the published Model with manually-entered sample data prior to enabling it for automatic analysis. For this example, we will use entry 20,400 from the vibration dataset. If the Model is working correctly, then it will return a no low grease condition.

  1. In Analysis Models, select the model you just published and click View.
    IoTProductMgmt_16-1659233831055.png

     

  2. Click Test.
    IoTProductMgmt_17-1659233831058.png

     

  3. In the causalTechnique field, type FULL_RANGE.
  4. In the goalField field, type low_grease.
  5. For _s1_fb1 through _s1_fb5, enter the following values:

Data Row Name

Data Row Value

_s1_fb1

161

_s1_fb2

180

_s1_fb3

190

_s1_fb4

176

_s1_fb5

193

Step 4 False Test Step 5.png

6. Click Add Row.

7. Select the newly-added row in the top-right, then click Set Parent Row.
IoTProductMgmt_19-1659233831062.png

8. Click Submit Job.
IoTProductMgmt_20-1659233831065.png

9. Select the top entry in the bottom-left Results Data Shape field.

10. Click Refresh Job.

    • Note that _low_grease is false and and _low_grease_mo is well below 0.5 (the threashold for a true prediction).

IoTProductMgmt_21-1659233831068.png

 

You have now successfully submitted your first Analytics Manager job and received a result from ThingPredictor. ThingPredictor took the published Model, used the no low grease data as input, and provided a correct analysis of false to our prediction.

 

True Test

Now, let's test a true condition where our engine grease IS LOW, and confirm that Analytics Manager returns a correct prediction.

  1. In the top-right, select the false data row we've already entered and click Delete Row.
    IoTProductMgmt_22-1659233831071.png
  2. For _s1_fb1 through _s1_fb5, change to the following values:

Data Row Name

Data Row Value

_s1_fb1

182

_s1_fb2

140

_s1_fb3

177

_s1_fb4

154

_s1_fb5

176

3. Select the top entry in the bottom-left Results Data Shape field.

4. Click Refresh Job.

    • Note that _low_grease is true and and _low_grease_mo is above 0.5.

IoTProductMgmt_24-1659233831076.png       

        5. Click Submit Job.

        6. Select the top entry in the bottom-left Results Data Shape field.

        7. Click Refresh Job.

    • Note that _low_grease is true and and _low_grease_mo is above 0.5.

        Step 5 True Test Step 7.png

You've now manually submitted yet another job and received a predictive score.

Just like in the dataset Entry 20,600, Analytics Manager predicts that the second s1_fb1 through s1_fb5 vibration frequencies correspond to a low grease condition which needs to be addressed before the engine suffers catastrophic failure.

 

Enable Model

 

Since both false and true predictions made by the Model seem to match our dataset, let's now enable the Model so that it can be used for automatic predictions in the future.

  1. In the top-left, expand the Actions... drop-down box.
    IoTProductMgmt_25-1659233831079.png

     

  2. Select Enable.

IoTProductMgmt_26-1659233831081.png

 

 

Click here to view Part 2 of this guide. 

 

Version history
Last update:
‎Nov 15, 2022 04:10 PM
Updated by:
Labels (2)
Attachments
Contributors