alpha-lamda Prognostic Accuracy

6 ビュー (過去 30 日間)
Vincent Ike
Vincent Ike 2024 年 5 月 21 日
回答済み: Vincent Ike 2024 年 5 月 28 日
Hi MATLAB community,
Please, I need help.
I have been trying to create a prognostic code using Hidden Markov Model.
Having gotten my state posterior probabilities, how do I perform the a-lamda perfomance metrics? I mean what becomes the trueRUL and what is the estimatedRUL??
Thanks in advance!

回答 (3 件)

surya venu
surya venu 2024 年 5 月 22 日
Hi,
Here's a breakdown of how to interpret the relevant terms and calculate the α-Lambda performance metric:
True Remaining Useful Life (RUL):
  • In prognostic scenarios, you might have access to historical data or labels indicating the failure times of similar systems.
  • If you have this information, you can directly calculate the true RUL for each data point in your test set as the difference between the current time step (t) and the actual failure time (t_failure).
Estimated RUL:
  • Once you've obtained the state posterior probabilities for a given time step (t), you can estimate the RUL using various approaches:
1) State-Averaged Mapping:
  • Assign a pre-defined RUL value to each hidden state in your HMM. This value could be based on domain knowledge or historical data.
  • Calculate the weighted average of these assigned RUL values using the state posterior probabilities as weights:
estimatedRUL_t = sum(pi_t(i) * RUL_i) for all states i
  • Here, pi_t(i) is the posterior probability of being in state "i" at time "t", and RUL_i is the assigned RUL value for state "i".
2) Learning-Based Mapping:
  • Train a separate regression model to map the state posterior probabilities to the estimated RUL.
  • This model could be a simple linear regression, a neural network, or any other suitable regression technique.
  • Train the regression model on a dataset where you have both the state posterior probabilities and the corresponding true RUL values.
α-Lambda Performance Metric:
  • It's calculated as follows: alpha_lambda = 1 / N * sum( |estimatedRUL_t - trueRUL_t| / trueRUL_t) for all N data points in the test set
  • A lower α-Lambda value indicates better prediction accuracy. It represents the average fractional error between the estimated and true RUL, expressed as a proportion of the true RUL.
Hope it helps.
  2 件のコメント
Vincent Ike
Vincent Ike 2024 年 5 月 24 日
Hi Surya,
First I want to thank you for your prompt response, than I anticipated.
Please, if you have a robust script to help me with, I will be immensely grateful. This is months of repeated attempts for me.
I actually wrote this backward recursive piece on defining state probabilities, and obtaining the RUL:
new_trans_mat=trans_mat;
for k=3:1:7
new_trans_mat(k,k)=new_trans_mat(k-1,k-1)-0.1111;
new_trans_mat(k,k+1)=1-new_trans_mat(k,k);
end
new_trans_mat(end,end-1)=1; new_trans_mat=new_trans_mat(:,1:end-1); %extended the %stochastic transition matrix beyond my model
rul=length(Y)-m; %rul is the time in the future I am considering before failure
N=length(new_trans_mat); k=N;
est_pdf(1,k-1)=new_trans_mat(k-1,k);
for t=2:rul
est_pdf(t,k-1)=new_trans_mat(k-1,k-1)*est_pdf(t-1,k-1);
end
for k=N:-1:3
if any(new_trans_mat(k-2,N))
est_pdf(1,k-2)=new_trans_mat(k-2,N);
else; est_pdf(1,k-2)=0; end
for t=2:rul
est_pdf(t,k-2)=new_trans_mat(k-2,k-2)*est_pdf(t-1,k-2) ...
+ new_trans_mat(k-2,k-1)*est_pdf(t-1,k-1);
end
end
est_pdf=[est_pdf(:,[1 2]) sum(est_pdf(:,3:5),2)]; % compressed future state into current
% multiply state prob above with posterior probability
for t=1:length(est_pdf)
RUL(t) = sum(est_pdf(t,:).*tau(t,:),2)*t;
end
The RUL is far less than/different from expected.
Vincent Ike
Vincent Ike 2024 年 5 月 24 日
if you have a template, please, can you share as I need it badly?

サインインしてコメントする。


Vincent Ike
Vincent Ike 2024 年 5 月 28 日
this is the state-based code I was trying to develop, maybe this will help understand what I want to produce

Vincent Ike
Vincent Ike 2024 年 5 月 28 日
the former will produce the RUL in states, before multiplying with the posterior prob

カテゴリ

Help Center および File ExchangePredict Remaining Useful Life (RUL) についてさらに検索

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by