sum of time series performace
Show older comments
I want to check the time series performance and have 150 trials in total and each trial is associated with either +1 or -1. I want o calculate it in such a way:
x=[mean(a(1:10)),mean(a(2:11)),mean(a(3:13)),mean(a(4:14)),........,mean(a(141:150))];
Answers (1)
Les Beckham
on 19 Oct 2022
Edited: Les Beckham
on 19 Oct 2022
Your question isn't very clear but it appears that perhaps you want to do a moving average. Take a look at the documentation for the movmean function here: movmean
Possibly this would do what you want:
x = movmean(a, 10);
7 Comments
Khan Muhammad Adeel Khan
on 19 Oct 2022
Khan Muhammad Adeel Khan
on 19 Oct 2022
I'm not sure what you mean by "learning rates", but movmean does what you are describing.
load a.mat
figure
plot(a)
grid on
figure
plot(movmean(a, 10))
grid on
Khan Muhammad Adeel Khan
on 19 Oct 2022
Les Beckham
on 19 Oct 2022
Since you are dividing the sum of ten ones and negative ones by ten for each point in the moving average, it is expected that the result will be a multiple of 1/10, thus only "one decimal point".
If this answer helped solve your problem, please accept it. Thanks.
Khan Muhammad Adeel Khan
on 19 Oct 2022
Les Beckham
on 19 Oct 2022
Edited: Les Beckham
on 19 Oct 2022
There is no way you can sum up ten ones and negative ones and divide by ten and get anything that requires more than one decimal place to express. The answer is correct to two decimal places but the second decimal place is always going to be zero in this case.
Categories
Find more on Startup and Shutdown in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
