主要内容

潮流

找到数据趋势

    描述

    例子

    上尉= trendDecomp(一个使用单数频谱分析(SSA)发现数据向量的趋势,该分析假设数据的加成分解为a = lt+st+r。在这个分解中,上尉是数据的长期趋势,英石是季节性或振荡性的趋势(或趋势),并且是r是其余的。上尉是一个与一个

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

    上尉= trendDecomp(一个,“ SSA”,落后还使用SSA算法来找到趋势一个并另外指定了一个滞后值,该值确定了计算奇异值分解的矩阵的大小,如[1]。较大的值落后通常导致趋势的更多分离。

    的价值落后必须是间隔中的标量[3,n/2]n是长度一个。如果已知季节性趋势的时期,请指定落后作为该时期的倍数。

    上尉= trendDecomp(___,numseasonal =n使用先前语法中的任何输入参数组合指定返回的季节趋势数量。

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

    STL算法假定输入数据均匀间隔。

    例子

    [[上尉,,,,英石,,,,r] = trendDecomp(___还可以返回季节性趋势以及分解的其余部分。长度英石r匹配输入向量的长度一个。什么时候一个包含多种季节性趋势,英石是一个矩阵,其列包含每个季节性趋势。

    d= trendDecomp(t使用SSA查找表或数据时间表中的趋势。潮流分别在每个表变量上操作。d是一个表或时间表,其变量包含长期趋势,季节性趋势以及每个变量的其余部分。潮流返回多个季节性趋势作为一个变量d,其专栏包含每个季节性趋势。

    d= trendDecomp(t,“ SSA”,落后指定表或时间表输入的SSA滞后值,并将滞后应用于所有表变量。

    d= trendDecomp(t,,,,___,numseasonal =n指定在表或时间表数据上使用SSA时的季节趋势数量,并将数字应用于每个表变量。

    例子

    d= trendDecomp(t,“ stl”,时期使用STL与指定的季节性趋势时期发现趋势。潮流将周期应用于每个表变量。

    例子

    全部收缩

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

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

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

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

    LT = TrendDecomp(a);情节(t,a,t,lt)传奇(“数据”,,,,“长期”

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

    将数据向量分解为其长期趋势,两个季节性趋势,并使用单数频谱分析进行剩余。

    创建数据向量一个其中包含长期趋势,两个具有不同时期的季节性趋势和一个噪声组成部分。

    t =(1:200)';趋势= 0.001*(T-100)。^2;周期1 = 20;周期2 = 30;季节性1 = 2*sin(2*pi*t/stece1);sienderal2 = 0.75*sin(2*pi*t/sece2);噪声= 2*(Rand(200,1)-0.5);a =趋势 +季节性1 +季节2 +噪声;

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

    [lt,st,r] = trendDecomp(a);情节([a lt st r]);传奇(“数据”,,,,“长期”,,,,“季节性1”,,,,“ semonal2”,,,,“余”

    图包含一个轴对象。轴对象包含5个类型行的对象。这些对象表示长期,季节性1,季节性2,剩余的数据。

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

    创建一个表t其变量数据包含长期趋势,两个具有不同时期的季节性趋势和一个噪声组成部分。

    t =(1:200)';趋势= 0.001*(T-100)。^2;周期1 = 20;周期2 = 30;季节性1 = 2*sin(2*pi*t/stece1);sienderal2 = 0.75*sin(2*pi*t/sece2);噪声= 2*(Rand(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.479 10.527 9.6793 7.1756 7.9505 7.1704 5.6204 5.6206 5.8256 4.2817⋮

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

    d = trendDecomp(t,“ stl”,[20 30]);d = addvars(d,data);stackedplot(d)xlabel(“ T”

    图包含一个类型堆栈平台的对象。

    输入参数

    全部收缩

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

    数据类型:单身的|双倍的

    SSA的滞后值,在间隔中指定为数字标量[3,n/2]n是输入数据的长度。较大的值落后通常提供更多趋势分离。如果已知时期,请指定落后作为该时期的倍数。

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

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

    表格输入数据,指定为表或时间表。潮流分别在每个表变量上操作。时间表必须均匀间隔。

    输出参数

    全部收缩

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

    季节性趋势,作为矢量或矩阵返回。英石当数据具有一个季节性趋势和矩阵时,当数据具有多个季节性趋势时,是一个向量,每列对应于一个季节性趋势。行中的数量英石匹配输入向量的长度。

    其余部分,作为矢量返回,其长度与输入向量相同。

    当输入数据是表或时间表时,趋势,作为表或时间表返回。d包含长期趋势,季节性趋势以及分解的其余部分作为单独的表变量。对于多个季节性趋势,最终变量中的列数d符合季节性趋势的数量。

    参考

    [1] Golyandina,Nina和Anatoly Zhigljavsky。时间序列的奇异频谱分析。统计数据中的弹簧桥。柏林,海德堡:施普林格柏林海德堡,2013年。https://doi.org/10.1007/978-3-3-642-34913-3。

    [2] Cleveland,R.B.,W.S。Cleveland,J.E。McRae和I. Terpenning。“ STL:基于黄土的季节性趋势分解程序。”官方统计杂志6(1990):3-73。

    版本历史记录

    在R2021b中引入

    也可以看看

    |