毕业实习统计模型(一)-时间序列...

内容

00简介

每个人都应该已经看到了上面的场景,但是对于许多毕业生来说,我真的不想写它,否则我就无法开始。根本原因是我对毕业设计的要求太高。看下面的图片是否很真实:

获取数据并面对大量方法文献,我无法开始。我无法理解无法理解这种生涩的方法的理论,也无法用完模型结果。本文介绍了时间序列的建模思想和实现方法。我希望为想要使用此模型的所有兄弟姐妹提供一个总体思路和完整案例。

本文中的案例是用R语言实现的。注意代码的实现。熟悉其他软件的姐妹仅供参考。

通过阅读本文毕业设计模型,您可以获得:

1、王岩先生撰写的时间序列教科书内容的指南。

2、平稳时间序列的情况。

3、完整的固定时间序列建模思路。

4、固定时间序列的R语言代码说明。

1、教科书指南1. 1教科书的选择

系统学习模型教科书肯定比文献更全面。对于时间序列教科书,推荐以下10本书。出于版权原因,我不会将链接发布给所有人。另行请求:QQ:1758714024

p>

选择这本书的原因只是我在学习时所用的书。理论部分建议大家阅读王岩编辑的第四版。那本书是基于sas,并且相对于这本书对理论进行了修改。

在介绍系统之前,我想向所有人介绍这本书,并为您做一个简短的介绍。未使用的童鞋可以快速熟悉上下文,这很方便。

1. 2阅读指南

这本书分为六章:

第一章从定义和开发中介绍了时间序列模型和基本的R语言基础。熟悉过程和R语言的学生可以直接跳过或简单地理解。

第二章是时间序列的预处理。主要介绍平稳性和纯随机性的定义和测试工具。

第3章是本书的重点。它从六个部分介绍了平稳性模型ARIMA:理论,建模,估计,测试,优化和预测。多读本章将有助于您了解模型的上下文和原理。

第5章第4章介绍了非平稳处理方法:第4章介绍了确定性因素并介绍了重要的分解定理。第五章是关于随机性的分析,主要是基于模型假设,对ARIMA进行必要的推广。

第6章介绍了多元时间序列以及两个重要的检验,单位根和协整。

2、建模思路流程图3、数据准备

哦,我真的不想找到数据。我该怎么办?随机生成em ...就是这样。

# 数据模拟
set.seed(0)  # 设置随机种子、保证结果的可重复性

# 注意这个函数只能生成平稳随机序列,生成时注意ar参数的设置
da <- arima.sim(n = 100,list(ar = c(0.8, -0.5), ma = c(0.2, 0.5)))
er <- rnorm(100,0,0.1)
data = da + er
> data
Time Series:
Start = 1 
End = 100 
Frequency = 1 
  [1]  0.12389653  1.49945239  1.20745886  1.31747199  1.57587201  0.36540926
  [7] -1.44492485 -1.78292312 -1.48271702 -1.03006832 -0.54900628 -1.11676718
 [13] -0.05195605  1.28991098  2.63158995  1.76024674  1.66887178  0.13920201
 [19]  1.70160454  1.96635121  1.25980331 -0.69688467 -2.77764077 -3.63842647
 [25] -3.98345147 -1.05019197  1.46007723  2.03231032  1.79755660 -0.32303663
 [31]  1.51065917  1.05375105  0.98906708  0.12789197  0.22674246  0.30845434
 [37] -1.90705909 -3.48193446 -2.77681165 -1.14464315  0.03006204  0.21778821
 [43] -1.07278976 -0.85279759 -2.00234148 -0.80575079 -0.16724405  0.53839246
 [49]  0.92228923  0.46849446 -0.53525609 -0.86716155 -0.17052567  1.57628817
 [55]  1.79469323  1.24031480 -0.88594329 -3.11117116 -3.51114947 -0.98442478
 [61]  1.56417591  2.42945315  1.02397262 -1.01183100 -0.57115941 -0.32765595
 [67]  1.76948693  2.42886603  3.01508993  0.98020403 -0.05131142 -2.07124064
 [73] -0.95345380  0.13839126  0.42572337  1.90721663  1.59843191  2.07847050
 [79]  1.87443764  0.30767669 -0.92514337 -1.44593647 -2.02971665 -0.40349496
 [85] -1.16088431  1.11945315  0.57036474  2.28298753  1.34368371 -0.37764917
 [91] -1.41256753 -1.33152368 -1.90564256 -0.14162506 -1.07420129  0.03475444
 [97]  0.57130049  0.61898680  0.67894434  0.22853495

以上是生成的数据。生成残差时,有意使方差变小manbetx移动版 ,这很容易理解。不要太难建模。据估计,arima.sim函数不需要解释用法。使用该参数时,请确保ar参数最后要稳定。

plot(data)  # 虽说平稳,但是还是让大家看看效果

4、模型建立

现在我已经掌握了所有数据,对模型有了一种感觉。预处理的第一步在下面执行。

4. 1个预处理

预处理主要是对数据进行插值,填写时间并查看稳定性。当然,我的数据是稳定的,不需要进行平稳性测试。插值方法主要采用样条插值和线性插值。这是平稳性测试方法的摘要。

1、时序图。乍一看,许多时序图将显示出明显的趋势,并且可以看出它们是不稳定的。

2、自相关图和部分自相关图。平稳序列具有相关系数的截断,可以通过这两个图来判断时间序列的平稳性。

3、当然,也有经常使用的统计检验毕业设计模型,即ad和adf检验,也称为单位根检验。用R语言制作单位的功能是:fUnitRoots软件包中的UnitrootTests和adfTest。 2、在tseries软件包中使用adf.test和pp.test。有关具体方法,请参见函数的hlep示例和参数说明。

4、白噪声测试用于测试纯随机性。

4. 2 acf,pacf

从文献[1]的第74页开始,以下是确定顺序的基础。

自相关系数偏自相关系数阶

涂片

p阶截断

AR(p)

q阶截断

涂片

MA(q)

涂片

涂片

ARMA(p,q)

接下来是自相关图和局部自相关图。

从以上两个图可以看出,这是ARMA的混合模型,无法达到确定顺序的目的。绘制这两张图片时,需要注意:

1、要求测试序列的稳定性,否则绘制此图将毫无意义。

2、有时,该图无法达到确定顺序的目的亚博app买球 ,就像ARMA模型一样。

3、看这两个图比较主观,没有固定的标准,通常不使用它们来确定模型形式。

4. 3个参数估计

参数估计通常使用以下三种方法:ML:最大似然估计,CSS:条件最小二乘估计365bet体育官网 ,CSS-ML:两者的混合方法在估计参数时设置不同的参数。到目前为止,我们尚未设置参数。使用auto.arima函数设置参数。该功能的参数设置灵活。我们发布他的函数参数:

function (y, d = NA, D = NA, max.p = 5, max.q = 5, max.P = 2, 
    max.Q = 2, max.order = 5, max.d = 2, max.D = 1, start.p = 2, 
    start.q = 2, start.P = 1, start.Q = 1, stationary = FALSE, 
    seasonal = TRUE, ic = c("aicc", "aic", "bic"), 
    stepwise = TRUE, nmodels = 94, trace = FALSE, approximation = (length(x) > 
        150 | frequency(x) > 12), method = NULL, truncate = NULL, 
    xreg = NULL, test = c("kpss", "adf", "pp"), 
    test.args = list(), seasonal.test = c("seas", "ocsb", 
        "hegy", "ch"), seasonal.test.args = list(), 
    allowdrift = TRUE, allowmean = TRUE, lambda = NULL, biasadj = FALSE, 
    parallel = FALSE, num.cores = 2, x = y, ...) 

输入参数为:原始序列,差序,遍历的p,q范围等。他可以输出参数估计的结果,也可以使用arima函数估计参数:

function (x, order = c(0L, 0L, 0L), seasonal = list(order = c(0L, 
    0L, 0L), period = NA), xreg = NULL, include.mean = TRUE, 
    transform.pars = TRUE, fixed = NULL, init = NULL, method = c("CSS-ML", 
        "ML", "CSS"), n.cond, SSinit = c("Gardner1980", 
        "Rossignol2011"), optim.method = "BFGS", 
    optim.control = list(), kappa = 1e+06) 

将不会引入其他参数。该方法用于设置估计方法。

发布了两种方法的建模结果。

> (fit <- auto.arima(data))
Series: data 
ARIMA(2,0,3) with zero mean 
Coefficients:
         ar1      ar2      ma1     ma2      ma3
      1.1219  -0.4597  -0.2205  0.3663  -0.6751
s.e.  0.1247   0.1004   0.1180  0.0921   0.1169
sigma^2 estimated as 0.7361:  log likelihood=-125.76
AIC=263.53   AICc=264.43   BIC=279.16
> # 参数估计,ML极大似然估计,CSS条件最小二乘估计,CSS-ML二者的混合方法
> (x.fit <- arima(data,order = c(2,0,3),method = "ML"))
Call:
arima(x = data, order = c(2, 0, 3), method = "ML")
Coefficients:
         ar1      ar2      ma1     ma2      ma3  intercept
      1.1219  -0.4597  -0.2205  0.3663  -0.6751    -0.0001
s.e.  0.1248   0.1004   0.1180  0.0921   0.1169     0.1197
sigma^2 estimated as 0.6992:  log likelihood = -125.76,  aic = 265.53

两个函数的结果相同。可以看出,其参数的实际结果与实际参数差别不大。模型效果还可以。

4. 4个模型评估

模型评估的主要指标是:

1、计算平均相对误差。

2、残差是否为白噪声序列,有关代码,请参见附录中的功能描述。

3、个系数的一阶范数。

4、 AIC信息指南。

5、模型的解释性。

6、模型的复杂性。

7、参数的显着性检验。

4. 5个预测

最后做出一个预测:

> x.fore <- forecast(x.fit, h = 10)
> x.fore
>     Point Forecast     Lo 80    Hi 80     Lo 95    Hi 95
101   -0.102760845 -1.174409 0.968887 -1.741705 1.536183
102    0.006071458 -1.436700 1.448843 -2.200457 2.212600
103   -0.056892787 -1.803108 1.689322 -2.727498 2.613713
104   -0.066670782 -1.814055 1.680713 -2.739064 2.605723
105   -0.048694801 -1.872936 1.775546 -2.838631 2.741241
106   -0.024032019 -1.931831 1.883767 -2.941759 2.893695
107   -0.004626320 -1.951014 1.941761 -2.981369 2.972117
108    0.005807276 -1.948516 1.960131 -2.983073 2.994687
109    0.008591691 -1.945835 1.963019 -2.980447 2.997630
110    0.006919018 -1.948378 1.962216 -2.983450 2.997288
> plot(x.fore)

最后绘制预测图:

上面是未来10个周期的预测图表。

5、附录

除了本文中使用的功能外,以下是时间序列中使用的一些功能并提供说明:

功能含义

ts

构建时间序列

简单

添加垂直线和水平线

Box.test

白噪声检查

过滤器

适合AR或MA模型

ar

拟合模型的参数

6、参考

王妍。时间序列分析:基于R.中国人民大学出版社。 201 5. 3.

单位根测试/ 5574482?fr = aladdin

上一篇 如何为毕业论文建立模型(论文模型构建步骤)
QQ咨询
在线咨询
电话咨询