将时间序列从零均值和单位方差转换回来

时间:2013-02-10 12:01:58

标签: matlab mean variance

我有一个相当简单的问题,我需要一些建议。如果我有时间序列

t = 1:365;
raw =  10+(10-2).*rand(1,length(t)); % generate random time series
signal_1 = 10*sin(2*pi*t/12)+20; % create a signal with a period of 24
signal_2 = 10*sin(2*pi*t/32)+20; % create a signal with a period of 32

y = raw + signal_1 + signal_2; % combine the signals

我可以通过

使信号的均值和单位方差为零
y2 = (y - nanmean(y))./nanstd(y); % zero mean with unit variance

我如何将其转换回与原始系列相同的幅度,即转换回与'y'相同?

1 个答案:

答案 0 :(得分:2)

在进行转换之前记录均值和stddev,以便您可以向相反的方向重新应用:

mu = nanmean(y);
sd = nanstd(y);

y2 = (y - mu) / sd;

...

y3 = y2 * sd + mu;