主要内容

trenddecomp

发现数据趋势

    描述

    例子

    LT= trenddecomp (一个使用奇异谱分析(SSA)在数据向量中发现趋势,该分析假设对数据进行加法分解,使A = lt + st + r.在这个分解中,LT是数据中的长期趋势,是季节性的,或振荡的,趋势(或趋势)R是余数。LT向量的长度是否等于一个

    当季节趋势的周期未知时,SSA是一个有用的算法。SSA算法假设输入数据是均匀间隔的。

    LT= trenddecomp (一个“ssa”,滞后还使用SSA算法来查找趋势一个并额外指定一个滞后值,该滞后值决定计算奇异值分解所依据的矩阵的大小,如中所述[1].较大的值滞后通常会导致趋势更加分离。

    的价值滞后必须是区间[3,N/ 2),N的长度一个.如果季节趋势的周期已知,则指定滞后作为周期的倍数。

    LT= trenddecomp (___NumSeasonal =n使用前面语法中的任何输入参数组合,指定要返回的季节趋势的数量。

    LT= trenddecomp (一个“stl”,的趋势一个使用STL算法,该算法是基于局部加权回归的加性分解,如[2].STL需要一个季节趋势的周期。当数据只有一个季节性趋势时,请指定作为一个标量值。对于多个季节趋势,请指定作为一个向量,其元素是每个季节趋势的周期。

    STL算法假设输入数据是均匀间隔的。

    例子

    LTR= trenddecomp(___还返回季节趋势和分解的余数。的长度而且R匹配输入向量的长度一个.当一个包含多个季节趋势,是一个矩阵,其列包含每个季节的趋势。

    D= trenddecomp (T使用SSA在数据表或时间表中查找趋势。trenddecomp分别对每个表变量进行操作。D是一个表或时间表,其变量包含长期趋势、季节趋势和每个变量的余数。trenddecomp将多个季节趋势作为一个变量返回D,其列包含每个季节的趋势。

    D= trenddecomp (T“ssa”,滞后为表或时间表输入指定SSA延迟值,并将延迟应用于所有表变量。

    D= trenddecomp (T___NumSeasonal =n指定在表或时间表数据上使用SSA时的季节趋势数量,并将该数量应用于每个表变量。

    例子

    D= trenddecomp (T“stl”,使用STL查找具有指定季节趋势周期的趋势。trenddecomp将句点应用到每个表变量。

    例子

    全部折叠

    使用奇异谱分析计算数据矢量的长期趋势。

    创建一个数据向量一个其中包括长期趋势、季节性趋势和噪声成分。

    T = (0:20)';A = 3*sin(t) + t + 0.1*rand(21,1);

    计算长期趋势。绘制数据和长期趋势图。

    LT =趋势分解(A);情节(t, t, LT)传说(“数据”“长期”

    图中包含一个轴对象。axis对象包含2个line类型的对象。这些对象表示长期数据。

    使用奇异谱分析将一个数据向量分解为其长期趋势、两个季节趋势和余数。

    创建一个数据向量一个其中包括一个长期趋势,两个不同时期的季节性趋势,以及一个噪声成分。

    T = (1:200)';趋势= 0.001*(t-100).^2;Period1 = 20;Period2 = 30;Seasonal1 = 2*sin(2*pi*t/period1);Seasonal2 = 0.75*sin(2*pi*t/period2);噪声= 2*(兰特(200,1)- 0.5);A =趋势+季节性1 +季节性2 +噪声;

    使用SSA算法分解数据。绘制数据、趋势和其余部分。

    [LT,ST,R] = trend (A);图([A LT ST R]);传奇(“数据”“长期”“Seasonal1”“Seasonal2”“剩余部分”

    图中包含一个轴对象。axis对象包含5个line类型的对象。这些对象表示Data、Long-term、Seasonal1、Seasonal2、Remainder。

    使用STL算法将表格数据分解为其长期趋势、两个季节趋势和余数。

    创建表T的变量数据包含一个长期趋势、两个不同时期的季节性趋势和一个噪声成分。

    T = (1:200)';趋势= 0.001*(t-100).^2;Period1 = 20;Period2 = 30;Seasonal1 = 2*sin(2*pi*t/period1);Seasonal2 = 0.75*sin(2*pi*t/period2);噪声= 2*(兰特(200,1)- 0.5);数据=趋势+季节性1 +季节性2 +噪声;T =表(数据)
    T =200×1表数据______ 11.204 11.896 10.722 12.502 11.939 10.646 10.57 10.479 10.527 9.6793 7.1756 7.9505 7.1704 5.6206 5.8256 4.2817

    使用STL算法分解数据。绘制数据、趋势和余数。

    D = trenddecomp(T,“stl”, 20 30);D = addvars(D,数据);stackedplot (D)包含(“t”

    图中包含一个类型为stackedplot的对象。

    输入参数

    全部折叠

    输入数组,指定为数字向量。

    数据类型:|

    SSA的滞后值,指定为区间[3,N/ 2),N输入数据的长度。较大的值滞后通常提供更多的趋势分离。如果周期已知,则指定滞后作为周期的倍数。

    SSA的季节趋势数,指定为大于0的整数标量。

    STL的周期,指定为数值标量、数值向量、持续时间标量或持续时间向量。当数据有一个季节性趋势时,请指定作为一个标量。当数据具有多个季节性趋势时,请指定作为一个向量,其元素是每个季节趋势的周期。可以有类型持续时间仅用于时间表输入数据。

    表格式输入数据,指定为表格或时间表。trenddecomp分别对每个表变量进行操作。时间表必须间隔均匀。

    输出参数

    全部折叠

    长期趋势,作为与输入向量长度相同的向量返回。

    季节趋势,以矢量或矩阵形式返回。当数据有一个季节趋势时为向量,当数据有多个季节趋势时为矩阵,每列对应一个季节趋势。行数匹配输入向量的长度。

    余数,作为与输入向量长度相同的向量返回。

    趋势,当输入数据为表或时间表时,以表或时间表的形式返回。D将长期趋势、季节趋势和分解的其余部分作为单独的表变量包含。对于多个季节趋势,结果变量中的列数为D与季节趋势的数量相匹配。

    参考文献

    [1] Golyandina, Nina和Anatoly Zhigljavsky。时间序列的奇异谱分析.斯普林格统计简报。柏林,海德堡,2013。https://doi.org/10.1007/978 - 3 - 642 - 34913 - 3。

    [2]克利夫兰,r.b., W.S.克利夫兰,J.E.麦克雷和I.特彭宁。STL:基于黄土的季节趋势分解程序官方统计杂志6(1990): 3-73。

    版本历史

    R2021b中引入

    另请参阅

    |