ARIMA é uma abreviação que representa AutoRegressive Incorporated Moving Normal. É uma classe de modelos que captura um conjunto de várias estruturas padrão do mundo em informações de disposição temporal.

Neste exercício instrucional, você encontrará como construir um modelo ARIMA para informações de disposição de tempo com Python.

Após a conclusão deste exercício instrucional, você saberá:

Sobre o modelo ARIMA os parâmetros utilizados e as suspeitas feitas pelo modelo.

Instruções passo a passo para adequar um modelo ARIMA às informações e utilizá-lo para fazer números.

Instruções passo a passo para projetar o modelo ARIMA em sua questão de disposição de tempo.

Saiba como se preparar e visualizar informações de organização do tempo e criar modelos de determinação autoregressiva no meu novo livro, com exercícios instrucionais de 28 bits por bit, e código python completo.

Que tal começarmos.

Atualizado em Abr/2019: Atualização da conexão com o conjunto de dados.

Atualizado em Set/2019: Guias renovados para utilizar a mais recente interface de programação.

Modelo Normal Móvel Autoregressivo Coordenado

Um modelo ARIMA é uma classe de modelos factuais para decomposição e determinação de informações de disposição de tempo.

Ele leva em conta, inequivocamente, um conjunto de estruturas padrão em informações de disposição temporal e, nessa capacidade, oferece uma técnica simples, porém inovadora, para fazer bitolas de disposição temporal adequadas.

ARIMA é uma abreviação que representa AutoRegressive Incorporated Moving Normal. É uma especulação do AutoRegressive Moving Normal mais direto e inclui o pensamento de combinação.

Esta abreviação é inconfundível, capturando as partes chave do próprio modelo. Rápido, elas são:

AR: Autoregressão. Um modelo que utiliza a conexão carente entre percepção e algum número de percepções frouxas.

I: Incorporado. A utilização de diferentes percepções brutas (por exemplo, subtraindo uma percepção da percepção no passo do tempo passado) de forma a tornar a disposição do tempo estacionária.

Mamãe: Movendo-se Normal. Um modelo que utiliza a dependência entre uma percepção e um erro permanente de um modelo normal em movimento aplicado a percepções frouxas.

Cada uma destas peças é inequivocamente indicada no modelo como um parâmetro. É utilizada a documentação padrão do ARIMA(p,d,q) onde os parâmetros são substituídos por um número inteiro de qualidades para mostrar rapidamente o modelo ARIMA específico que está sendo utilizado.

Os parâmetros do modelo ARIMA são caracterizados como perseguições:

p: O número de percepções de folga incorporado ao modelo, também chamado de pedido de folga.

d: As ocasiões em que as percepções brutas são diferentes, também chamadas de nível de diferença.

p: O tamanho da janela normal em movimento, chamado adicionalmente de solicitação de movimento normal.

Um modelo de recidiva reta é desenvolvido incluindo o número e o tipo de termos predefinidos, e as informações são estabelecidas por um nível de diferenciação de modo a torná-las estacionárias, por exemplo, para expulsar padrões e estruturas regulares que influenciam negativamente o modelo de recidiva.

Uma estimativa de 0 pode ser utilizada para um parâmetro, o que mostra a não utilização desse componente do modelo. Assim, o modelo ARIMA pode ser projetado para desempenhar a capacidade de um modelo ARMA, e até mesmo um modelo básico AR, I, ou modelo Mama.

O recebimento de um modelo ARIMA por um período aceita que o procedimento básico que produziu as percepções é um procedimento ARIMA. Isto pode parecer gritante, porém, inspira a necessidade de afirmar as suspeitas do modelo nas percepções brutas e nos equívocos persistentes dos números do modelo.

A seguir, que tal darmos uma olhada em como podemos utilizar o modelo ARIMA em Python. Começaremos empilhando um arranjo de tempo univariado básico.

Dataset de Acordos de Limpeza

Este conjunto de dados retrata o número mensal de ofertas de produtos de limpeza durante um período de vários anos.

As unidades são uma contagem de negócios e existem 36 percepções. O primeiro conjunto de dados é creditado a Makridakis, Wheelwright, e Hyndman (1998).

O seguinte é um caso de empilhamento do conjunto de dados do Cleanser Deals com Pandas com uma capacidade personalizada para analisar o campo de data/hora. O conjunto de dados é baselinado em um ano subjetivo, para esta situação 1900.

3

4

5

6

7

8

9

10

11

de importação de pandas read_csv

a partir da data de importação do pandas

de pyplotlib de importação matplotlib

def parser(x):

data de retorno time.strptime(‘190’+x, ‘%Y-%m’)

series = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

print(series.head())

series.plot()

pyplot.show()

A execução do exemplo imprime as 5 primeiras linhas do conjunto de dados.

Mês

1901-01-01 266.0

1901-02-01 145.9

1901-03-01 183.1

1901-04-01 119.3

1901-05-01 180.3

Nome: Vendas, dtype: float64

1

2

3

4

5

6

7

Mês

1901-01-01 266.0

1901-02-01 145.9

1901-03-01 183.1

1901-04-01 119.3

1901-05-01 180.3

Nome: Vendas, dtype: float64

Os dados também são traçados como uma série temporal com o mês ao longo do eixo x e os números de vendas no eixo y.

Vamos também dar uma rápida olhada em um gráfico de autocorrelação da série cronológica. Este também está incorporado ao Pandas. O exemplo abaixo mostra o gráfico de autocorrelação para um grande número de desfasamentos na série cronológica.

de importação de pandas read_csv

a partir da data de importação do pandas

de pyplotlib de importação matplotlib

de pandas.plotting importação autocorrelation_plot

def parser(x):

data de retorno time.strptime(‘190’+x, ‘%Y-%m’)

series = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

autocorrelation_plot(série)

pyplot.show()

1

2

3

4

5

6

7

8

9

10

11

de importação de pandas read_csv

a partir da data de importação do pandas

de pyplotlib de importação matplotlib

de pandas.plotting importação autocorrelation_plot

def parser(x):

data de retorno time.strptime(‘190’+x, ‘%Y-%m’)

series = read_csv(‘shampoo-sales.csv’, header=0, parse_dates=[0], index_col=0, squeeze=True, date_parser=parser)

autocorrelation_plot(série)

pyplot.show()

Executando o modelo, podemos ver que há uma relação positiva com as 10 a 12 calças iniciais que talvez seja enorme para as 5 calças iniciais.

Um estágio inicial decente para o parâmetro AR do modelo pode ser 5.

ARIMA com Python

A biblioteca de modelos de estatuetas dá a capacidade de se adequar a um modelo ARIMA.

Um modelo ARIMA pode ser feito utilizando a biblioteca de modelos de estatuetas como perseguição:

Caracterize o modelo chamando ARIMA() e entrando nos parâmetros p, d, e q.

O modelo é montado sobre as informações de preparação, chamando o trabalho de ajuste().

As previsões podem ser feitas chamando o trabalho de antecipação() e determinando a lista do tempo ou horários a serem antecipados.

Devemos começar com algo simples. Vamos encaixar um modelo ARIMA em todo o conjunto de dados do Cleanser Dealser e pesquisar os erros restantes.

Para começar, encaixamos um modelo ARIMA(5,1,0). Este modelo incentiva a folga a 5 para auto-regressividade, utiliza uma solicitação de distinção de 1 para estacionar a disposição do tempo e utiliza um modelo normal móvel de 0.

Ao encaixar o modelo, uma grande quantidade de dados de investigação é dada sobre o ataque do modelo de recidiva reta. Podemos matar isso definindo a disputa de dispersão como 0.