Licença

This work is licensed under the Creative Commons Attribution-ShareAlike 4.0 International License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/4.0/ or send a letter to Creative Commons, PO Box 1866, Mountain View, CA 94042, USA.

License: CC BY-SA 4.0

License: CC BY-SA 4.0

Citação

Sugestão de citação: FIGUEIREDO, Adriano Marcos Rodrigues. Séries Temporais com R: Arima simulator. Campo Grande-MS,Brasil: RStudio/Rpubs, 2019. Disponível em http://rpubs.com/amrofi/arima_simulator.

1 Modelos ARIMA

Todos os códigos foram adaptados de BAILEY (2017).

1.1 simulando um processo AR(1)

Código em R para gerar dados de um processo AR(1).

# definir uma 'seed' para permitir a reprodução da série temporal
set.seed(1)
# AR(1) com phi = 0.1
y.10 <- arima.sim(model = list(ar = 0.1), n = 100)
# AR(1) com phi= 0.5
y.50 <- arima.sim(model = list(ar = 0.5), n = 100)
# AR(1) com phi= -0.5
y.m50 <- arima.sim(model = list(ar = -0.5), n = 100)
# AR(1) com phi= 0.9
y.90 <- arima.sim(model = list(ar = 0.9), n = 100)

1.2 Plot da função de autocorrelação e autocorrelação parcial

par(mfrow = c(2, 2))  # definir uma matriz (2x2) de gráficos 
plot(y.10)
title("phi=0.1, 
      Processo AR(1)")
abline(h = 0)
plot(y.50)
title("phi = 0.5, 
      Processo AR(1)")
abline(h = 0)
plot(y.m50)
title("phi = -0.5, 
      Processo AR(1)")
abline(h = 0)
plot(y.90)
title("phi = 0.9, 
      Processo AR(1)")
abline(h = 0)

Definir os correlogramas (FAC - função de autocorrelação e FACP - função de autocorrelação parcial).

# FAC e FACP
par(mfrow = c(2, 2))
acf(y.10)
acf(y.10, type = "partial")
acf(y.50)
acf(y.50, type = "partial")

par(mfrow = c(2, 2))
acf(y.m50)
acf(y.m50, type = "partial")
acf(y.90)
acf(y.90, type = "partial")

1.3 Simulando AR(2)

par(mfrow = c(2, 1))
# Simulando AR(2)
y <- arima.sim(model = list(ar = c(-0.5, 0.3)), n = 100)
acf(y, main = "Processo AR(2)")
pacf(y, main = "Processo AR(2)")

1.4 Simulando MA(1)

y.ma1 <- arima.sim(model = list(ma = 0.5), n = 100)
acf(y.ma1, main = "Processo MA(1)")

pacf(y.ma1, main = "Processo MA(1)")

1.5 Simulando MA(2)

par(mfrow = c(1, 1))
y.ma2 <- arima.sim(model = list(ma = c(-0.7, 0.1)), n = 100)
ts.plot(y.ma2, main = "Processo MA(2)")

par(mfrow = c(2, 1))
acf(y.ma2, main = "Processo MA(2)")
pacf(y.ma2, main = "Processo MA(2)")

1.6 Simulando o ARIMA

series1 <- arima.sim(model = list(order = c(2, 1, 2), ar = c(0.4, 0.2), ma = c(0.3, 
    0.1)), n = 100)

# Plotar os dados.

plot(series1)
title("ARIMA(2,1,2)")

plot(diff(series1))
title("Série em Diferença")

par(mfrow = c(2, 1))
acf(series1, main = "ARIMA(2,1,2)")
pacf(series1, main = "ARIMA(2,1,2)")

par(mfrow = c(2, 1))
acf(diff(series1), main = "Série em Diferença")
pacf(diff(series1), main = "Série em Diferença")

Referências

BAILEY, Barbara. (2017) Notas de aula de STAT 673: Time Series Analysis. Disponível em: https://edoras.sdsu.edu/~babailey/stat673/ar1.ex1.r

LS0tDQp0aXRsZTogIlPDqXJpZXMgVGVtcG9yYWlzIGNvbSBSOiBBcmltYSBzaW11bGF0b3IiDQphdXRob3I6ICJBZHJpYW5vIE1hcmNvcyBSb2RyaWd1ZXMgRmlndWVpcmVkbyINCmxpbmtjb2xvcjogYmx1ZQ0KYWJzdHJhY3Q6IA0KICBUaGlzIGlzIGFuIHVuZGVyZ3JhZCBzdHVkZW50IGxldmVsIGluc3RydWN0aW9uIGZvciBjbGFzcyB1c2UuICANCmRhdGU6ICJgciBmb3JtYXQoU3lzLkRhdGUoKSwgJyVkICVCICVZJylgIg0Kb3V0cHV0Og0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICB0aGVtZTogZGVmYXVsdA0KICAgIG51bWJlcl9zZWN0aW9uczogdHJ1ZQ0KICAgIHRvYzogeWVzDQogICAgdG9jX2Zsb2F0OiB5ZXMNCiAgICBkZl9wcmludDogcGFnZWQNCiAgICBmaWdfY2FwdGlvbjogdHJ1ZQ0KICBwZGZfZG9jdW1lbnQ6DQogICAgdG9jOiB5ZXMNCi0tLQ0KDQpgYGB7ciBrbml0cl9pbml0LCBlY2hvPUZBTFNFLCBjYWNoZT1GQUxTRX0NCmxpYnJhcnkoa25pdHIpDQpsaWJyYXJ5KHJtYXJrZG93bikNCmxpYnJhcnkocm1kZm9ybWF0cykNCg0KIyMgR2xvYmFsIG9wdGlvbnMNCm9wdGlvbnMobWF4LnByaW50PSIxMDAiKQ0Kb3B0c19jaHVuayRzZXQoZWNobz1UUlVFLA0KCSAgICAgICAgICAgICBjYWNoZT1UUlVFLA0KICAgICAgICAgICAgICAgcHJvbXB0PUZBTFNFLA0KICAgICAgICAgICAgICAgdGlkeT1UUlVFLA0KICAgICAgICAgICAgICAgY29tbWVudD1OQSwNCiAgICAgICAgICAgICAgIG1lc3NhZ2U9RkFMU0UsDQogICAgICAgICAgICAgICB3YXJuaW5nPUZBTFNFKQ0Kb3B0c19rbml0JHNldCh3aWR0aD0xMDApDQpgYGANCg0KDQpMaWNlbsOnYSB7LSNMaWNlbsOnYX0NCj09PT09PT09PT09PT09PT09PT0NCg0KVGhpcyB3b3JrIGlzIGxpY2Vuc2VkIHVuZGVyIHRoZSBDcmVhdGl2ZSBDb21tb25zIEF0dHJpYnV0aW9uLVNoYXJlQWxpa2UgNC4wIEludGVybmF0aW9uYWwgTGljZW5zZS4gVG8gdmlldyBhIGNvcHkgb2YgdGhpcyBsaWNlbnNlLCB2aXNpdCA8aHR0cDovL2NyZWF0aXZlY29tbW9ucy5vcmcvbGljZW5zZXMvYnktc2EvNC4wLz4gb3Igc2VuZCBhIGxldHRlciB0byBDcmVhdGl2ZSBDb21tb25zLCBQTyBCb3ggMTg2NiwgTW91bnRhaW4gVmlldywgQ0EgOTQwNDIsIFVTQS4NCg0KIVtMaWNlbnNlOiBDQyBCWS1TQSA0LjBdKGh0dHBzOi8vbWlycm9ycy5jcmVhdGl2ZWNvbW1vbnMub3JnL3ByZXNza2l0L2J1dHRvbnMvODh4MzEvcG5nL2J5LXNhLnBuZyl7IHdpZHRoPTI1JSB9DQoNCkNpdGHDp8OjbyB7LSNDaXRhw6fDo299DQo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQ0KDQpTdWdlc3TDo28gZGUgY2l0YcOnw6NvOg0KRklHVUVJUkVETywgQWRyaWFubyBNYXJjb3MgUm9kcmlndWVzLiBTw6lyaWVzIFRlbXBvcmFpcyBjb20gUjogQXJpbWEgc2ltdWxhdG9yLiBDYW1wbyBHcmFuZGUtTVMsQnJhc2lsOiBSU3R1ZGlvL1JwdWJzLCAyMDE5LiBEaXNwb27DrXZlbCBlbSA8aHR0cDovL3JwdWJzLmNvbS9hbXJvZmkvYXJpbWFfc2ltdWxhdG9yPi4gDQoNCg0KTW9kZWxvcyBBUklNQQ0KPT09PT09PT09PT09PT09PT09PQ0KDQpUb2RvcyBvcyBjw7NkaWdvcyBmb3JhbSBhZGFwdGFkb3MgZGUgQkFJTEVZICgyMDE3KS4NCg0KIyMgc2ltdWxhbmRvIHVtIHByb2Nlc3NvIEFSKDEpDQoNCkPDs2RpZ28gZW0gUiBwYXJhIGdlcmFyIGRhZG9zIGRlIHVtIHByb2Nlc3NvIEFSKDEpLg0KDQpgYGB7cn0NCg0KI2RlZmluaXIgdW1hICdzZWVkJyBwYXJhIHBlcm1pdGlyIGEgcmVwcm9kdcOnw6NvIGRhIHPDqXJpZSB0ZW1wb3JhbA0Kc2V0LnNlZWQoMSkNCiMgQVIoMSkgY29tIHBoaSA9IDAuMSANCnkuMTAgPC0gIGFyaW1hLnNpbShtb2RlbD1saXN0KGFyPTAuMSksIG49MTAwKQ0KIyBBUigxKSBjb20gcGhpPSAwLjUNCnkuNTAgPC0gYXJpbWEuc2ltKG1vZGVsPWxpc3QoYXI9MC41KSwgbj0xMDApDQojIEFSKDEpIGNvbSBwaGk9IC0wLjUNCnkubTUwIDwtIGFyaW1hLnNpbShtb2RlbD1saXN0KGFyPS0wLjUpLCBuPTEwMCkNCiMgQVIoMSkgY29tIHBoaT0gMC45DQp5LjkwIDwtIGFyaW1hLnNpbShtb2RlbD1saXN0KGFyPS45KSwgbj0xMDApDQoNCmBgYA0KDQojIyBQbG90IGRhIGZ1bsOnw6NvIGRlIGF1dG9jb3JyZWxhw6fDo28gZSBhdXRvY29ycmVsYcOnw6NvIHBhcmNpYWwNCg0KYGBge3J9DQpwYXIobWZyb3c9YygyLDIpKSAjIGRlZmluaXIgdW1hIG1hdHJpeiAoMngyKSBkZSBncsOhZmljb3MgDQpwbG90KHkuMTApDQp0aXRsZSgicGhpPTAuMSwgDQogICAgICBQcm9jZXNzbyBBUigxKSIpDQphYmxpbmUoaD0wKQ0KcGxvdCh5LjUwKQ0KdGl0bGUoInBoaSA9IDAuNSwgDQogICAgICBQcm9jZXNzbyBBUigxKSIpDQphYmxpbmUoaD0wKQ0KcGxvdCh5Lm01MCkNCnRpdGxlKCJwaGkgPSAtMC41LCANCiAgICAgIFByb2Nlc3NvIEFSKDEpIikNCmFibGluZShoPTApDQpwbG90KHkuOTApDQp0aXRsZSgicGhpID0gMC45LCANCiAgICAgIFByb2Nlc3NvIEFSKDEpIikNCmFibGluZShoPTApDQpgYGANCg0KRGVmaW5pciBvcyBjb3JyZWxvZ3JhbWFzIChGQUMgLSBmdW7Dp8OjbyBkZSBhdXRvY29ycmVsYcOnw6NvIGUgRkFDUCAtIGZ1bsOnw6NvIGRlIGF1dG9jb3JyZWxhw6fDo28gcGFyY2lhbCkuDQoNCmBgYHtyfQ0KDQojIEZBQyBlIEZBQ1ANCnBhcihtZnJvdz1jKDIsMikpDQphY2YoeS4xMCkNCmFjZih5LjEwLCB0eXBlPSJwYXJ0aWFsIikNCmFjZih5LjUwKQ0KYWNmKHkuNTAsIHR5cGU9InBhcnRpYWwiKQ0KDQpwYXIobWZyb3c9YygyLDIpKQ0KYWNmKHkubTUwKQ0KYWNmKHkubTUwLCB0eXBlPSJwYXJ0aWFsIikNCmFjZih5LjkwKQ0KYWNmKHkuOTAsIHR5cGU9InBhcnRpYWwiKQ0KYGBgDQoNCiMjIFNpbXVsYW5kbyBBUigyKQ0KDQpgYGB7cn0NCnBhcihtZnJvdz1jKDIsMSkpDQojIFNpbXVsYW5kbyBBUigyKQ0KeSA8LSBhcmltYS5zaW0obW9kZWw9bGlzdChhcj1jKC0wLjUsMC4zKSksIG49MTAwKQ0KYWNmKHksIG1haW49IlByb2Nlc3NvIEFSKDIpIikNCnBhY2YoeSwgbWFpbj0iUHJvY2Vzc28gQVIoMikiKQ0KYGBgDQoNCg0KIyMgU2ltdWxhbmRvIE1BKDEpDQoNCmBgYHtyfQ0KeS5tYTEgPC0gYXJpbWEuc2ltKG1vZGVsPWxpc3QobWE9MC41KSwgbj0xMDApDQphY2YoeS5tYTEsIG1haW49IlByb2Nlc3NvIE1BKDEpIikNCnBhY2YoeS5tYTEsIG1haW49IlByb2Nlc3NvIE1BKDEpIikNCmBgYA0KDQojIyBTaW11bGFuZG8gTUEoMikNCg0KYGBge3J9DQpwYXIobWZyb3c9YygxLDEpKQ0KeS5tYTI8LWFyaW1hLnNpbShtb2RlbD1saXN0KG1hPWMoLS43LC4xKSksbj0xMDApDQp0cy5wbG90KHkubWEyLG1haW49IlByb2Nlc3NvIE1BKDIpIikNCnBhcihtZnJvdz1jKDIsMSkpDQphY2YoeS5tYTIsIG1haW49IlByb2Nlc3NvIE1BKDIpIikNCnBhY2YoeS5tYTIsIG1haW49IlByb2Nlc3NvIE1BKDIpIikNCmBgYA0KDQojIyBTaW11bGFuZG8gbyBBUklNQQ0KDQpgYGB7cn0NCnNlcmllczEgPC0gYXJpbWEuc2ltKG1vZGVsPWxpc3Qob3JkZXI9YygyLDEsMiksIA0KICAgICAgICAgICAgICBhcj1jKC40LCAuMiksIG1hPWMoLjMsLjEpKSwgbj0xMDApDQoNCiMgUGxvdGFyIG9zIGRhZG9zLg0KDQpwbG90KHNlcmllczEpDQp0aXRsZSgiQVJJTUEoMiwxLDIpIikNCnBsb3QoZGlmZihzZXJpZXMxKSkNCnRpdGxlKCJTw6lyaWUgZW0gRGlmZXJlbsOnYSIpDQpwYXIobWZyb3c9YygyLDEpKQ0KYWNmKHNlcmllczEsIG1haW49IkFSSU1BKDIsMSwyKSIpDQpwYWNmKHNlcmllczEsIG1haW49IkFSSU1BKDIsMSwyKSIpDQpwYXIobWZyb3c9YygyLDEpKQ0KYWNmKGRpZmYoc2VyaWVzMSksIG1haW49IlPDqXJpZSBlbSBEaWZlcmVuw6dhIikNCnBhY2YoZGlmZihzZXJpZXMxKSwgbWFpbj0iU8OpcmllIGVtIERpZmVyZW7Dp2EiKQ0KYGBgDQoNClJlZmVyw6puY2lhcyB7LSNSZWZlcsOqbmNpYXN9DQo9PT09PT09PT09PT09PT09PT09PT09PT0NCg0KQkFJTEVZLCBCYXJiYXJhLiAoMjAxNykgTm90YXMgZGUgYXVsYSBkZSBTVEFUIDY3MzogVGltZSBTZXJpZXMgQW5hbHlzaXMuIERpc3BvbsOtdmVsIGVtOiA8aHR0cHM6Ly9lZG9yYXMuc2RzdS5lZHUvfmJhYmFpbGV5L3N0YXQ2NzMvYXIxLmV4MS5yPg==