MATLAB 时间序列去季节性变化 - 使用 seasonaldecompose 函数
本教程介绍如何在 MATLAB 中使用 seasonaldecompose 函数去除时间序列数据的季节性变化。
seasonaldecompose 函数是 MATLAB 中用于将时间序列分解为趋势、季节性和残差三个部分的函数。 该函数位于 MATLAB 的统计和机器学习工具箱中。
请确保你安装了统计和机器学习工具箱,并且使用的是 MATLAB R2016b 或更高版本。 在这些版本中,可以使用以下代码调用 seasonaldecompose 函数:
% 假设你的时间序列数据存储在一个名为 data 的矩阵中,第一列是时间,第二列是温度
data = [200101, 10;
200107, 30;
200201, 20;
200207, 10;
200301, 30;
200307, 20];
% 将时间序列数据转换为时间序列对象
dates = datetime(num2str(data(:, 1)), 'InputFormat', 'yyyyMM');
temperature = data(:, 2);
ts = timeseries(temperature, dates);
% 使用 seasonaldecompose 函数进行分解
decomposition = seasonaldecompose(ts);
% 获取分解后的趋势、季节性和残差
trend = decomposition.trend;
seasonal = decomposition.seasonal;
residual = decomposition.residual;
这样,你就可以通过 trend、seasonal 和 residual 变量获取分解后的趋势、季节性和残差部分了。
原文地址: https://www.cveoy.top/t/topic/fOQx 著作权归作者所有。请勿转载和采集!