https://github.com/sylvaincom/anomaly-detection-pca
Anomaly detection on a production line using principal component analysis (PCA) and kernel principal component analysis (KPCA) *from scratch*.
https://github.com/sylvaincom/anomaly-detection-pca
anomaly-detection kernel-methods kpca pca principal-component-analysis
Last synced: 4 months ago
JSON representation
Anomaly detection on a production line using principal component analysis (PCA) and kernel principal component analysis (KPCA) *from scratch*.
- Host: GitHub
- URL: https://github.com/sylvaincom/anomaly-detection-pca
- Owner: sylvaincom
- Created: 2020-02-16T16:08:21.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2020-11-16T12:18:58.000Z (about 5 years ago)
- Last Synced: 2025-10-06T11:52:30.735Z (4 months ago)
- Topics: anomaly-detection, kernel-methods, kpca, pca, principal-component-analysis
- Language: MATLAB
- Homepage:
- Size: 431 KB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Anomaly detection
Anomaly detection on a production line using principal component analysis (PCA) and kernel principal component analysis (KPCA) **from scratch**.
## Quick preview
- _Authors_: Sylvain Combettes, Houssam L'Ghoul
- _Date_: Oct. 2018 - June 2019
- _Context_: For our penultimate-year project at Mines Nancy (half a day per week), we did research for the French company [Saint-Gobain](https://www.saint-gobain.com/en), the European or worldwide leader in all of its businesses (mainly construction materials). In 2018, Saint-Gobain had a €41.8 billion turnover, operated in 67 countries and had more than 180,000 employees.
- _Topic_: Detection of sensor failure in a production line.
- _Methods_: Principal component analysis (PCA) and kernel principal component analysis (KPCA).
- _Programming_: MATLAB.
- _Result_: the algorithm can detect 100% of the failure days observed by Saint-Gobain.
- _Links_: [report incoming]
## How to use this repository
- `datav3.mat` is a file containing data without anomalies
- `dataDefautv3.mat` is a file containing data with anomalies
- `ACP_lineaire_cstr.m` is a MATLAB script detecting anomalies in `dataDefautv3.mat` with comparison to `datav3.mat` using a (linear) PCA (principal component analysis)
- `ACP_non_lineaire_cstr.m` is a MATLAB script detecting anomalies in `dataDefautv3.mat` with comparison to `datav3.mat` using a (non-linear) KPCA (kernel principal component analysis)
`ACP_lineaire_cstr.m` and `ACP_non_lineaire_cstr.m` can be used independently: there are two methods with the same goal.
## To note
- I was only able to publish one fourth of the total project, the rest being confidential.
- The MATLAB scripts `ACP_lineaire_cstr.m` and `ACP_non_lineaire_cstr.m` are commented in French.
- The report (uploaded soon) is in French.
- The data `datav3.mat` and `dataDefautv3.mat` is from "Seongkyu Yoon and John MacGregor. Fault diagnosis with multivariate statistical models part i : using steady state fault signatures. Journal of Process Control, 11(4) :387 – 400, 2001"