Skip to main content

Production Line Stations Maintenance Prediction - Process Flow.

Steps Needed in a Process to Detect Anomalies And Have a Maintenance Notice Before We Have Scrap Created on The Production Line.

Describing my previous articles( 1, 2 ) process flow:

  • Get Training Data.
    • At least 2 weeks of passed units measurements.
  • Data Cleaning.
    • Ensure no null values.
    • At least 95% data must have measurement values.
  • Anomalies Detection Model Creation.
    • Deep Learning Autoencoders.
      • or
    • Isolation Forest.
  • Set Yield Threshold Desired, Normally 99%
  • Get Prediction Value Limit by Linking Yield Threshold to Training Data Using The Anomaly Detection Model Created.
  • Get Testing Data.
    • Last 24 Hour Data From Station Measurements, Passed And Failed Units.
  • Testing Data Cleaning.
    • Ensure no null values.
  • Get Anomalies From Testing Data by Using The Model Created And Prediction Limit Found Before.
  • If Anomalies Found, Notify Maintenance to Avoid Scrap.
  • Display Chart Showing Last 24 Hour Anomalies And Failures Found:



As you can see( Anomalies in blue, Failures in orange ), we are detecting anomalies( Units close to measurement limits ) before failures.

Sending an alert when the first or second anomaly was detected will prevent scrap because the station will get maintenance to avoid failures.



Carlos Kassab

We are using R, more information about R:











Popular posts from this blog

UPDATED: Using R and H2O to identify product anomalies during the manufacturing process.

Note.  This is an update to article:  http://laranikalranalytics.blogspot.com/2019/03/using-r-and-h2o-to-identify-product.html - It has some updates but also code optimization from  Yana Kane-Esrig(  https://www.linkedin.com/in/ykaneesrig/ ) , as she mentioned in a message: The code you posted has two nested for() {} loops. It took a very long time to run. I used just one for() loop. It was much faster   Here her original code: num_rows=nrow(allData) for(i in 1:ncol(allData)) {   temp = allData [,i]   cat( "Processing column:", i, ", number missing:", sum( is.na(temp)), "\n" )    temp_mising =is.na( allData[, i])    temp_values = allData[,i][! temp_mising]    temp_random = sample(temp_values, size = num_rows, replace = TRUE)      temp_imputed = temp   temp_imputed[temp_mising]= temp_random [temp_mising]   # describe(temp_imputed)   allData [,i] = temp_imputed      cat( "Process...

Installing our R development environment on Ubuntu 20.04

  Step 1: Install R,  Here the link with instructions:  How to instal R on Ubuntu 20.04 Adding the steps I followed because sometimes the links become unavailable: Add GPG key: $ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 Output: Executing: /tmp/apt-key-gpghome.NtZgt0Un4R/gpg.1.sh --keyserver keyserver.ubuntu.com --recv-keys E298A3A825C0D65DFD57CBB651716619E084DAB9 gpg: key 51716619E084DAB9: public key "Michael Rutter " imported gpg: Total number processed: 1 gpg: imported: 1 Add repository: $ sudo add-apt-repository 'deb https://cloud.r-project.org/bin/linux/ubuntu focal-cran40/' Output: Hit:1 https://deb.opera.com/opera-stable stable InRelease Hit:2 http://us.archive.ubuntu.com/ubuntu focal InRelease Hit:3 http://archive.canonical.com/ubuntu focal InRelease ...

Using R and H2O Isolation Forest For Data Quality

Introduction: We will identify anomalous patterns in data, this process is useful, not only to find inconsistencies and errors but also to find abnormal data behavior, being useful even to find cyber attacks on organizations. On this article there is more information as reference: Data Quality and Anomaly Detection Thoughts For Web Analytics Before starting we need the next software installed and working: -  R language installed. -  H2O open source framework. - Java 8 ( For H2O ). Open JDK:  https://github.com/ojdkbuild/contrib_jdk8u-ci/releases -  R studio. About the data used in this article. # I am using https://www.kaggle.com/bradklassen/pga-tour-20102018-data # The version I have is not the most updated version but anyway, a new version # may be used. Leaving this paragraph as a note, please refer to the next paragraph. NOTE: There was a problem with the data from the link above, so I created some synthetic data that can be ...