A method, comprising: receiving vibration sensor data for a moving equipment (904, 905) configured to conduct a plurality of tasks, conducting feature extraction on the vibration sensor data to calculate the similarity coefficients between the vibration sensor data and a plurality of templates, inputting the similarity coefficients to a predictive maintenance model for the plurality of tasks, the predictive maintenance model configured to provide one or more of fault detection, failure prediction, and remaining useful life, RUL, estimation, wherein the conducting feature extraction on the vibration sensor data to calculate the similarity coefficients between the vibration sensor data and the plurality of templates comprises: selecting a reference template from the plurality of templates, conducting time-frequency decomposition on the reference template and the vibration sensor data to generate component signals across a plurality of decomposition levels, and conducting similarity estimation on the component signals for each of the decomposition levels to generate similarity coefficients between the vibration sensor data and the reference template, characterized in that: the plurality of templates are a group of templates selected from a plurality of groups generated from a clustering process, the group of templates selected based on a determination of the group from the plurality of groups having a nearest centroid to the vibration sensor data, wherein the plurality of tasks are identified by the clustering process. receiving vibration sensor data for a moving equipment (904, 905) configured to conduct a plurality of tasks, conducting feature extraction on the vibration sensor data to calculate the similarity coefficients between the vibration sensor data and a plurality of templates, inputting the similarity coefficients to a predictive maintenance model for the plurality of tasks, the predictive maintenance model configured to provide one or more of fault detection, failure prediction, and remaining useful life, RUL, estimation, wherein the conducting feature extraction on the vibration sensor data to calculate the similarity coefficients between the vibration sensor data and the plurality of templates comprises: selecting a reference template from the plurality of templates, conducting time-frequency decomposition on the reference template and the vibration sensor data to generate component signals across a plurality of decomposition levels, and conducting similarity estimation on the component signals for each of the decomposition levels to generate similarity coefficients between the vibration sensor data and the reference template, characterized in that: the plurality of templates are a group of templates selected from a plurality of groups generated from a clustering process, the group of templates selected based on a determination of the group from the plurality of groups having a nearest centroid to the vibration sensor data, wherein the plurality of tasks are identified by the clustering process. selecting a reference template from the plurality of templates, conducting time-frequency decomposition on the reference template and the vibration sensor data to generate component signals across a plurality of decomposition levels, and conducting similarity estimation on the component signals for each of the decomposition levels to generate similarity coefficients between the vibration sensor data and the reference template, characterized in that: the plurality of templates are a group of templates selected from a plurality of groups generated from a clustering process, the group of templates selected based on a determination of the group from the plurality of groups having a nearest centroid to the vibration sensor data, wherein the plurality of tasks are identified by the clustering process. the plurality of templates are a group of templates selected from a plurality of groups generated from a clustering process, the group of templates selected based on a determination of the group from the plurality of groups having a nearest centroid to the vibration sensor data, wherein the plurality of tasks are identified by the clustering process.