Skip to main content

PDStoolkit

Table of Contents

  1. Project Description
  2. Documentation & Tutorials
  3. Package Contents
  4. Installation
  5. Usage

Description

The PDStoolkit (Process Data Science Toolkit) package has been created to provide easy-to-use modules to help quickly build data-based solutions for process systems such as those for process monitoring, modeling, fault diagnosis, system identification, etc. Current modules in the package are wrappers around pre-existing Sklearn's classes and provide several additional methods to facilitate a process data scientist's job. Details on these are provided in the following section. More modules relevant for process data science will be added over time.

Documentation and Tutorials

  • PDStoolkit_Manual.pdf (in Github repository) provides some quick information on the algorithms implemented in the package
  • Class documentations are provided in the 'docs' folder in Github (Source Code) repository
  • Tutorials are provided in the 'tutorials' folder in Github (Source Code) repository
  • The blog post (https://mlforpse.com/intro-to-pdstoolkit-python-package/) gives some perspective behind the motivation for development of PDStoolkit package
  • Theoretical and conceptual details on specific algorithms can be found in our book (https://leanpub.com/machineLearningPSE)

Package Contents

The main modules in the package currently are:

  • PDS_PCA: Principal Component analysis for Process Data Science

    • This class is a child of sklearn.decomposition.PCA class
    • The following additional methods are provided
      • computeMetrics: computes the monitoring indices (Q or SPE, T2) for the supplied data
      • computeThresholds: computes the thresholds / control limits for the monitoring indices from training data
      • draw_monitoring_charts: draws the monitoring charts for the training or test data
      • detect_abnormalities: detects if the observations are abnormal or normal samples
      • get_contributions: returns abnormality contributions for T2 and SPE for an observation sample
  • PDS_PLS: Partial Least Squares regression for Process Data Science

    • This class is a child of sklearn.cross_decomposition.PLSRegression class
    • The following additional methods are provided
      • computeMetrics: computes the monitoring indices (SPEx, SPEy, T2) for the supplied data
      • computeThresholds: computes the thresholds / control limits for the monitoring indices from training data
      • draw_monitoring_charts: draws the monitoring charts for the training or test data
      • detect_abnormalities: detects if the observations are abnormal or normal samples
  • PDS_DPCA: Dynamic Principal Component analysis for Process Data Science

    • This class is a child of sklearn.decomposition.PCA class
    • The following additional methods are provided
      • computeMetrics: computes the monitoring indices (Q or SPE, T2) for the supplied data
      • computeThresholds: computes the thresholds / control limits for the monitoring indices from training data
      • draw_monitoring_charts: draws the monitoring charts for the training or test data
      • detect_abnormalities: detects if the observations are abnormal or normal samples
  • PDS_DPLS: Dynamic Partial Least Squares regression for Process Data Science

    • This class is a child of sklearn.cross_decomposition.PLSRegression class
    • The following additional methods are provided
      • computeMetrics: computes the monitoring indices (SPEx, SPEy, T2) for the supplied data
      • computeThresholds: computes the thresholds / control limits for the monitoring indices from training data
      • draw_monitoring_charts: draws the monitoring charts for the training or test data
      • detect_abnormalities: detects if the observations are abnormal or normal samples
  • PDS_CVA: Canonical Variate Analysis for Process Data Science

    • This class is written from scratch
    • The following additional methods are provided
      • computeMetrics: computes the monitoring indices (Ts2, Te2, Q) for the supplied data
      • computeThresholds: computes the thresholds / control limits for the monitoring indices from training data
      • draw_monitoring_charts: draws the monitoring charts for the training or test data
      • detect_abnormalities: detects if the observations are abnormal or normal samples

Instalation

Installation from Pypi:

pip install PDStoolkit

Import modules

from PDStoolkit import PDS_PCA
from PDStoolkit import PDS_PLS

Usage

The following code builds a PCA-based process monitoirng model using PDS-PCA class and uses it for subsequent fault detectiona and fault diagnosis on test data. For details on data and results, see the ProcessMonitoring_PCA notebook in the tutorials folder.

# imports
from PDStoolkit import PDS_PCA

# fit PDS_PCA model
pca = PDS_PCA()
pca.fit(data_train_normal, autoFindNLatents=True)

T2_train, SPE_train = pca.computeMetrics(data_train_normal, isTrainingData=True)
T2_CL, SPE_CL = pca.computeThresholds(method='statistical', alpha=0.01)
pca.draw_monitoring_charts(title='training data')

# fault detectiona and fault diagnosis on test data
pca.detect_abnormalities(data_test_normal, title='test data')
T2_contri, SPE_contri = pca.get_contributions(data_test_normal)

License

All code is provided under a BSD 3-clause license. See LICENSE file for more information.

Metadata

Release files for PDStoolkit 0.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for PDStoolkit 0.0.2
File Size Uploaded
PDStoolkit-0.0.2.tar.gz 17.6 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for PDStoolkit 0.0.2
File Interpreter ABI Platform
PDStoolkit-0.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 44.2 kB

Release files / PDStoolkit-0.0.2.tar.gz

Download URL PDStoolkit-0.0.2.tar.gz
Size 17.6 kB
Tags Source
SHA-256 checksum
How to use checksums
5c51496d3a28d251bd5c67e6a3224a2fbf9158709682904d17254765e9bb46ef
BLAKE2b-256 checksum
How to use checksums
f42483f7e283b5ffde97580676ea2b48012054b005111e650799349c76c52e42
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.7

Release files / PDStoolkit-0.0.2-py3-none-any.whl

Download URL PDStoolkit-0.0.2-py3-none-any.whl
Size 26.6 kB
Tags Python 3
SHA-256 checksum
How to use checksums
54d87f1801edba95de6d342340868d62024ab73cafb9fe9ef8a11a69d2feb87f
BLAKE2b-256 checksum
How to use checksums
8318d32d801f86c65fb4d76b11ac2b671ba4a8b530009def81cb4806335fea83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.0 CPython/3.9.7

Release history Release notifications | RSS feed

This release

0.0.2 This release

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page