Bspcgui: Difference between revisions

From Eigenvector Research Documentation Wiki
Jump to navigation Jump to search
imported>Scott
imported>Scott
 
(15 intermediate revisions by 3 users not shown)
Line 2: Line 2:


=Introduction=
=Introduction=
Batch Statistical Process Control (BSPC) is the analysis of process data where the process is subdivided into "batches" (experiments) and may be further subdivided into "Steps" (sub-divisions of batch indicating processing segments or other divisions of batches). BSPC goes by many names, process monitoring, fault detection, anomaly detection, target detection. Often much is learned from this model and the process of creating it. Methods generally rely on a model that describes normal and/or desirable operation.
Batch Statistical Process Control (BSPC) is the analysis of process data as a function of both correlation among the measured variables and correlation in time (also known as the batch trajectory). The data is subdivided into "batches" (experiments) each of which may be further subdivided into "Steps" (sub-divisions of batch indicating processing segments or other divisions of batches). BSPC goes by many names, process monitoring, fault detection, and anomaly detection, to name a few. Methods generally rely on a model that describes normal and/or desirable operation. Often much is learned about the process from simply the creation of a model. Given a process model, future operating data can be compared to the model to determine if the process condition is nominal.


=Raw Data=
The BSPC interface is available in Solo or the PLS_Toolbox browser window in the "Analysis Tools" panel under the "TRANSFORM" label as "Batch Processor". This interface prompts the user to select a type of analysis method they want to do, then guides the user through the steps necessary to use that method including:
# Importing and organizing the batch data
# Assuring the batch and step labels (if desired) are assigned
# Aligning the time axes of the batches (if needed for the specific analysis method)
# Choosing other data manipulation settings as needed for the method
# Rearranging the data to the appropriate format for the specific analysis method using the [[batchfold]] function
 
=Getting Started=
Data is derived directly from process data with the goal being to summarize high-dimensional data with a handful of factors that capture important directions in the data. Success is highly dependent upon the quantity and quality of process data.
Data is derived directly from process data with the goal being to summarize high-dimensional data with a handful of factors that capture important directions in the data. Success is highly dependent upon the quantity and quality of process data.


Raw data is presumed to be in a 2 dimensional dataset with Variables as columns.
Raw data is presumed to be in a 2 dimensional DataSet with rows being samples in time and columns being variables.


[[Image:bspc_data_config.png|200px|Data Configuration]]
[[Image:bspc_data_config.png|200px|Data Configuration]]


===Model Types===
===Model Types===
The following describes the model types available as targets of the BSPC processing. The dimensions of the resulting processed data and other considerations are listed along with a brief description of the unique characteristics of the model type.


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 17: Line 26:
! Model !! Modes (Dimensions) !! Equal Length Batches !! Steps Aligned !! Data Shape !! Model Comments
! Model !! Modes (Dimensions) !! Equal Length Batches !! Steps Aligned !! Data Shape !! Model Comments
|-
|-
| Summary PCA || 2 || No || No || Batch x (Step/Summary) || PCA on summary statistics of variables over time
| Summary PCA || 2 || No || No || Batch x (Step/Summary) || PCA on statistics summarizing the change in measured variables over the batch progress. Less sensitive to specific batch trajectory.
|-
|-
| [[Batchmaturity|Batch Maturity]] || 2 || No || No || (Batch/Step) x Variable, Can have Y-Block to indicate maturity || PCA with heterogeneous confidence limits
| [[Batchmaturity|Batch Maturity]] || 2 || No || No || (Batch/Step) x Variable, Can have Y-Block to indicate maturity || PCA with heterogeneous confidence limits based on percent progression through batch.
|-
|-
| [[Mpca|MPCA]] || 3 || Yes || Yes || Time (step) x Variable x Batch || Multiway PCA
| [[Mpca|MPCA]] || 3 || Yes || Yes || Time (step) x Variable x Batch || Multiway PCA - captures correlation between variables and their changes through time (trajectory). Very sensitive to trajectory differences.
|-
|-
| [[Parafac|PARAFAC]] || 3 || Yes || Yes || Batch x Variable x Time (step) || Parallel Factor Analysis (multiway)
| [[Parafac|PARAFAC]] || 3 || Yes || Yes || Batch x Variable x Time (step) || Parallel Factor Analysis (multiway). Imposes stronger expectation of similarity between variable trajectories than MPCA.
|-
|-
| Summary PARAFAC || 3 || No || No ||  Batch x Step x Summary || PARAFAC on summary statistics of variables over time
| Summary PARAFAC || 3 || No || No ||  Batch x Step x Summary || PARAFAC on summary statistics of variables over time. Less sensitive to specific batch trajectory, imposes expectation of correlation between steps of process.
|-
|-
| [[Parafac2|PARAFAC2]] || 3 || No || No ||  Cell Array of Batches || PARAFAC with relaxed multiway structures (only available at PLS_Toolbox command line)
| [[Parafac2|PARAFAC2]] || 3 || No || No ||  Cell Array of Batches || PARAFAC with relaxed multiway structures (only available at PLS_Toolbox command line). Much less sensitive to specific batch trajectory than PARAFAC or MPCA.
|}
|}


Line 34: Line 43:
=Batch Processor Window=
=Batch Processor Window=


The goal of the Batch Processor interface is to make it easier to assemble “batch” data for multivariate analysis. Because different analyses and conditions require different data manipulation, assembling data for batch analysis can be very difficult and [[media:Bspc_diagram_roadmap.png |‎ complicated]].
The goal of the Batch Processor interface is to make it easier to assemble batch data for multivariate analysis. Different analyses and conditions require different data manipulation. This interface attempts to simplify the assembling of data for batch analysis which might otherwise be [[media:Bspc_diagram_roadmap.png |‎ very complicated]].
 
The workflow of the interface moves from left to right across the tabs at the top of the interface. Loading data and choosing an Analysis Type will enable relevant tabs. Clicking the '''Next''' button will open the next enabled tab. Batches and steps are defined, then alignment and summary information is added. When finished, "folded" data can be saved or exported to the [[Analysis GUI|analysis]] interface and a model for folding new data can be saved.


[[Image:BSPCGUI main.png| BSPC GUI]]
[[Image:BSPCGUI main.png| BSPC GUI]]
The workflow of the interface flows from left to right. Loading data and choosing an Analysis Type will enable relevant tabs. Clicking the '''Next''' button will open the next enabled tab. Batches and steps are defined then alignment and summary information is added. When finished, "folded" data can be saved or exported to the [[Analysis GUI|analysis]] interface and or a model for folding new data can be saved.


==Start==
==Start==
Line 49: Line 58:


==Batch==
==Batch==
Indicate source of Batch information in loaded dataset. Sources can be Class, Label, or Axisscale sets or a single Variable (column). If manually Loaded then a class is created. If the dataset contains a class with the default name of "BSPC Batch" then it will be automatically selected after loading.
Indicates which samples belong to which batch based on information in the loaded DataSet. Sources can be Class, Label, or Axisscale sets, or a single Variable (column). If manually loaded, a class is created from the loaded content. If the DataSet contains a class with the default name of "BSPC Batch" then it will be automatically selected after loading.


* If variable is used, data for that column will be excluded (not deleted) so other mechanisms (preprocessing) can work.
* If variable is used, data for that column will be excluded (not deleted) so other mechanisms (preprocessing) can work.
* Once Batches have been identified, one or more batches can be plotted in the lower plot.
* Once Batches have been identified, one or more batches can be plotted in the lower plot.
All methods, except [[batchmaturity|Batch Maturity]] require defining a means to identify the different batches because these are used to form the samples of the input matrices (and multiple samples are required for all methods other than Batch Maturity).


==Steps==
==Steps==
Steps (subdivisions of batches) can be indicated on the '''Steps''' tab. Steps can be created in the same manor as '''Batches''' or indicated manually.
Steps (subdivisions of batches) can be indicated on the '''Steps''' tab. Steps can be created in the same manor as '''Batches''' or indicated manually. Particular steps to be included or excluded can be selected.


Manual selection is done by selecting a primary variable and batch to align '''to''' then designating '''steps''' for the primary variable/batch. After the steps are set the [[batchalign]] function is used to "map" step location (as dataset class) for each batch.
Manual selection is done by selecting a primary variable and batch to align '''to''' then designating '''steps''' for the primary variable/batch. After the steps are set the [[batchalign]] function is used to "map" step location (as dataset class) for each batch.
Line 84: Line 95:
Methods that require equal length batches use the tools available on the '''Align''' tab from the [[batchalign]] function.
Methods that require equal length batches use the tools available on the '''Align''' tab from the [[batchalign]] function.


[[Image:bspc_align_settings.png|Align Settings ]]
The process to configure the alignment is:
 
NOTE: In the image above, the alignment batch is Class 0 (the default) which has no members. This must be changed before alignment will work.


# Select the type of alignment.
# Select the type of alignment:
# Select the Batch and Variable or Load a vector.
#* '''Linear''' - Linear interpolation or decimation to match selected batch's length.
# Select COW settings if using COW.
#* '''COW''' - [[cow|Correlation Optimized Warping]] with Alignment Settings values.
#* '''Pad With NaN''' - Append each batch with NaN to make all batches equal length.
# Select the Batch and Variable to use as a reference (target) or Load a vector.
# Select alignment settings (if using COW).
# Click Update Plot to see the results.
# Click Update Plot to see the results.


Alignment Types:
The plots switch to displaying selected variables and batches with the pre-aligned data on top and post-aligned data on the bottom. Click the '''Update Plots''' button to refresh the plot after making any changes.


* '''Linear''' - Linear interpolation based on selected variable and batch.
[[Image:bspc_align_settings.png|Align Settings ]]
* '''COW''' - [[cow|Correlation Optimized Warping]] with Alignment Settings values.
* '''Pad With NaN''' - Infill with NaN to make equal length.


Plots switch to displaying selected variables and batches pre aligned on top and post align on bottom. Must click '''Update Plots''' button to refresh plot.
NOTE: In the image above, the alignment batch is Class 0 (the default) which has no members. This must be changed before alignment will work.


==Summarize==
==Summarize==


Available summary statistics as calculated by [[summary]] function.
The summary PCA and summary PARAFAC methods make use of statistical summary functions to capture the trends in the trajectories of the variables. A Summary PCA or Summary PARAFAC model does not require alignment of batches and is generally less sensitive to the exact trajectory of the batches, providing some model robustness.
 
The statistics are calculated by the [[summary]] function and have different sensitivities to profile changes. The ability of each statistic to capture useful information from a trajectory depends on the dynamics and the statistic. Often it is useful to include a number of the statistics and decide, while modeling, which seem to be providing information and excluding the remaining statistics. If the statistics are sufficiently sensitive to the trajectory profile as to provide detection of out-of-specification batches, then the model will likely provide longer-term performance over an equivalent MPCA or PARAFAC model.
 
The statistics which are available include:


[[Image:Bspc_summarize.png|Summary Options]]
[[Image:Bspc_summarize.png|Summary Options]]


All stats summarize each column except for:
All stats summarize each column and each step (if specified) except for:
* '''Length''' Length of steps, single number.
* '''Length''' Length of step = a single number for each step (irrespective of number of variables).
* '''Five-Number Summary''' 10, 25, 50, 75, 90th percentile, 5 values per step.
* '''Five-Number Summary''' 10, 25, 50, 75, 90th percentile = 5 values per step per variable.


For example with the [[Demonstration_Datasets | Dupont]] demo calibration data (dupont_cal), if you choose mean, std, slope, skewness, and length the size of your folded summary pca data will be:
For example with the [[Demonstration_Datasets | Dupont]] demo calibration data (dupont_cal), if you choose mean, std, slope, skewness, and length the size of your folded summary pca data will be:

Latest revision as of 10:21, 6 September 2017

Introduction

Batch Statistical Process Control (BSPC) is the analysis of process data as a function of both correlation among the measured variables and correlation in time (also known as the batch trajectory). The data is subdivided into "batches" (experiments) each of which may be further subdivided into "Steps" (sub-divisions of batch indicating processing segments or other divisions of batches). BSPC goes by many names, process monitoring, fault detection, and anomaly detection, to name a few. Methods generally rely on a model that describes normal and/or desirable operation. Often much is learned about the process from simply the creation of a model. Given a process model, future operating data can be compared to the model to determine if the process condition is nominal.

The BSPC interface is available in Solo or the PLS_Toolbox browser window in the "Analysis Tools" panel under the "TRANSFORM" label as "Batch Processor". This interface prompts the user to select a type of analysis method they want to do, then guides the user through the steps necessary to use that method including:

  1. Importing and organizing the batch data
  2. Assuring the batch and step labels (if desired) are assigned
  3. Aligning the time axes of the batches (if needed for the specific analysis method)
  4. Choosing other data manipulation settings as needed for the method
  5. Rearranging the data to the appropriate format for the specific analysis method using the batchfold function

Getting Started

Data is derived directly from process data with the goal being to summarize high-dimensional data with a handful of factors that capture important directions in the data. Success is highly dependent upon the quantity and quality of process data.

Raw data is presumed to be in a 2 dimensional DataSet with rows being samples in time and columns being variables.

Data Configuration

Model Types

The following describes the model types available as targets of the BSPC processing. The dimensions of the resulting processed data and other considerations are listed along with a brief description of the unique characteristics of the model type.

BSPC Model Types
Model Modes (Dimensions) Equal Length Batches Steps Aligned Data Shape Model Comments
Summary PCA 2 No No Batch x (Step/Summary) PCA on statistics summarizing the change in measured variables over the batch progress. Less sensitive to specific batch trajectory.
Batch Maturity 2 No No (Batch/Step) x Variable, Can have Y-Block to indicate maturity PCA with heterogeneous confidence limits based on percent progression through batch.
MPCA 3 Yes Yes Time (step) x Variable x Batch Multiway PCA - captures correlation between variables and their changes through time (trajectory). Very sensitive to trajectory differences.
PARAFAC 3 Yes Yes Batch x Variable x Time (step) Parallel Factor Analysis (multiway). Imposes stronger expectation of similarity between variable trajectories than MPCA.
Summary PARAFAC 3 No No Batch x Step x Summary PARAFAC on summary statistics of variables over time. Less sensitive to specific batch trajectory, imposes expectation of correlation between steps of process.
PARAFAC2 3 No No Cell Array of Batches PARAFAC with relaxed multiway structures (only available at PLS_Toolbox command line). Much less sensitive to specific batch trajectory than PARAFAC or MPCA.

See Also: Batch Maturity, MPCA, MSPC, PARAFAC, PARAFAC2

Batch Processor Window

The goal of the Batch Processor interface is to make it easier to assemble batch data for multivariate analysis. Different analyses and conditions require different data manipulation. This interface attempts to simplify the assembling of data for batch analysis which might otherwise be ‎ very complicated.

The workflow of the interface moves from left to right across the tabs at the top of the interface. Loading data and choosing an Analysis Type will enable relevant tabs. Clicking the Next button will open the next enabled tab. Batches and steps are defined, then alignment and summary information is added. When finished, "folded" data can be saved or exported to the analysis interface and a model for folding new data can be saved.

BSPC GUI

Start

Load, append, edit, and or clear data. Selecting the Analysis type will automatically enable/disable relevant tabs.

  • Dropping data onto the status area will load data. If previously loaded data exists, a prompt for overwrite or augment will appear.
    • If augment is chosen, two options will be given, augment as new batch or not. Augment as new batch adds a class for the data being augmented otherwise a "normal" augment will occur and if the new dataset has a matching class it will be merged.
  • Dragging and dropping multiple-selected (Excel) files from the system browser (e.g., Windows Explorer or Finder) will pre-augment the files and create a label indicating file name. This label can be used to identify batches in the Batches tab.
  • Data can be edited in the DataSet Editor by clicking the Edit button. Editing will cause the model to be cleared.

Batch

Indicates which samples belong to which batch based on information in the loaded DataSet. Sources can be Class, Label, or Axisscale sets, or a single Variable (column). If manually loaded, a class is created from the loaded content. If the DataSet contains a class with the default name of "BSPC Batch" then it will be automatically selected after loading.

  • If variable is used, data for that column will be excluded (not deleted) so other mechanisms (preprocessing) can work.
  • Once Batches have been identified, one or more batches can be plotted in the lower plot.

All methods, except Batch Maturity require defining a means to identify the different batches because these are used to form the samples of the input matrices (and multiple samples are required for all methods other than Batch Maturity).

Steps

Steps (subdivisions of batches) can be indicated on the Steps tab. Steps can be created in the same manor as Batches or indicated manually. Particular steps to be included or excluded can be selected.

Manual selection is done by selecting a primary variable and batch to align to then designating steps for the primary variable/batch. After the steps are set the batchalign function is used to "map" step location (as dataset class) for each batch.

Manually Selecting Steps

Manual Selection Interface

To manually select steps:

  1. Select the variable and batch to use from the plot list boxes at the bottom of the interface. These will become the variable and batch to which all others are aligned to (designated by a "*" next to the list item.
  2. Click the Select button and the interface will switch.
  3. Click the Add button to place the first step marker.
  4. Drag this marker to the first step location.
  5. Repeat until all steps are placed.
  6. Select different batch from list menu to display "aligned" step position.
  7. Adjust alignment algorithm as needed using toolbar button.
  8. Click check-mark button to finish and save steps.

Selected Steps Menu

Bspc selected steps.png

Once steps have been designated, they will appear the Step Selection list. If one or more steps should be ignored they can be deselected in this menu. Selected steps will appear in the batch plot as solid green lines and unselected steps appear as red dashed lines.

Align

Methods that require equal length batches use the tools available on the Align tab from the batchalign function.

The process to configure the alignment is:

  1. Select the type of alignment:
    • Linear - Linear interpolation or decimation to match selected batch's length.
    • COW - Correlation Optimized Warping with Alignment Settings values.
    • Pad With NaN - Append each batch with NaN to make all batches equal length.
  2. Select the Batch and Variable to use as a reference (target) or Load a vector.
  3. Select alignment settings (if using COW).
  4. Click Update Plot to see the results.

The plots switch to displaying selected variables and batches with the pre-aligned data on top and post-aligned data on the bottom. Click the Update Plots button to refresh the plot after making any changes.

Align Settings

NOTE: In the image above, the alignment batch is Class 0 (the default) which has no members. This must be changed before alignment will work.

Summarize

The summary PCA and summary PARAFAC methods make use of statistical summary functions to capture the trends in the trajectories of the variables. A Summary PCA or Summary PARAFAC model does not require alignment of batches and is generally less sensitive to the exact trajectory of the batches, providing some model robustness.

The statistics are calculated by the summary function and have different sensitivities to profile changes. The ability of each statistic to capture useful information from a trajectory depends on the dynamics and the statistic. Often it is useful to include a number of the statistics and decide, while modeling, which seem to be providing information and excluding the remaining statistics. If the statistics are sufficiently sensitive to the trajectory profile as to provide detection of out-of-specification batches, then the model will likely provide longer-term performance over an equivalent MPCA or PARAFAC model.

The statistics which are available include:

Summary Options

All stats summarize each column and each step (if specified) except for:

  • Length Length of step = a single number for each step (irrespective of number of variables).
  • Five-Number Summary 10, 25, 50, 75, 90th percentile = 5 values per step per variable.

For example with the Dupont demo calibration data (dupont_cal), if you choose mean, std, slope, skewness, and length the size of your folded summary pca data will be:

10 variables x 4 stats + length = 41 values per step * 5 steps = 205 columns

Finish

When completed there are 4 options:

  • Send data directly to a new Analysis window.
  • Save the data to the workspace.
  • Save a model for future data application. NOTE: In some more complicated instances (loading outside information) the model may not be able to fully capture each step taken in the interface.
  • Cancel and close the window.