在R

时间:2016-06-18 14:06:49

标签: r time-series

我试图对1960年至2015年的通货膨胀率时间序列数据进行分析。该数据集是一个超过56年的年度时间序列,每年有1个实际值,如下:

Year    Inflation percentage
1960    1.783264746
1961    1.752021563
1962    3.57615894
1963    2.941176471
1964    13.35403727
1965    9.479452055
1966    10.81081081
1967    13.0532972
1968    2.996404315
1969    0.574712644
1970    5.095238095
1971    3.081105573
1972    6.461538462
1973    16.92815855
1974    28.60169492
1975    5.738605162
1976    -7.63438068
1977    8.321619342
1978    2.517518817
1979    6.253164557
1980    11.3652609
1981    13.11510484
1982    7.887270664
1983    11.86886396
1984    8.32157969
1985    5.555555556
1986    8.730811404
1987    8.798689021
1988    9.384775808
1989    3.26256011
1990    8.971233545
1991    13.87024609
1992    11.78781925
1993    6.362038664
1994    10.21150033
1995    10.22488756
1996    8.977149075
1997    7.16425362
1998    13.2308409
1999    4.669821024
2000    4.009433962
2001    3.684807256
2002    4.392199745
2003    3.805865922
2004    3.76723848
2005    4.246353323
2006    6.145522388
2007    6.369996746
2008    8.351816444
2009    10.87739112
2010    11.99229692
2011    8.857845297
2012    9.312445605
2013    10.90764331
2014    6.353194544
2015    5.872426595

' stock1'包含我的数据,其中第一列代表Year,第二列代表Inflation.percentage',如下所示:

stock1<-read.csv("India-Inflation time series.csv", header=TRUE, stringsAsFactors=FALSE, as.is=TRUE)

以下是我创建时间序列对象的代码:

stock <- ts(stock1$Inflation.percentage,start=(1960), end=(2015),frequency=1)

在此之后,我试图分解时间序列对象&#39; stock&#39;使用以下代码行:

decom_add <- (decompose(stock, type ="additive"))

我在这里收到错误:

  

分解时出错(stock,type =&#34; additive&#34;):时间序列没有   或少于2个时期

为什么会这样?我最初认为它与频率有关,但由于数据是年度的,频率必须是1吗?如果它是1,那么数据中肯定不超过2个句点吗?

为什么decompose()没有工作?我做错了什么?

提前多多感谢!

1 个答案:

答案 0 :(得分:0)

请尝试使用frequency=2,因为频率必须大于1。因为此操作将更改您的模型,对我来说,更好的方法是加载包含和月列的数据,因此频率将为12