如何在 R 中使用 loess 方法对具有趋势和季节性分量的时间序列进行分解?
为了使用 R 中的 loess 方法对具有趋势和季节性分量的时间序列进行分解,我们可以按照以下步骤操作 -
首先,创建一个时间序列对象。
然后,使用 stl 函数对具有趋势和季节性分量的的时间序列进行分解。
示例
创建时间序列对象
让我们使用 ts 函数创建一个时间序列对象 -
x<-sample(1:1000,48) TimeSeries<-ts(x,start=c(2017,1),end=c(2020,12),frequency=12) TimeSeries
输出
在执行时,以上脚本会生成以下输出(此输出将在您的系统上因随机化而有所不同) -
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec 2017 3 686 888 748 632 170 922 395 293 460 244 454 2018 540 560 496 436 619 936 286 243 495 580 542 14 2019 171 983 923 422 698 302 838 858 398 45 8 927 2020 700 323 743 201 588 654 197 620 199 929 954 213
分解时间序列
使用 stl 函数分解具有趋势和季节性分量的 timeSeries 时间序列对象,如下所示 -
x<-sample(1:1000,48) TimeSeries<-ts(x,start=c(2017,1),end=c(2020,12),frequency=12) stl(TimeSeries,s.window="periodic")
输出
Call: stl(x = TimeSeries, s.window = "periodic") Components seasonal trend remainder Jan 2017 -13.51116 620.0779 -270.566700 Feb 2017 -25.67301 597.0258 266.647194 Mar 2017 -101.08461 573.9738 -19.889167 Apr 2017 219.41788 551.1312 225.450967 May 2017 -83.57931 528.2885 -430.709219 Jun 2017 74.54494 505.7850 219.670064 Jul 2017 30.41916 483.2815 151.299379 Aug 2017 -159.59590 460.6482 111.947695 Sep 2017 -80.86115 438.0150 -243.153796 Oct 2017 -186.38804 418.7237 -67.335678 Nov 2017 96.33461 399.4325 51.232899 Dec 2017 229.97668 398.6426 -196.619290 Jan 2018 -13.51116 397.8527 -41.341565 Feb 2018 -25.67301 405.1831 114.489873 Mar 2018 -101.08461 412.5136 -273.428943 Apr 2018 219.41788 419.9627 -136.380615 May 2018 -83.57931 427.4119 196.167391 Jun 2018 74.54494 433.9023 188.552751 Jul 2018 30.41916 440.3927 116.188144 Aug 2018 -159.59590 449.1809 184.414994 Sep 2018 -80.86115 457.9691 -63.107963 Oct 2018 -186.38804 473.2262 -234.838182 Nov 2018 96.33461 488.4833 -283.817943 Dec 2018 229.97668 494.2690 197.754316 Jan 2019 -13.51116 500.0547 10.456488 Feb 2019 -25.67301 507.5730 -413.900027 Mar 2019 -101.08461 515.0914 233.993203 Apr 2019 219.41788 538.5873 117.994862 May 2019 -83.57931 562.0831 470.496200 Jun 2019 74.54494 586.6381 -6.183045 Jul 2019 30.41916 611.1931 -486.612258 Aug 2019 -159.59590 619.9637 -230.367763 Sep 2019 -80.86115 628.7342 -57.873076 Oct 2019 -186.38804 614.9466 529.441447 Nov 2019 96.33461 601.1590 42.506428 Dec 2019 229.97668 585.6774 -23.654081 Jan 2020 -13.51116 570.1958 284.315323 Feb 2020 -25.67301 561.9913 15.681732 Mar 2020 -101.08461 553.7867 42.297887 Apr 2020 219.41788 546.5084 -222.926267 May 2020 -83.57931 539.2301 -250.650742 Jun 2020 74.54494 530.2467 -414.791602 Jul 2020 30.41916 521.2633 208.317571 Aug 2020 -159.59590 514.3819 -74.786011 Sep 2020 -80.86115 507.5006 357.360600 Oct 2020 -186.38804 504.2319 -232.843895 Nov 2020 96.33461 500.9633 185.702068 Dec 2020 229.97668 500.1919 18.831369
广告