XXX ENCONTRO NACIONAL DE ENGENHARIA DE PRODUÇÃO Mauridade e desafios da Engenharia de Produção: compeiividade das empresas, condições de rabalho, meio ambiene. São Carlos, SP, Brasil, 12 a15 de ouubro de 2010. PROPOSTA DE FUNÇÃO EXECUTÁVEL EM R PARA AJUSTE DE MODELOS ARIMA(P, D, Q) Lúcia Adriana dos Sanos Gruginskie (UNISINOS) lagruginskie@gmail.com A proposa dese arigo é consruir e esar uma função, execuável no R, que ajuse (p+1)*(q+1)*(d+1) modelos ARIMA(p, d, q) a uma série emporal univariada, reornando uma mariz cujas colunas apresenem diversas medidas (como AIC, BIC e mape) sobre os modelos ajusados. A função é execuada sem a necessidade de insalação do pacoe forecas. Palavras-chaves: Modelos ARIMA, R, previsão
1 Inrodução Enconra-se disponível, hoje, uma gama de arigos e disserações sobre previsão de demanda na engenharia de produção. Esses esudos uilizam-se de dados hisóricos - ou dados hisóricos combinados com ouros méodos de previsão, como a opinião de especialisas - para prever a demanda de produos. Em relação à análise de séries hisóricas para previsão, os modelos de Box & Jenkins, ambém conhecidos por modelos ARIMA (Auorregressivo Inegrado de Média Móvel), são basane uilizados em engenharia de produção, de forma individual ou combinada, como, por exemplo, nos rabalhos de Mileski (2007), Werner e Ribeiro (2006), Werner e Ribeiro (2003), Dias (2006) e Pellegrini (2000), enre ouros. Na uilização da abordagem de Box & Jenkins, no curso do ciclo ieraivo no qual os modelos são consruídos, o passo de idenificação pode ser considerado o mais difícil/críico. (MORETTIN & TOLOI, 2004). Pacoes esaísicos comerciais, como o SPSS, sugerem modelos de ajuse, faciliando o processo de idenificação. Sofwares livres, como o R, ambém possuem formas de idenificar o melhor modelo para o ajuse de séries emporais. A proposa dese arigo é consruir e esar uma função, a ser execuada no R, que ajuse vários modelos ARIMA (p, d, q) a uma série e reorne uma mariz conendo as ordens dos modelos ajusados e uma série de medidas calculadas com o objeivo de faciliar o processo de idenificação do modelo final a ser ajusado. A mariz resulane não dispensa o conhecimeno do analisa, mas reduz o empo de processameno à medida que ajusa vários modelos de forma consecuiva aravés da combinação das ordens p, q e d. O arigo esá esruurado em cinco seções. Após a inrodução, segue uma seção com conceios básicos sobre a abordagem ARIMA, concenrando-se na fase de idenificação, enquano a erceira apresena algumas considerações sobre o R A language and environmen for saisical compuing. A quara seção esa a função em rês séries obidas na lieraura e, por fim, a quina seção raz algumas considerações finais. 2 Os modelos de Box e Jenkins Os modelos foram inroduzidos por Box e Jenkins em 1970 e muios auores ora usam o ermo ARIMA (ou AR, ARI, ARMA, IMA, dependendo das ordens dos modelos), ora modelos de Box & Jenkins. A suposição deses modelos é que a variação conida na série pode ser represenada em rês componenes: o auorregressivo (AR), o componene inegrado (I) ou diferenciado e o componene média móvel (MA). (SPSS INC, 2006). A forma geral dos modelos é ARIMA(p, d, q)(p, D, Q), onde: p refere-se ao processo auorregressivo não sazonal incorporado no modelo ARIMA e P refere-se ao processo auorregressivo sazonal. A ordem da auorregressão (p) refere-se a diferença de empo enre o valor aual e os valores que o predizem; d refere-se à ordem de inegração ou diferenciação não sazonal e D à ordem de inegração sazonal; 2
q refere-se ao processo de média móvel não sazonal incorporada ao modelo e Q refere-se ao processo de média móvel sazonal. Ese arigo não raará de modelos sazonais. O ermo não esacionariedade de uma série implica exisir inclinação nos dados e/ou fluuações aumenando ou diminuindo com o passar do empo (ese úlimo pode indicar variância alerada). Para Morein e Toloi (2004), há duas razões para ransformar a série: esabilizar a variância e ornar o efeio sazonal adiivo. Uma dada série de diferenças: d Z Z, não esacionária, pode ornar-se esacionária omando um número finio A série, esacionária não sazonal, pode ser escria como: 1 1 2 2... p p a 1a 1 2a 2... qa q Onde: é o valor da série no insane após a inegração (quando for o caso); i são os parâmeros auorregressivos, i = i, 2,..., p; são os parâmeros das médias móveis, i = 1, 2,... q; 1 2 a represena o ruído branco (ruído com média 0 e variância a ). A esraégia para a consrução do modelo esá baseada em um ciclo ieraivo baseado nos próprios dados, conforme fluxograma abaixo: Escolher uma classe geral de modelo Idenificar o modelo Esimar os parâmeros Diagnosicar (O modelo é adequado?) Não Sim Usar o modelo para previsão ou conrole Figura 1 Eságios na abordagem ieraiva para consrução do modelo Fone: Adapado de Box & Jenkins (1970) 3
Segundo Box e Jenkins (1970), a parir da ineração enre eoria e práica, uma classe de modelos para os fins em quesão é considerada. Como essa classe é exensa para ser ajusada direamene aos dados de forma conveniene, méodos para a idenificação de subclasses são desenvolvidos. Tais méodos de idenificação do modelo empregam o conhecimeno do sisema para sugerir uma subclasse apropriada, parcimoniosa, que pode ser provisoriamene cogiada. Usualmene, a forma de idenificar o modelo é examinar as ACFs e PACFs, respecivamene, as funções de auocorrelação e auocorrelação parcial. A ACF e a PACF são ferramenas para verificar o desempenho e a especificação dos modelos de séries emporais. A auocorrelação é usada para descrever a correlação enre dois valores da mesma série emporal, em diferenes períodos de empo. A auocorrelação parcial é uilizada para descrever a correlação enre dois valores da mesma série, porém reirando a influência de valores inermediários. Para auxiliar na idenificação, Shumway (1988) relaciona os seguines comporamenos das funções de auocorrelação e auocorrelação parcial: Não esacionariedade: a ACF decai vagarosamene e a PACF em um valor significaivo (posiivo ou negaivo) no lag 1; Não esacionariedade sazonal: a ACF é próxima de zero, exceo nos lags s, 2s e assim por diane e ambém decai vagarosamene. A série ambém pode se ornar esacionária aravés da diferenciação sazonal, omando, usualmene, uma única diferença; Comporameno auorregressivo: a PACF é diferene de zero para lags 1, 2,..., p e zero para os demais; Comporameno auorregressivo sazonal: A PACF é zero, exceo para os lags s, 2s,... e zero para os demais; Comporameno média móvel: a ACF é diferene de zero para lags 1, 2,... q e zero para os demais; Comporameno média móvel sazonal: a ACF é zero exceo para os lags s, 2s... Sobre as ordens dos modelos, Box e al. (apud Pellegrini, 2000), indicam que p e q são geralmene menores que 2 para séries emporais esacionárias e Shumway (1988) sugere que pode-se ornar uma série esacionária aravés da diferenciação, quando, usualmene, d<=2, aconselhando a omar cuidado para eviar a superdiferenciação na série. O próximo passo é a esimação dos parâmeros. É imporane, na práica, que se empregue o menor número possível de parâmeros para uma adequada represenação. A regra cenral é o princípio da parcimônia (BOX E JENKINS, 1970). O ciclo ieraivo segue com a fase de verificação, quando pode ser feia a análise dos resíduos e a realização de eses como o de Box Ljung. O ese de Box Ljung objeiva verificar se as auocorrelações dos resíduos apresenam valores alos, embora deece quebras específicas no comporameno de ruído branco (MORETTIN e TOLOI, 2004). De acordo com Morein e Toloi (2004), a comparação dos valores da auocorrelação esimada dos resíduos com os limies de ±2 n fornece uma indicação de possível quebra de comporameno de ruído branco, com a condição de que, para pequenos valores de k (relações enre lags próximos), esses limies subesimarão a significância de qualquer discrepância. O arigo não visa a aprofundar conceios nos modelos de Box e Jenkins, pois podem ser 4
obidos em Box e Jenkins (1970), Shumway (1988) e Morein e Toloi (2004), enre ouros. Mesmo assim, alguns ermos uilizados adiane serão conceiuados como o ese de Dickey- Fuller e medidas de bondade de ajuse. O ese de Dickey-Fuller esa a hipóese nula que a série em uma raiz uniária conra a alernaiva de esacionariedade e, segundo Werner e Ribeiro (2003), é o ese para raízes uniárias mais uilizado. Em relação aos coeficienes esimados para p, q e inercepo, considerando que o amanho da amosra é grande, de acordo com Morein e Toloi (2004), os esimadores de máxima verossimilhança possuem uma disribuição assinóica normal e, a parir das esimaivas das variâncias, pode-se ober inervalos de confiança para os coeficienes. Medidas de bondade de ajuse para modelos de séries emporais são usualmene associadas com o erro das previsões. Porém, para comparar modelos com diferenes números de parâmeros, os criérios AIC (Akaike informaion crieria) e BIC (Bayesian informaion crierion) podem usados, pois modelos com muios parâmeros ou não esacionários obêm maior penalidade. (DURBIN E KOOPMAN, 2008). Para a esimação dos coeficienes, com o R, podem ser uilizados os méodos de máxima verossimilhança e soma de quadrados condicional. De acordo com Morein e Toloi (2004), a fase críica do procedimeno é a idenificação, quando vários pesquisadores podem idenificar modelos diferenes para uma mesma série emporal. Desa forma, pode-se idenificar não um único modelo, mas alguns modelos que serão esimados e verificados. Nese arigo, o ese de Shapiro-Wilk é usado para esar a normalidade dos resíduos. 3 R Saisical Compuing Environmen and Graphics O R é uma linguagem e ambiene para compuação esaísica. É um projeo GNU (General Public License da Free Sofware Foundaion), fornecendo uma ampla variedade de análises esaísicas e écnicas gráficas, oferecendo o código abero como uma roa para a paricipação nessa aividade. O R pode ser compilado e execuado em um grande número de plaaformas UNIX e sisemas semelhanes (como o FreeBSD e Linux), Windows e MacOS. (MILESKI, 2007). De acordo com Hyndman e Racine (2002), a sinaxe da linguagem R é muio similar à linguagem S. As principais diferenças são as seguines: no R, os objeos não são salvos em arquivos, mas armazenados inernamene; os pacoes disponíveis em R são diferenes das biblioecas disponíveis no S-Plus. Enre ouras possibilidades, o R possui uma bem desenvolvida, simples e eficaz linguagem de programação, que inclui condicionanes, loops, funções recursivas definidas pelo usuário e facilidades de enrada e saída. Para arefas compuacionais inensivas, o C, o C++ e o Forran podem ser conecados e acessados durane a execução. No ambiene R, a análise esaísica é geralmene feia como uma série de passos, com os resulados inermediários sendo armazenados. Segundo Hyndman e Racine (2002), poderosos sofwares comerciais como Malab, Miniab, SAS, SPSS e S-Plus, enre ouros, podem ser caros, às vezes com resrições de licença e uso. 5
Assim, o R surgiu como uma alernaiva a eses sofwares comerciais e, como eles, é dinâmico e evolui coninuamene. 4 Proposa do arigo O Sofware comercial SPSS, por exemplo, possui o Exper Modeler, que sugere um modelo de ajuse, enre modelos de alisameno exponencial e ARIMA/SARIMA. O Exper Modeler auomaicamene idenifica e esima o melhor ajuse, baseado em uma medida como o BIC normalizado. Hyndman e Khandakar (2008) descreveram dois algorimos de predição implemenados no pacoe forecas do R, baseados em modelos de alisameno exponencial e de ARIMA, aplicados ano em séries sazonais como não sazonais. Especificamene ao modelo ARIMA, o algorimo auo.arima reorna o melhor modelo de acordo com os criérios AIC, AICc e BIC. O algorimo realiza uma pesquisa sobre o modelo possível denro das limiações da ordem fornecida e reorna o modelo com o menor criério especificado. Tano o exper modeler quano o auo.arima apresenam o melhor modelo segundo algum criério. Para comparar dois modelos específicos, são necessárias mais de uma execução. Assim, na enaiva de faciliar o eságio de idenificação do modelo final a ser ajusado, propõe-se a consrução de uma função a ser execuada no R que ajuse vários modelos ARIMA(p, d, q), reornando uma mariz que raga nas linhas o número de modelos analisados e nas colunas as medidas/informações sobre os modelos. A função, no ambiene R, não necessia de insalação do pacoe forecas. O comando para execução da função requer valores máximos para as ordens p, q e d e o méodo de ajuse (máxima verossimilhança, soma de quadrados condicional ou máxima verssomilhança/soma de quadrados condicional), conforme opções da função arima, no ambiene R. Caso não seja preenchido nada para méodo, a função ajusa de acordo com a soma de quadrados condicional. A função proposa ajusa (p+1)x(q+1)x(d+1) modelos a uma série emporal, sendo que começa com o modelo ARIMA(0, 0, 0), seguindo com o modelo ARIMA(1, 0, 0) e ermina no modelo (p, d, q). O valor máximo aceiável para p e q é 6 e para d é 2; porém, acredia-se que são valores exagerados. Poder-se-ia enar modelos com ordens menores. A mariz resulane é ordenada segundo o valor de AIC Akaike informaion crieria quando é possível uilizar o méodo de máxima verossimilhança, ou pelo mape média absolua percenual dos erros, quando for uilizado o méodo CSS. Além da mariz, a função ainda fornece os gráficos da série, da auocorrelação e da auocorrelação parcial da série original. Fornece, ambém, os valores da esaísica e o p-value do ese de Dickey-Fuller para a série original, para a 1ª e 2ª diferenças. Após a obenção da mariz, o analisa pode escolher alguns (poucos) modelos candidaos e realizar os demais eses e refazer os inervalos de confiança para os coeficienes. A proposa é a de se ober, a parir da execução de uma linha de comando, uma mariz com reze colunas: p : ordem de auorregressão; d : ordem de inegração; q : ordem de médias móveis; sigma2: 2 esimada; 6
loglik: o log da máxima verossimilhança (dos dados diferenciados ou não); Aic: Akaike informaion crieria; n_coef: o número de coeficienes esados no modelo (p+q para modelos com inegração e p+q+1 quando d=0); fora: número de coeficienes fora do inervalo coef ± 1.96 coef. Considera-se que o número de observações da série seja grande para uilizar a aproximação normal. Na análise exploraória, o grau de confiança é fixado em 95%; Ljung: p-value do ese de Ljung realizado para o lag=1; Shapiro: p-value do ese de Shapiro-Wilk realizado com os resíduos; c_fora: número de auocorrelações dos resíduos diferenes de zero, segundo o proposo por Morein e Toloi (2004). Considerando que a mariz resulane é apenas uma análise exploraória e não dispensa eses poseriores; mape: média absolua percenual dos resíduos; Bic: Bayesian informaion crieria. Em relação ao número de coeficienes, considera-se que se a ordem de d, número de diferenças, for maior ou igual a 1, o número de coeficienes é igual a p+q; caso conrário, p+q+1. Segundo Morein e Toloi (2004), pode-se supor que, quando d>0, o ermo consane no modelo pode ser igual a zero. As colunas sigma2, loglik e Aic são obidas do resulado da execução da função arima no R, enquano os eses de Ljung e Shapiro são calculados usando as funções de Box.ex e Shapiro.es, respecivamene. As colunas n_coef, fora, c_fora, mape e Bic são calculadas na função proposa em Anexo. A função foi consruída na versão 2.10.0. 4.1 Tese da Função A função pode ser execuada em séries univariadas, variáveis regressoras ou valores perdidos (missing values). A função não analisa os ouliers. A função pode ser chamada da seguine forma: ajuse(x=serie, p=p, d=d, q=q, mehod=( ML, ML-CSS, CSS )) Onde: x é a série emporal; p, d e q são as ordens máximas; mehod é o méodo selecionado. A função arima do R dispõe das formas de ajuse de máxima verossimilhança e soma de quadrados condicional. O padrão, a não ser que haja valores perdidos, é a uilização da soma de quadrados condicional para localizar os valores iniciais e enão usar a máxima verossimilhança. A seguir o ese da função em 3 séries pesquisadas na lieraura. Não é objeivo do arigo propor um modelo para as séries, mas fornecer informações para a escolha de um. 4.1.1 Série Nile São 100 medições da vazão anual do rio Nilo no período de 1871 1970. A série esá no banco de dados do R. 7
Comando: fi_a<-ajuse(s=nile, p=6, d=1, q=6, mehod="ml") Ou seja, o ajuse de (6+1)*(1+1)*(6+1) modelos de Box & Jenkins aplicados à mesma série. A função reornou a esaísica do ese de Dickey-Fuller e o p-value, a seguir. esaísica e p-value do Tese de Dickey-Fuller - série original: -6.690051 0.01 esaísica e p-value do Tese de Dickey-Fuller - 1ª diferença: -16.93959 0.01 esaísica e p-value do Tese de Dickey-Fuller - 2ª diferença: -32.16724 0.01 A realização do ese é para auxiliar na omada de decisão de quanas diferenças omar. Os gráficos da série original a ACF e a PACF esão a seguir. Figura 2 Gráfico da série, da função de auocorrelação e auocorrelação parcial Abaixo, os rês modelos com menores AIC para a série. São as rês primeiras linhas da mariz resulane, porém, ransposa. As demais linhas foram suprimidas. Linha 8
Coluna 1 2 3 p 2 1 0 d 1 1 1 q 4 1 2 Sigma2 17480,38 19769,29 19912,62 Loglik -626,61-630,63-630,98 Aic 1267,23 1267,26 1267,96 Coeficienes esimados 6 2 2 Coeficienes esimados igual a zero 0 0 1 Box Ljung (p-value) 0,94 0,74 0,99 Shapiro es (p-value) 0,87 0,73 0,69 Número de auocorrelações residuais diferenes de zero 0 0 0 Mape 12,29 12,79 12,81 BIC 1285,39 1275,04 1275,74 Fone: Resulado da aplicação da função Tabela 1 Resulado da aplicação da função (Mariz ransposa das 3 primeiras linhas) Com os resulados da função execuada, é possível eliminar modelos que não são ineressanes por apresenar auocorrelação dos resíduos no lag=1, verificado pelo ese de Box Ljung ou por apresenar auocorrelações dos resíduos diferenes de zero, por exemplo. Embora a função enha sido execuada com sucesso no R, gerando uma mariz com 98 linhas (98 modelos ajusados), ela gerou 9 avisos: 7 problemas de convergência e 2 noificando pelo desvio padrão igual a NaN (No a Number). Quando aconece o problema de convergência, a função reorna NA (missing) para odas as medidas daquele modelo, exceo para as ordens p, d e q. Quando a variância de algum dos coeficienes for NaN, o valor reornado para coeficienes esimados igual a zero é NA, na mariz de resulados. As demais séries esadas erão as saídas omiidas. 4.1.2 Série B São 114 observações do preço médio mensal (correne) recebido pelos produores de café, exposo em Morein e Toloi (1981). Comando: fi_b<-ajuse(s=b, p=6, d=2, q=6, mehod="ml") A função ambém foi execuada com sucesso, gerando 147 linhas (modelos). Como na série anerior, a função gerou 25 avisos acusando problemas de convergência. 4.1.3 Série S Série obida de Makridakis e al. (apud Pellegrini, 2000), referene a usuários conecados a um servidor da inerne durane um período de 100 minuos. Comando: fi_c<-ajuse(s=s, p=6, d=2, q=6, mehod="ml") A função reornou os gráficos e as saídas dos eses de Dickey-Fuller, porém acusou erro. As alernaivas foram ou reduzir as ordens de p, d e q ou mudar o méodo para CSS - soma de quadrados condicionais. O comando uilizado novamene foi: fi_d<-ajuse(s=s, p=6, d=2, q=6, mehod="css") 9
A função foi execuada com sucesso, reornando 29 avisos acusando problemas de convergência. A desvanagem de uilizar o méodo CSS em vez de ML é que aquele reorna NA para os criérios AIC e BIC. Quando a série original apresena zeros, o mape reorna NA. 5 Considerações finais A função execuada no R apresena as seguines limiações: Pode ser aplicada apenas em séries univariadas, sem componenes sazonais, variáveis regressoras e valores perdidos. A função ainda pode incorporar análises complemenares, como a deecção de valores exremos e formas de comparar as previsões com os modelos ajusados, além de ouras medidas imporanes na comparação de modelos. Além das implemenações elencadas nos parágrafos precedenes, é necessário resolver os avisos (warnings) poseriormene, sendo esses os desafios fuuros. Por ouro lado, a função proposa pode auxiliar na idenificação quando se ajusa um modelo de Box & Jenkins a uma série emporal, à medida que permie comparar vários modelos simulaneamene, permiindo descarar aqueles que não são ineressanes. Referências BOX, G.E.P. & JENKINS, G.M. Time series analysis: forecasing and conrol. San Francisco: Holden-Day, 1970. DIAS, G.J.C. Planejameno esraégico de um cenro de disribuição: uma aplicação de redes neurais arificiais de funções de bases radiais para previsão de séries emporais. Disseração (Méodos Numéricos em Engenharia). Universidade Federal do Paraná, 2006. DURBIN J. & KOOPMAN S.J. Time series analysis by sae space mehods. Oxford: Oxford Universiy Press, 2001. Reimpreed 2008. HYNDMAN, R. & RACINE, J. Using R o each economerics. Journal of Applied Economerics. Vol. 17, p. 175-189, 2002. HYNDMAN, R. & KHANDAKAR, Y. Auomaic ime series forecasing: he forecas package for R. Journal of Saisical Sofware. Vol. 27, 2008. MILESKI, A.J. Análise de méodos de previsão de demanda baseados em séries emporais de uma empresa do seor de perfumes e cosméicos. Disseração (Engenharia de Produção e Sisemas). Ponifícia Universidade Caólica do Paraná, 2007. MORETTIN, P.A. TOLOI, C.M.C. Modelos para previsão de séries emporais. Rio de Janeiro: IMPA/CNPQ, 1981. v. 2. MORETTIN, P.A. TOLOI, C.M.C. Análise de séries emporais. São Paulo: Blucher, 2004. PELLEGRINI, F.R. Meodologia para implemenação de sisemas de previsão de demanda. Disseração (Engenharia de Produção). Universidade Federal do Rio Grande do Sul, 2000. R Developmen Core Team (2009). R: A language and environmen for saisical compuing. R Foundaion for Saisical Compuing, Vienna, Ausria. ISBN 3-900051-07-0, URL hp://www.r-projec.org. SHUMWAY, R.H. Applied saisical ime series analysis. New Jersey: Prenice-Hall, 1988. SPSS Inc. TIME SERIES ANALYSIS AND FORECASTING WITH SPSS 14 FOR WINDOWS. Copyrigh 2006 by SPSS Inc. Prined in he Unied Saes of America. WERNER, L. & RIBEIRO, J.L.D. Modelo composo para prever demanda aravés da inegração de 10
previsões. Revisa Produção. Vol. 16, n. 3, p. 493-509, 2006. WERNER, L. & RIBEIRO, J.L.D. Previsão de demanda: uma aplicação dos modelos Box Jenkins na área de assisência écnica de compuadores pessoais. Revisa Gesão e Produção. Vol. 10, n. 1, p. 47-67, 2003. ANEXO Função proposa ajuse<-funcion(s, p, d, q, gc, mehod = c("css", "CSS-ML", "ML")) if (NCOL(s) > 1) sop("não é uma série univariada") if (!is.numeric(s)) sop("'s' não é uma variável numérica") x <- as.s(s) if (!is.numeric(p)) sop("'p' não é numérico") y<-ifelse(abs(p)>6, 6, abs(p)) if (!is.numeric(d)) sop("'d' não é numérico") w<-ifelse(abs(d)>2, 2, abs(d)) if (!is.numeric(q)) sop("'q' não é numérico") z<-ifelse(abs(q)>6, 6, abs(q)) m<-mehod if (mehod!= "CSS-ML" && mehod!= "ML") m="css" par(mfrow=c(3,1)) plo(x, main=c("gráfico da série")) acf(x, lag.max=nrow(x)-1, main = c("auocorrelação")) pacf(x, lag.max=nrow(x)-1, main = c("auocorrelação Parcial")) PP0<-PP.es(x) #ese para a série original# PP1<-PP.es(diff(x, diff=1))#ese de PP para a primeira diferença# PP2<-PP.es(diff(x, diff=2))#ese de PP para a segunda diferença# ca("esaísica e p-value do Tese de Dickey-Fuller - série original: ", PP0$saisic, PP0$p.value, "\n") ca("esaísica e p-value do Tese de Dickey-Fuller - 1ª diferença: ", PP1$saisic, PP1$p.value, "\n") ca("esaísica e p-value do Tese de Dickey-Fuller - 2ª diferença: ", PP2$saisic, PP2$p.value, "\n") linha<-(y+1)*(w+1)*(z+1)#quanidade de modelos e v é a mariz com os resulados# 11
v<-marix(daa=na, nrow=linha, ncol=13, dimnames=lis(c(1:linha), c("p", "d", "q", "sigma2", "loglik", "aic", "coef", "fora", "Box Ljung", "Shapiro", "c_fora", "mape", "bic"))) u<-0#número da linha na mariz resulado# for (k in 0:w) kk<-k for ( i in 0:y) ii<-i for (j in 0:z) jj<-j fi<-arima(x, order=c(ii, kk, jj), mehod=m) u<-u+1 if(fi$code==1)#o valor de convegência# v[u, 1]<-ii v[u, 2]<-kk v[u, 3]<-jj v[u, 4]<-NA v[u, 5]<-NA v[u, 6]<-NA v[u, 7]<-NA v[u, 8]<-NA v[u, 9]<-NA v[u, 10]<-NA v[u, 11]<-NA v[u, 12]<-NA v[u, 13]<-NA rm(fi) else n_coef<-ifelse(kk==0, ii+jj+1, ii+jj)#número de coeficienes# v_coef<-fi$coef #coeficienes# sd<-(diag(fi$var.coef))^0.5 #desvio padrão dos coeficienes# if (!is.numeric(sum(sd))) coe_iner<-na else coe_iner<-ifelse(abs(fi$coef)>1.96*sd, 0, 1) #reorna o número de coeficienes fora do inervalo de 95%# 12
inervalo# res<-fi$residuals#residuos# box<-box.es(res, lag = 1, ype="ljung")#ese de Ljung, lag=1# sha<-shapiro.es(res)#ese de shapiro# facc<-acf(res, lag.max=nrow(x)-1, plo=f)#auocorrelações# fac<-facc$acf[2:nrow(x)]#valores das auocorrelações# lim<-2/(nrow(x)^0.5)#limie para as auocorrelações# fac_iner<-ifelse(abs(fac)>lim, 1, 0) #auocorrelações fora do inervalo# mape<-100*sum(abs(res/x)/nrow(x))#calcula o mape# bic<-ifelse(m!="css", (-2*fi$loglik)+(n_coef+1)*log(NROW(x)-kk), NA) v[u, 1]<-ii v[u, 2]<-kk v[u, 3]<-jj v[u, 4]<-fi$sigma2 v[u, 5]<-fi$loglik v[u, 6]<-fi$aic v[u, 7]<-n_coef v[u, 8]<-sum(coe_iner)#número de coeficienes fora do inervalo# v[u, 9]<-box$p.value #p. value do ese de box Ljung# v[u, 10]<-sha$p.value#p. value do ese shapiro para a normalidade dos resíduos# v[u, 11]<-sum(fac_iner)#número de auocorrelações dos resíduos fora do v[u, 12]<-mape#mape# v[u, 13]<-bic rm(fi, n_coef, v_coef, sd, coe_iner, res, box, sha, facc, fac,fac_iner, mape, bic) if(m!="css") vor<-order(v[,6])#ordena a mariz de acordo com o menor valor de AIC# else vor<-order(v[,12])#ordena conforme o mape# or<-v[vor,] dimnames(or)<-lis(c(1:linha), c("p", "d", "q", "sigma2", "loglik", "aic", "coef", "fora", "Box Ljung", "Shapiro", "c_fora", "mape", "bic")) lis=c(pp0$p.value, PP1$p.value, PP2$p.value) or 13