R季节性时间序列


9

我在中使用该decompose函数,R并提出了我每月时间序列的3个组成部分(趋势,季节性和随机性)。如果我绘制图表或查看表格,则可以清楚地看到时间序列受季节的影响。

但是,当我将时间序列回归到11个季节性虚拟变量时,所有系数都不具有统计显着性,表明没有季节性。

我不明白为什么我要得出两个截然不同的结果。有人发生过这种事吗?难道我做错了什么?


我在这里添加一些有用的细节。

这是我的时间序列以及相应的每月更改。在两个图表中,您都可以看到有季节性(或者这就是我想评估的)。特别是,在第二张图表(该系列的每月变化)中,我可以看到一个反复出现的模式(一年中相同月份的高点和低点)。

时间序列

每月变更

下面是该decompose函数的输出。我很欣赏@RichardHardy所说的,该函数不会测试是否存在实际的季节性。但是分解似乎证实了我的想法。

分解

但是,当我对11个季节性虚拟变量(1月至11月,不包括12月)的时间序列进行回归时,会发现以下内容:

    Coefficients:
                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 5144454056  372840549  13.798   <2e-16 ***
    Jan     -616669492  527276161  -1.170    0.248    
    Feb     -586884419  527276161  -1.113    0.271    
    Mar     -461990149  527276161  -0.876    0.385    
    Apr     -407860396  527276161  -0.774    0.443    
    May     -395942771  527276161  -0.751    0.456    
    Jun     -382312331  527276161  -0.725    0.472    
    Jul     -342137426  527276161  -0.649    0.520    
    Aug     -308931830  527276161  -0.586    0.561    
    Sep     -275129629  527276161  -0.522    0.604    
    Oct     -218035419  527276161  -0.414    0.681    
    Nov     -159814080  527276161  -0.303    0.763

基本上,所有季节性系数都不具有统计学意义。

要运行线性回归,请使用以下函数:

lm.r = lm(Yvar~Var$Jan+Var$Feb+Var$Mar+Var$Apr+Var$May+Var$Jun+Var$Jul+Var$Aug+Var$Sep+Var$Oct+Var$Nov)

在这里,我将Yvar设置为具有每月频率(频率= 12)的时间序列变量。

我还尝试考虑时间序列的趋势成分,包括回归的趋势变量。但是,结果不会改变。

                  Estimate Std. Error t value Pr(>|t|)    
    (Intercept) 3600646404   96286811  37.395   <2e-16 ***
    Jan     -144950487  117138294  -1.237    0.222    
    Feb     -158048960  116963281  -1.351    0.183    
    Mar      -76038236  116804709  -0.651    0.518    
    Apr      -64792029  116662646  -0.555    0.581    
    May      -95757949  116537153  -0.822    0.415    
    Jun     -125011055  116428283  -1.074    0.288    
    Jul     -127719697  116336082  -1.098    0.278    
    Aug     -137397646  116260591  -1.182    0.243    
    Sep     -146478991  116201842  -1.261    0.214    
    Oct     -132268327  116159860  -1.139    0.261    
    Nov     -116930534  116134664  -1.007    0.319    
    trend     42883546    1396782  30.702   <2e-16 ***

因此,我的问题是:我在回归分析中做错了什么吗?


1
@forecaster,是您问题的答案(OP decomposeR使用了功能)。
理查德·哈迪

1
读取该decompose功能的帮助文件,似乎该功能未测试是否存在季节性。取而代之的是,它只是获取每个季节的平均值,减去平均值,并将其称为季节成分。因此,无论是否存在真正的潜在季节性因素或仅仅是噪声,它都会产生一个季节性因素。但是,尽管您说从数据图表中可以看到季节性,但这并不能解释为什么您的假人无关紧要。可能是您的样本太小而无法获得大量的季节性假人?它们共同重要吗?
理查德·哈迪

3
您需要查看比例,季节图显示季节变化在-0.02到+0.04之间,而实际值在40亿到60亿之间。分解功能会强制您的数据显示一些季节性,这就是为什么它显示的值可以忽略不计。您的数据没有季节性。
天气预报员

1
我认为季节性更多地是关于具有一定“固定”频率的运动,而不是运动的幅度。比例不同,因为第一个图表显示了余额(以磅为单位),第二个图表显示了变化(以百分比表示)。我刚刚尝试重新运行回归:如果考虑多项式趋势,则某些系数开始显着。我想,正如@danno所暗示的那样,趋势非常显着。
mattiace

1
Canova和Hansen检验可能会为您提供有关数据中季节性模式的存在和稳定性的更多信息。对于此测试的某些应用程序,请参见本博文,该博文还提供了指向原始论文和示例代码的链接。
javlacalle 2015年

Answers:


1

删除趋势后,是否要对数据进行回归?您的趋势为正,除非您已考虑Yvar的趋势,否则您的回归中的季节性特征可能会被掩盖(由于趋势或误差引起的方差大于因月引起的方差)。

另外,我对时间序列不是很自信,但是不应该为每个观察值分配一个月,并且您的回归看起来像这样吗?

lm(Yvar ~ Time + Month)

道歉,如果那没有道理...回归在这里最有意义吗?


我在《计量经济学》教科书(Wooldridge)上读到,如果在回归中引入“时间”因素,那就像是对原始时间序列进行反趋势化。对于“时间”因子,我的意思是一个向量,例如[1、2,...,n],其中n =观察次数。我真的不明白你的第二点。我的第二次回归如下所示:lm.r = lm(Yvar〜Var Jan + Var Nov)。这是你的意思吗?˚F ë b + + V a rTime+VarFeb+...+Var
mattiace

查看几行数据会有所帮助。但是,我想您有三列,时间,Yvar和月份。这些行是观察值。因此,我认为您的lm()中的因素将是时间和月份(而不是月份的因素级别)。另外,我认为lm()在时间序列上存在一些问题...观察结果不是独立的-时间自相关。
丹诺2015年

1

在时间序列的图形化描述中,很明显,“趋势”(时间上的线性分量)是实现的最重要的因素。我们要评论的是,这个时间序列最重要的方面是每个月的稳定增长。

在那之后,我要评论的是,相比之下,季节性变化很小。因此,不足为奇的是,对于6年中每月进行的测量(总共只有72个观测值),线性回归模型无法精确地确定11个月份中的任何一个具有统计学意义。此外,时间效应的确具有统计意义也就不足为奇了,因为在所有72个观测值中,它都是相同的近似一致的线性增长,条件是它们的季节效应。

对于11个月的对比中任何一项都没有统计学意义,并不意味着没有季节性影响。实际上,如果要使用回归模型来确定是否存在季节性变化,则合适的检验是嵌套的11自由度检验,该检验同时评估每个月对比的统计显着性。您可以通过进行ANOVA,似然比检验或鲁棒的Wald检验来获得此类检验。例如:

library(lmtest) model.mt <- lm(outcome ~ time + month) model.t <- lm(outcome ~ time) aov(model.mt, model.t) lrtest(model.mt, model.t) library(sandwich) ## autoregressive consistent robust standard errors waldtest(lrtest, lmtest, vcov.=function(x)vcovHAC(x))


0

我不知道这是否是您的情况,但是当我开始分析R中的时间序列时,这发生在我身上,问题是在创建时间序列对象进行分解时我没有正确说明时间序列周期。时间序列函数中有一个参数,可让您指定其频率。这样做可以正确分解其季节性趋势。


jmnavarro,我在分解函数中正确定义了频率(= 12,因为我有月度数据)。实际上,我对该功能的结果感到满意。我的问题是,当我使用虚拟变量进行线性回归时,为什么找不到相同的结果(季节性显着)。我用R和excel都做到了,结果是相同的:虚拟系数没有统计学意义。这与我先前在分解功能中发现的情况相反。我不知道我是否在这里丢失了什么东西
mattiace 2015年

是的,很抱歉,我没有完全理解您的问题。如果您可以发布代码,这将有所帮助,因此我们可以尝试并复制它。
jmnavarro 2015年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.