存在季節性因素的時間序列(如月度數據、季度數據)可被分解爲趨勢因子、季節性因子、隨機性因子函數
趨勢因子(trend componnet):能捕捉到長期變化;spa
季節性因子(seasonal componnet):能捕捉到一年內的週期性變化;code
隨機(偏差)因子:(irregular/error component):捕捉到哪些不能被趨勢或季節效應解釋的變化component
其中 時刻 t 的觀測值即這一時刻的趨勢值、季節效應以及隨機影響之和rem
即趨勢項、季節項和隨機影響相乘it
將時序分解爲趨勢項、季節項和隨機項經常使用的方法用LOESS光滑作季節性分解,能夠經過R中的 stl() 函數io
stl(ts, s.window = , t.window = ,)
ts(必填):將要分解的時序ast
s.window(必填) :控制季節效應變化的速度,較小的值意味着更快的變化速度, 令 s.window = "periodic"可以使得季節效應在各年間都同樣可視化
t.window:控制趨勢項變化的速度方法
更多的細節查看help(stl)
雖然stl()函數只能處理相加模型,相乘模型總能夠經過對數變換轉換成相加模型:
用通過對數變換的序列擬合出的相加模型也總能夠再轉化回原始尺度
#使用R中自帶的 AirPssengers序列描述1949-1960每一個月國際航班的乘客 > plot(AirPassengers) #畫出序列 > lAirPassengers <- log(AirPassengers) #對其進行對數變換 > plot(lAirPassengers,ylab="log(AirPassengers)") > fit <- stl(lAirPassengers,s.window = "period")#進行分解 ,以下圖1 > plot(fit) #繪製分解後的圖 > fit$time.series #time.series,它包括每一個觀測值中的趨勢、季節以及隨機效應,直接使用fit$time.series返回對數變換後的時序,經過exp(fit$time.series)可將結果轉化爲原始尺度 seasonal trend remainder Jan 1949 -0.09164042 4.829389 -0.0192493585 Feb 1949 -0.11402828 4.830368 0.0543447685 Mar 1949 0.01586585 4.831348 0.0355884457 Apr 1949 -0.01402759 4.833377 0.0404632511 May 1949 -0.01502478 4.835406 -0.0245905300 Jun 1949 0.10978976 4.838166 -0.0426814256 Jul 1949 0.21640041 4.840927 -0.0601151688 Aug 1949 0.20960587 4.843469 -0.0558624690 Sep 1949 0.06747156 4.846011 -0.0008273977 Oct 1949 -0.07024836 4.850883 -0.0015112948 Nov 1949 -0.21352774 4.855756 0.0021630667 Dec 1949 -0.10063625 4.864586 0.0067346600 Jan 1950 -0.09164042 4.873417 -0.0368443057 Feb 1950 -0.11402828 4.883282 0.0670284530 Mar 1950 0.01586585 4.893147 0.0397474219 Apr 1950 -0.01402759 4.903156 0.0161459950 May 1950 -0.01502478 4.913166 -0.0698276070 Jun 1950 0.10978976 4.925404 -0.0312477713 Jul 1950 0.21640041 4.937643 -0.0182444833 Aug 1950 0.20960587 4.954420 -0.0282273969 Sep 1950 0.06747156 4.971197 0.0239260449 Oct 1950 -0.07024836 4.991662 -0.0310647612 Nov 1950 -0.21352774 5.012127 -0.0624008823 Dec 1950 -0.10063625 5.031094 0.0111846224 Jan 1951 -0.09164042 5.050061 0.0183131352 Feb 1951 -0.11402828 5.065044 0.0596196836 Mar 1951 0.01586585 5.080027 0.0858909418 Apr 1951 -0.01402759 5.093932 0.0138460280 May 1951 -0.01502478 5.107837 0.0546824937 Jun 1951 0.10978976 5.121064 -0.0490698826 Jul 1951 0.21640041 5.134291 -0.0573861680 Aug 1951 0.20960587 5.146131 -0.0624323009 Sep 1951 0.06747156 5.157972 -0.0105077415 Oct 1951 -0.07024836 5.169854 -0.0120089320 Nov 1951 -0.21352774 5.181735 0.0153990463 Dec 1951 -0.10063625 5.194803 0.0178207135 Jan 1952 -0.09164042 5.207871 0.0254326447 Feb 1952 -0.11402828 5.220493 0.0864920261 Mar 1952 0.01586585 5.233115 0.0137094563 Apr 1952 -0.01402759 5.244400 -0.0318757882 May 1952 -0.01502478 5.255686 -0.0311749995 Jun 1952 0.10978976 5.266916 0.0077889001 Jul 1952 0.21640041 5.278147 -0.0564679741 Aug 1952 0.20960587 5.291899 -0.0125671875 Sep 1952 0.06747156 5.305651 -0.0307885329 Oct 1952 -0.07024836 5.323035 -0.0005129219 Nov 1952 -0.21352774 5.340418 0.0206040218 Dec 1952 -0.10063625 5.355790 0.0127045234 Jan 1953 -0.09164042 5.371162 -0.0014064946 Feb 1953 -0.11402828 5.381701 0.0104415885 Mar 1953 0.01586585 5.392241 0.0557248228 Apr 1953 -0.01402759 5.398479 0.0751345805 May 1953 -0.01502478 5.404716 0.0440308724 Jun 1953 0.10978976 5.406792 -0.0235205660 Jul 1953 0.21640041 5.408869 -0.0493198945 Aug 1953 0.20960587 5.407808 -0.0116118099 Sep 1953 0.06747156 5.406747 -0.0061588541 Oct 1953 -0.07024836 5.407020 0.0150868577 Nov 1953 -0.21352774 5.407292 -0.0008072455 Dec 1953 -0.10063625 5.412628 -0.0086865700 Jan 1954 -0.09164042 5.417964 -0.0082032035 Feb 1954 -0.11402828 5.425823 -0.0753528534 Mar 1954 0.01586585 5.433683 0.0100370842 Apr 1954 -0.01402759 5.442676 -0.0036988730 May 1954 -0.01502478 5.451670 0.0186755182 Jun 1954 0.10978976 5.463574 0.0025856037 Jul 1954 0.21640041 5.475477 0.0185495056 Aug 1954 0.20960587 5.488954 -0.0183873611 Sep 1954 0.06747156 5.502431 -0.0130746073 Oct 1954 -0.07024836 5.515678 -0.0117077856 Nov 1954 -0.21352774 5.528925 -0.0021914704 Dec 1954 -0.10063625 5.543178 -0.0088199260 Jan 1955 -0.09164042 5.557431 0.0231469788 Feb 1955 -0.11402828 5.572621 -0.0075538774 Mar 1955 0.01586585 5.587810 -0.0164272509 Apr 1955 -0.01402759 5.602576 0.0061625730 May 1955 -0.01502478 5.617343 -0.0038959909 Jun 1955 0.10978976 5.631685 0.0110981305 Jul 1955 0.21640041 5.646027 0.0347266908 Aug 1955 0.20960587 5.660026 -0.0203074185 Sep 1955 0.06747156 5.674026 0.0015057273 Oct 1955 -0.07024836 5.687411 -0.0040342159 Nov 1955 -0.21352774 5.700795 -0.0192075831 Dec 1955 -0.10063625 5.713683 0.0145740752 Jan 1956 -0.09164042 5.726571 0.0140435478 Feb 1956 -0.11402828 5.738688 -0.0006422520 Mar 1956 0.01586585 5.750805 -0.0077690470 Apr 1956 -0.01402759 5.761271 -0.0010403672 May 1956 -0.01502478 5.771737 0.0053388421 Jun 1956 0.10978976 5.780581 0.0338845974 Jul 1956 0.21640041 5.789426 0.0176216235 Aug 1956 0.20960587 5.797448 -0.0031667752 Sep 1956 0.06747156 5.805470 -0.0008241663 Oct 1956 -0.07024836 5.813734 -0.0199006689 Nov 1956 -0.21352774 5.821998 -0.0063513051 Dec 1956 -0.10063625 5.831654 -0.0074325201 Jan 1957 -0.09164042 5.841310 0.0029031831 Feb 1957 -0.11402828 5.852625 -0.0314869189 Mar 1957 0.01586585 5.863941 -0.0048761755 Apr 1957 -0.01402759 5.875005 -0.0087747176 May 1957 -0.01502478 5.886069 0.0010740550 Jun 1957 0.10978976 5.894711 0.0405045167 Jul 1957 0.21640041 5.903354 0.0222834352 Aug 1957 0.20960587 5.907786 0.0289376116 Sep 1957 0.06747156 5.912218 0.0217253156 Oct 1957 -0.07024836 5.912909 0.0066639927 Nov 1957 -0.21352774 5.913600 0.0202392244 Dec 1957 -0.10063625 5.914570 0.0031777723 Jan 1958 -0.09164042 5.915539 0.0050470568 Feb 1958 -0.11402828 5.918512 -0.0424324225 Mar 1958 0.01586585 5.921485 -0.0457068326 Apr 1958 -0.01402759 5.924977 -0.0587474166 May 1958 -0.01502478 5.928470 -0.0190421600 Jun 1958 0.10978976 5.932704 0.0328523706 Jul 1958 0.21640041 5.936938 0.0431056910 Aug 1958 0.20960587 5.943328 0.0716243517 Sep 1958 0.06747156 5.949718 -0.0157750808 Oct 1958 -0.07024836 5.957409 -0.0038387222 Nov 1958 -0.21352774 5.965101 -0.0150005051 Dec 1958 -0.10063625 5.973333 -0.0526139823 Jan 1959 -0.09164042 5.981566 -0.0038213288 Feb 1959 -0.11402828 5.992040 -0.0432006658 Mar 1959 0.01586585 6.002514 -0.0120262807 Apr 1959 -0.01402759 6.015640 -0.0201986959 May 1959 -0.01502478 6.028767 0.0265120912 Jun 1959 0.10978976 6.042198 0.0049914005 Jul 1959 0.21640041 6.055628 0.0342466268 Aug 1959 0.20960587 6.065881 0.0506625860 Sep 1959 0.06747156 6.076134 -0.0058783006 Oct 1959 -0.07024836 6.084145 -0.0050832771 Nov 1959 -0.21352774 6.092156 0.0130161013 Dec 1959 -0.10063625 6.100500 0.0040231864 Jan 1960 -0.09164042 6.108844 0.0158822334 Feb 1960 -0.11402828 6.117934 -0.0351985510 Mar 1960 0.01586585 6.127024 -0.1050193083 Apr 1960 -0.01402759 6.135814 0.0116112609 May 1960 -0.01502478 6.144604 0.0273994037 Jun 1960 0.10978976 6.152986 0.0194908174 Jul 1960 0.21640041 6.161368 0.0551717057 Aug 1960 0.20960587 6.170124 0.0271500533 Sep 1960 0.06747156 6.178880 -0.0158702714 Oct 1960 -0.07024836 6.187594 0.0160525773 Nov 1960 -0.21352774 6.196307 -0.0166330133 Dec 1960 -0.10063625 6.204752 -0.0356905175 > exp(fit$time.series)#將結果轉化爲原始尺度 seasonal trend remainder Jan 1949 0.9124332 125.1344 0.9809347 Feb 1949 0.8922327 125.2571 1.0558486 Mar 1949 1.0159924 125.3798 1.0362293 Apr 1949 0.9860703 125.6345 1.0412930 May 1949 0.9850875 125.8897 0.9757094 Jun 1949 1.1160434 126.2377 0.9582166 Jul 1949 1.2415994 126.5866 0.9416561 Aug 1949 1.2331919 126.9088 0.9456692 Sep 1949 1.0697998 127.2318 0.9991729 Oct 1949 0.9321623 127.8533 0.9984898 Nov 1949 0.8077298 128.4777 1.0021654 Dec 1949 0.9042619 129.6173 1.0067574 Jan 1950 0.9124332 130.7670 0.9638262 Feb 1950 0.8922327 132.0634 1.0693259 Mar 1950 1.0159924 133.3726 1.0405479 Apr 1950 0.9860703 134.7143 1.0162770 May 1950 0.9850875 136.0695 0.9325546 Jun 1950 1.1160434 137.7450 0.9692354 Jul 1950 1.2415994 139.4411 0.9819209 Aug 1950 1.2331919 141.8003 0.9721673 Sep 1950 1.0697998 144.1995 1.0242146 Oct 1950 0.9321623 147.1809 0.9694128 Nov 1950 0.8077298 150.2239 0.9395062 Dec 1950 0.9042619 153.1004 1.0112474 Jan 1951 0.9124332 156.0320 1.0184818 Feb 1951 0.8922327 158.3874 1.0614328 Mar 1951 1.0159924 160.7784 1.0896875 Apr 1951 0.9860703 163.0296 1.0139423 May 1951 0.9850875 165.3124 1.0562052 Jun 1951 1.1160434 167.5135 0.9521146 Jul 1951 1.2415994 169.7439 0.9442294 Aug 1951 1.2331919 171.7657 0.9394767 Sep 1951 1.0697998 173.8116 0.9895473 Oct 1951 0.9321623 175.8891 0.9880629 Nov 1951 0.8077298 177.9914 1.0155182 Dec 1951 0.9042619 180.3327 1.0179804 Jan 1952 0.9124332 182.7047 1.0257588 Feb 1952 0.8922327 185.0254 1.0903427 Mar 1952 1.0159924 187.3755 1.0138039 Apr 1952 0.9860703 189.5022 0.9686269 May 1952 0.9850875 191.6529 0.9693059 Jun 1952 1.1160434 193.8174 1.0078193 Jul 1952 1.2415994 196.0063 0.9450968 Aug 1952 1.2331919 198.7204 0.9875114 Sep 1952 1.0697998 201.4722 0.9696806 Oct 1952 0.9321623 205.0051 0.9994872 Nov 1952 0.8077298 208.5999 1.0208178 Dec 1952 0.9042619 211.8312 1.0127856 Jan 1953 0.9124332 215.1126 0.9985945 Feb 1953 0.8922327 217.3918 1.0104963 Mar 1953 1.0159924 219.6952 1.0573067 Apr 1953 0.9860703 221.0698 1.0780292 May 1953 0.9850875 222.4530 1.0450146 Jun 1953 1.1160434 222.9154 0.9767539 Jul 1953 1.2415994 223.3787 0.9518766 Aug 1953 1.2331919 223.1419 0.9884553 Sep 1953 1.0697998 222.9054 0.9938601 Oct 1953 0.9321623 222.9661 1.0152012 Nov 1953 0.8077298 223.0268 0.9991931 Dec 1953 0.9042619 224.2200 0.9913510 Jan 1954 0.9124332 225.4196 0.9918304 Feb 1954 0.8922327 227.1983 0.9274162 Mar 1954 1.0159924 228.9910 1.0100876 Apr 1954 0.9860703 231.0598 0.9963080 May 1954 0.9850875 233.1473 1.0188510 Jun 1954 1.1160434 235.9391 1.0025889 Jul 1954 1.2415994 238.7644 1.0187226 Aug 1954 1.2331919 242.0040 0.9817807 Sep 1954 1.0697998 245.2875 0.9870105 Oct 1954 0.9321623 248.5585 0.9883605 Nov 1954 0.8077298 251.8730 0.9978109 Dec 1954 0.9042619 255.4887 0.9912189 Jan 1955 0.9124332 259.1563 1.0234169 Feb 1955 0.8922327 263.1227 0.9924746 Mar 1955 1.0159924 267.1499 0.9837069 Apr 1955 0.9860703 271.1240 1.0061816 May 1955 0.9850875 275.1572 0.9961116 Jun 1955 1.1160434 279.1320 1.0111599 Jul 1955 1.2415994 283.1642 1.0353367 Aug 1955 1.2331919 287.1562 0.9798974 Sep 1955 1.0697998 291.2045 1.0015069 Oct 1955 0.9321623 295.1284 0.9959739 Nov 1955 0.8077298 299.1052 0.9809757 Dec 1955 0.9042619 302.9850 1.0146808 Jan 1956 0.9124332 306.9151 1.0141426 Feb 1956 0.8922327 310.6566 0.9993580 Mar 1956 1.0159924 314.4437 0.9922611 Apr 1956 0.9860703 317.7520 0.9989602 May 1956 0.9850875 321.0951 1.0053531 Jun 1956 1.1160434 323.9475 1.0344652 Jul 1956 1.2415994 326.8252 1.0177778 Aug 1956 1.2331919 329.4577 0.9968382 Sep 1956 1.0697998 332.1114 0.9991762 Oct 1956 0.9321623 334.8672 0.9802960 Nov 1956 0.8077298 337.6460 0.9936688 Dec 1956 0.9042619 340.9221 0.9925950 Jan 1957 0.9124332 344.2299 1.0029074 Feb 1957 0.8922327 348.1472 0.9690036 Mar 1957 1.0159924 352.1091 0.9951357 Apr 1957 0.9860703 356.0264 0.9912637 May 1957 0.9850875 359.9872 1.0010746 Jun 1957 1.1160434 363.1119 1.0413360 Jul 1957 1.2415994 366.2637 1.0225336 Aug 1957 1.2331919 367.8907 1.0293604 Sep 1957 1.0697998 369.5249 1.0219630 Oct 1957 0.9321623 369.7803 1.0066862 Nov 1957 0.8077298 370.0360 1.0204454 Dec 1957 0.9042619 370.3949 1.0031828 Jan 1958 0.9124332 370.7541 1.0050598 Feb 1958 0.8922327 371.8580 0.9584552 Mar 1958 1.0159924 372.9652 0.9553220 Apr 1958 0.9860703 374.2700 0.9429449 May 1958 0.9850875 375.5794 0.9811380 Jun 1958 1.1160434 377.1730 1.0333980 Jul 1958 1.2415994 378.7734 1.0440482 Aug 1958 1.2331919 381.2015 1.0742517 Sep 1958 1.0697998 383.6453 0.9843487 Oct 1958 0.9321623 386.6073 0.9961686 Nov 1958 0.8077298 389.5922 0.9851114 Dec 1958 0.9042619 392.8128 0.9487462 Jan 1959 0.9124332 396.0600 0.9961860 Feb 1959 0.8922327 400.2301 0.9577192 Mar 1959 1.0159924 404.4441 0.9880457 Apr 1959 0.9860703 409.7882 0.9800039 May 1959 0.9850875 415.2029 1.0268667 Jun 1959 1.1160434 420.8169 1.0050039 Jul 1959 1.2415994 426.5068 1.0348398 #7月乘客增加了24%(即乘子爲1.24) Aug 1959 1.2331919 430.9021 1.0519679 Sep 1959 1.0697998 435.3428 0.9941389 Oct 1959 0.9321623 438.8444 0.9949296 Nov 1959 0.8077298 442.3741 1.0131012 Dec 1959 0.9042619 446.0808 1.0040313 Jan 1960 0.9124332 449.8186 1.0160090 Feb 1960 0.8922327 453.9261 0.9654137 Mar 1960 1.0159924 458.0711 0.9003071 Apr 1960 0.9860703 462.1153 1.0116789 May 1960 0.9850875 466.1952 1.0277782 Jun 1960 1.1160434 470.1191 1.0196820 Jul 1960 1.2415994 474.0762 1.0567220 Aug 1960 1.2331919 478.2454 1.0275220 Sep 1960 1.0697998 482.4514 0.9842550 Oct 1960 0.9321623 486.6737 1.0161821 Nov 1960 0.8077298 490.9329 0.9835046 Dec 1960 0.9042619 495.0963 0.9649389
圖1
R中自帶的monthplot()函數和forecast包中的seasonplot()函數來畫圖
#以下圖2 par(mfrow = c(2,1)) library(forecast) monthplot(AirPassengers,xlab="",ylab = "") seasonplot(AirPassengers,year.labels = "TRUE",main = "")
從圖中能夠看到兩幅圖整體的增加趨勢以及類似的季節模式