我有一个3650x1
时间序列数据的列向量,从2000年1月1日到12月31日,按升序排列。这意味着观察结果是行,1/1/2000观测值位于第一行,12/31/2010观测值位于最后一行。
我还有一个偏移的行向量和一个名为z_scores
的空矩阵:
offsets = [5 10 15 20]
z_scores = nan(3650, 4)
我正在尝试填充z_scores
。 z_scores
中的每列对应一系列offset
z分数。
例如,z_scores
的第一列将包含5个周期的z分数。 z_scores
的第二列将包含10个句点的z分数等。offset
的第一个z_scores
个标记将在每列中为NaN
。
目前,我循环遍历offsets
,这很好。但是,如果可能的话,我希望在offset
的每次迭代中使用矢量化解决方案。
for i=1:length(offset)
z_scores(:, i) = (data() - mean()) / std() % help!
end
我有所有工具箱,所以我可以使用内置函数。如果有人想建议一个非矢量化的解决方案,我会很高兴看到它!
答案 0 :(得分:0)
for i=1:length(offsets)
N = offsets(i);
z_scores(1:N, i) = zscore(data(1:N));
end