python程序去噪算法(python算法体验-2.基于多项式拟合的剩余寿命预测)
python程序去噪算法(python算法体验-2.基于多项式拟合的剩余寿命预测)后续二十个数据周期的状态趋势变化(既寿命使用情况)基于该状态数据的变化趋势,我们可以预测后续20个数据采集周期的状态变化:图中,x轴表示数据采集的周期,y表示每个采集周期的状态数据值(该数据跟寿命有关系)。直观看一下,数据有上升的线性趋势,因此利用线性拟合方法y = ax**3 - bx**2 cx d得到三项式函数系数a b c d.拟合后结果
部分内容摘自体验1:
在工业领域的设备寿命预测中,在没有历史数据的基础上,往往可以假设寿命退化遵循线性、指数等规律,本例分享一下基于多项式拟合的数据预测,可以结合具体工业应用进行RUL预测。
例:假设有一组能够表征设备寿命状态,且经过处理的数据,如下图:
轴承振动某一特征数据
图中,x轴表示数据采集的周期,y表示每个采集周期的状态数据值(该数据跟寿命有关系)。
直观看一下,数据有上升的线性趋势,因此利用线性拟合方法y = ax**3 - bx**2 cx d得到三项式函数系数a b c d.
拟合后结果
基于该状态数据的变化趋势,我们可以预测后续20个数据采集周期的状态变化:
后续二十个数据周期的状态趋势变化(既寿命使用情况)
在实际设备寿命预测过程中,通过设定固定状态阈值,即可预测剩余的设备工作寿命。当然实际过程需要考虑的因素很多,如用于寿命预测的状态数据如何得到,多阈值如何考虑等。
三项式拟合函数代码
def polyfitData(Y):
X = np.arange(1 len(Y) 1)
z = np.polyfit(X Y 3)
p = np.poly1d(z)
return z p
if __name__ == '__main__':
data = pd.read_excel('****.xlsx')
x = np.arange(1 len(data) 1)
z p = polyfitData(data)
fittedData = [p(i) for i in x]
predX = [len(data) i for i in range(1 21)]
predY = [p(i) for i in predX]
plt.plot(predX predY 'r--')
plt.plot(fittedData)
plt.plot(x data)
plt.show()