[Python] How to estimate Remaining Useful Life (RUL) or degradation progression in an...

Discussão em 'Python' iniciado por Stack, Junho 12, 2025.

  1. Stack

    Stack Membro Participativo

    I'm working on a predictive maintenance problem for a CNC machine, aiming to estimate Remaining Useful Life (RUL) from sensor-based tabular data. However, I'm facing a challenge that most standard tutorials don't address. My Data:

    A CSV file containing snapshots of machine operation cycles.

    Features include:

    Spindle motor: speed, load, temperature

    Servo motor: speed, temperature

    Cutting parameters: cutting speed, feed rate, cutting time (excluding air time)

    Data consists of independent operational cycles (not a continuous time-series).

    No target variable (e.g., RUL or time-to-failure).

    No timestamps or degradation labels—just raw sensor readings.


    Goal:

    I want to go beyond simple anomaly detection and estimate continuous degradation or generate a Health Index (HI) that reflects progression toward failure, even in an unsupervised or semi-supervised setting.

    What I've Tried or Considered:

    Anomaly Detection (e.g., Isolation Forest, One-Class SVM): Flags outliers but does not provide a continuous degradation score.

    Clustering (e.g., KMeans, DBSCAN): Groups operational states, but it's hard to label clusters as "Healthy", "Degrading", or "Critical" without ground truth.

    PCA for Health Index: First principal component to represent degradation, assuming it captures most variation due to wear—but I'm unsure if this is a valid proxy.


    Key Questions:

    What unsupervised or semi-supervised techniques are best suited for RUL estimation or degradation modeling when no failure labels or timestamps are available?

    How can I transform multi-dimensional sensor data into a meaningful Health Index (HI)?

    Are Autoencoders (using reconstruction error) or Self-Organizing Maps (SOMs) viable?

    Are there alternatives like t-SNE/UMAP for dimensionality reduction with progression estimation?

    How can I validate that the HI or degradation trend is meaningful without ground truth?

    Are there any proxy validation methods or domain-informed metrics?

    Is it possible to infer a pseudo-timeline or ordering of samples to reflect progression toward failure?

    Can manifold learning or graph-based methods (e.g., diffusion maps, ordinal embedding) help simulate a timeline?


    Tech Stack:

    Python

    Libraries: pandas, scikit-learn, tensorflow/keras (optionally), umap-learn


    I'm looking for conceptual strategies, algorithm recommendations, and practical approaches to tackle RUL estimation in a completely unsupervised setting.

    Open to non-ML techniques as well if they help with structuring or interpreting the degradation process.

    Thanks in advance!

    Continue reading...

Compartilhe esta Página