How to fit time series to the curve-linear trend
3 次查看(过去 30 天)
显示 更早的评论
Hi,
I have fluctuating data with its own curve-linear trend(2) and by polynomial fitting I got curve-linear trend(1). How can I fit fluctuating data(2) to the curve-linear trend(1), so that data are extended by symetric reflection or any kind of data extension?
Like in the figure below.
(Thank you Adam Danz)
3 个评论
回答(1 个)
Adam Danz
2019-1-24
编辑:Adam Danz
2019-1-24
Since your data look approximately normally distributed, you can measure the standard deviation of your data and use that to produce random numbers from a normal distrubution with a mean of your trendline. Here's general instructions.
Step 1: standardize your data by subtracting the mean (which is the trend line): dataStandard = data - trendline
Step 2: calcuate the standard deviation of the standardized data: sd = std(dataStandard)
Step 3: produce random-normal noise with standard deviation calucated in step 2 and the mean will be your red trend line.: newData = normrnd(0, sd, 1, length(trendline)) + trendline.
Step 4: plot the new data: plot(trendline, newData)
4 个评论
Adam Danz
2019-1-25
To clarify my solution (which seems like it would work in your explanation above),
dataStandard = data - trendlineBlue;
new_data = dataStandard + trendlineRed;
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Curve Fitting Toolbox 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!