Time-Series

分析短時間序列數據中的向上/向下模式

  • November 23, 2014

我沒有經常處理時間序列數據,所以我正在尋找一些關於如何最好地處理這個特定問題的指針。

假設我有以下數據 - 如下圖所示:

在此處輸入圖像描述

這裡的 x 軸上有年份。y 軸是衡量“不平等”的指標,例如它可能是一個國家的收入不平等。

對於這個問題,我有興趣詢問數據是否逐年上升/下降(因為需要更好的描述)。本質上,我想問的是,如果去年的不平等比去年上升,那麼現在是否有可能回落?起伏的大小也可能很重要。

我認為類似wavelet analysisFourier analysis可能會有所幫助,儘管我以前沒有使用過這些,而且我相信這樣的樣本量太小了。

會對我跟進的任何想法/建議感興趣。

編輯:

這些是此圖表的數據:

#   year     value
#1  1956 0.9570912
#2  1957 1.0303563
#3  1958 0.9568302
#4  1959 1.1449074
#5  1960 0.8962963
#6  1961 1.0431552
#7  1962 0.8050077
#8  1963 0.8533181
#9  1964 0.9971713
#10 1965 1.0453083
#11 1966 0.8221328
#12 1967 1.0594876
#13 1968 1.1244195
#14 1969 1.0705498
#15 1970 0.8669457
#16 1971 0.8757319
#17 1972 1.0815189
#18 1973 1.1458959
#19 1974 1.2782848
#20 1975 1.0729718
#21 1976 1.1569416
#22 1977 1.2063673
#23 1978 1.1509700
#24 1979 1.1172020
#25 1980 1.0691429
#26 1981 1.0907407
#27 1982 1.1753854
#28 1983 0.9440187
#29 1984 1.1214175
#30 1985 1.2777778
#31 1986 1.2141739
#32 1987 0.9481722
#33 1988 1.1484652
#34 1989 0.7968458
#35 1990 1.1721074
#36 1991 1.1569523
#37 1992 0.8160300
#38 1993 0.9483291
#39 1994 1.0898612
#40 1995 0.8196819
#41 1996 1.0297017
#42 1997 1.0207769
#43 1998 0.9720285
#44 1999 0.8685848
#45 2000 0.9228595
#46 2001 0.9171540
#47 2002 1.0470085
#48 2003 0.9313437
#49 2004 1.0943982
#50 2005 1.0248419
#51 2006 0.9392917
#52 2007 0.9666248
#53 2008 1.1243693
#54 2009 0.8829184
#55 2010 0.9619517
#56 2011 1.0030864
#57 2012 1.1576998
#58 2013 0.9944945

它們的R格式如下:

structure(list(year = structure(1:58, .Label = c("1956", "1957", 
"1958", "1959", "1960", "1961", "1962", "1963", "1964", "1965", 
"1966", "1967", "1968", "1969", "1970", "1971", "1972", "1973", 
"1974", "1975", "1976", "1977", "1978", "1979", "1980", "1981", 
"1982", "1983", "1984", "1985", "1986", "1987", "1988", "1989", 
"1990", "1991", "1992", "1993", "1994", "1995", "1996", "1997", 
"1998", "1999", "2000", "2001", "2002", "2003", "2004", "2005", 
"2006", "2007", "2008", "2009", "2010", "2011", "2012", "2013"
), class = "factor"), value = c(0.957091237579043, 1.03035630567276, 
0.956830206830207, 1.14490740740741, 0.896296296296296, 1.04315524964493, 
0.805007684426229, 0.853318117977528, 0.997171336206897, 1.04530832219251, 
0.822132760780104, 1.05948756976154, 1.1244195265602, 1.07054981337927, 
0.866945712836124, 0.875731948296804, 1.081518931763, 1.1458958958959, 
1.27828479729065, 1.07297178130511, 1.15694159981794, 1.20636732623034, 
1.15097001763668, 1.11720201026986, 1.06914289768696, 1.09074074074074, 
1.17538544689082, 0.944018731375053, 1.12141754850088, 1.27777777777778, 
1.21417390277039, 0.948172198172198, 1.14846524606799, 0.796845829569407, 
1.17210737869653, 1.15695226716732, 0.816029959161985, 0.94832907620264, 
1.08986124767836, 0.819681861348528, 1.02970169141241, 1.02077687443541, 
0.972028455959697, 0.868584838281808, 0.922859547859548, 0.917153996101365, 
1.04700854700855, 0.931343718539713, 1.09439821062628, 1.02484191508582, 
0.939291692822766, 0.966624816907303, 1.12436929683306, 0.882918437563246, 
0.961951667980037, 1.00308641975309, 1.15769980506823, 0.994494494494494
)), row.names = c(NA, -58L), class = "data.frame", .Names = c("year", 
"value"))

如果序列不相關,則不必要地採用差異會注入自相關。即使序列是自相關的,無根據的差分也是不合適的。簡單的想法和簡單的方法通常會產生不良的副作用。模型識別過程(ARIMA)從原始序列開始,可能會導致差異,但除非有理論上的理由,否則它不應該從無根據的差異開始。如果您希望可以發布您的短時間系列,我將用它來向您解釋如何確定該系列的模型。

收到數據後:

您的數據的 ACF 最初(或最終)在 ACF 和 PACF

圖片

和這裡只是 ACF 並沒有指示任何 ARIMA 過程:

圖片但是,您的數據似乎有兩個級別的變化……一個在 1972 年,另一個在 1992 年……他們似乎幾乎取消了電平轉換。一個有用的模型還可能包括在 1989、1959 和 1983 年期間合併三個不尋常的值。然後是方程圖片

,這裡

圖片

是模型統計數據:此處

圖片

是實際/擬合和預測,此處圖片是殘差圖,表明模型充分性圖片。殘差的 acf 證實了這一點圖片。最後擬合和預測總結了調查結果圖片

總之,該系列(可能是一個比率)沒有顯著的自回歸記憶,但確實具有一些明顯的確定性結構(統計顯著)。所有模型都是錯誤的,但有些是有用的(GEP Box)。

經過一番討論..如果要對差異進行建模,那麼將得到以下模型…在此處輸入圖像描述帶有 ACTUAL/FIT 和 FORECAST 在此處輸入圖像描述。預測看起來非常相似…… MA 係數有效地取消了差分算子。

引用自:https://stats.stackexchange.com/questions/125154

comments powered by Disqus

相關問答