时间序列分析:非独立测量的评估

time series analyses: evaluation of non-independent measurements

我完全迷失了时间序列建模。

我有两个时间序列;一个包含年度温度,另一个仅包含夏季温度。我的目的是测试多年来是否有显着的温度升高。我的第一次尝试是简单地尝试一个线性模型。然而,我被告知我必须考虑测量的非独立性,因为一年的温度可能与前一年的温度有关。我找不到根据时间序列的需要更改 lm - 模型的选项,所以我想知道我还有哪些其他选项。在 nlme - 包的 lme 中,我可以指定一个相关项(我想这可以帮助我解决我的问题,但没有帮助,因为我没有随机组)。

这些是年度气温:

> annual.temperatures
   year temperature
1  1996    5.501111
2  1997    6.834444
3  1998    6.464444
4  1999    6.514444
5  2000    7.077778
6  2001    6.475556
7  2002    7.134444
8  2003    7.194444
9  2004    6.350000
10 2005    5.871111
11 2006    7.107778
12 2007    6.872222
13 2008    6.547778
14 2009    6.772222
15 2010    5.646667
16 2011    7.548889
17 2012    6.747778
18 2013    6.326667
19 2014    7.821111
20 2015    7.640000
21 2016    6.993333

这些是夏季温度:

> summer.temperatures
   year temperature
1  1996    10.99241
2  1997    11.83630
3  1998    11.99259
4  1999    12.41907
5  2000    12.06093
6  2001    12.27000
7  2002    11.79556
8  2003    13.32352
9  2004    12.10741
10 2005    11.98704
11 2006    12.89407
12 2007    11.24778
13 2008    11.85759
14 2009    12.51148
15 2010    11.29870
16 2011    12.35389
17 2012    12.33648
18 2013    12.24463
19 2014    12.31481
20 2015    12.73481
21 2016    12.43167

现在我找到了很多关于ARIMA和相关模型的东西,但是对于我这样的新手来说,这一切都很难理解。 Arima,例如,给我以下结果。但是,我不知道what/how要在arima内指定。我也不太明白结果告诉我什么。

> arima (annual.temperatures$temperature)

Call:
arima(x = annual.temperatures$temperature)

Coefficients:
      intercept
         6.7353
s.e.     0.1293

sigma^2 estimated as 0.3513:  log likelihood = -18.81,  aic = 41.63

这些问题很多。为了保持实用性,我的问题是:我如何充分回答从 1996 年到 2016 年的年度和夏季气温是否显着变暖的问题?

一个好的方法是使用 lme4 包假设你有连续的数据,这些数据或多或少在其分布中是正常的。

我还建议您阅读显示的演练 here 以确保您了解模型规范的术语。

最后,使用 sjplot 包中的 tab_model 命令可以非常有效地格式化输出。

非常简单的解决方案是使用 gls 命令:

library(nlme)

my_model <- gls (temp ~ time, 
            data = my_data, 
            correlation = corAR1 (form = ~ time))
summary (my_model)