How to use extrapolation to predict the future data

12 ビュー (過去 30 日間)
Sara
Sara 2020 年 9 月 1 日
コメント済み: Sara 2020 年 9 月 2 日
Hello,
I have a dataset of degradation of different systems. Normally a system degrades when its health reaches 80% of its initial value.
However, as you can see in the picture, many of these systems have not reached 80% due to time limitations.
My question is How can I use extrapolation to expand my data until they reach 80%. attached you can find my data set. Each row of the cell shows the degradation of a system
I appreciate any help.

採用された回答

Abdolkarim Mohammadi
Abdolkarim Mohammadi 2020 年 9 月 1 日
編集済み: Abdolkarim Mohammadi 2020 年 9 月 1 日
You should find a mathematical model a model to each of your lines using curve fitting toolbox. Type cftool in the command window to open the app. Generally, you first find a good model visually, and then validate it. Please read the post processing documentation: https://www.mathworks.com/help/curvefit/fit-postprocessing.html
I have fitted the first variable (SOH{1} vs. cycle{1}) and it seems that an exponential function of the second order can be a suitable fit, since the fitted curve is very close to the data points and I have got tight confidence bounds for each parameter.
The histogram plot of residuals also show that the follow a symmetric Normal distribution, which is another sign of a good fit.
After you achieved a good model for each of your lines, you can use fit functions to evaluate it for points outside the data points, i.e., extrapolation.
There is a caveat with extrapolation, that your actual system might have a different behavior in regions that have not been sampled. Extrapolation assumes that your system behaves similarly inside and outside of the sampled data.
  4 件のコメント
Abdolkarim Mohammadi
Abdolkarim Mohammadi 2020 年 9 月 2 日
You should first export your model to the workspace from Fit > Save to workspace.
Then you can evaluate your model in any inside our outside points via feval function. For example, if you exported is named FittedModel, then you first determine the new points to evaluate:
ExtrapolationX = (1:10)';
ExtrapolationY = feval(FittedModel, ExtrapolationX);
Sara
Sara 2020 年 9 月 2 日
It works. Many thanks

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSmoothing についてさらに検索

製品

Community Treasure Hunt

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

Start Hunting!

Translated by