decompor: Estimacao de componentes do Filtro de Kalman

Description Usage Arguments Details Value Examples

Description

Função principal, usada para calcular as elasticidades dos grupos de receitas, ou, de modo mais genérico, decompor por meio de um Filtro de Kalman a série de tempo dependente (y)

Usage

1
2
3
decompor(y, X = NULL, irregular = "S", nivel = "S", inclinacao = "S",
  sazon = "S", regres = "S", comeco = NULL, fim = NULL, freq = NULL,
  ipar = c(-0.5, -1, -1.5, -2, 16), interv.b = TRUE)

Arguments

y

Série temporal a ser decomposta.

X

Série temporal independente - (Hiatos).

irregular

String definidora do comportamento do disturbio da equação principal (Vide details):

  • "S" Variância definida automaticamente

  • "F" Variância fixa zero

  • "N" Ignorar Componente (não é possível ignorar a equação principal)

nivel

String definidora do comportamento do disturbio da equação do nível. Ver irregular para valores possíveis.

inclinacao

String definidora do comportamento do disturbio da equação do inclinacao. Ver irregular para valores possíveis.

sazon

String definidora do comportamento do disturbio da equação da sazonalidade. Ver irregular para valores possíveis.

regres

String definidora do comportamento do disturbio da equação dos coeficientes. Ver irregular para valores possíveis.

comeco

Período inicial de estimação.

fim

Período final de estimação.

freq

Frequência da série de tempo. Informar somente se y não for uma série de tempo.

ipar

Parâmetros iniciais para o processo de otimização. Não é aconselhável modificar os valores padrões.

interv.b

TRUE (Padrão) ou FALSE. Define se as intervenções serão detectadas automaticamente.

Details

O modelo linear dinâmico usado neste pacote tem a seguinte estrutura:

y_t = μ_t + β_t \cdot{X_t} + γ_t + \varepsilon_t

μ_t = μ_{t-1} + ν_{t-1} + ξ_t

ν_t = ν_{t-1} + ζ_t

γ_t = γ_{1,t} + γ_{2,t}

γ_{1,t} = - γ_{1,t-2} + ω_{1,t}

γ_{2,t} = - γ_{2,t-1} + ω_{2,t}

β_t = β_{t-1} + η_t

Onde y_t é o argumento y, X_t é o argumento X, e μ_t, ν_t, γ_t e β_t são os componentes não observados estimados pelo Filtro de Kalman, respectivamente, nível, inclinação, sazonalidade e coeficiente(s). Por fim os resíduos seguem as seguintes distribuições:

\varepsilon_t \sim \mathcal{N}(0, σ^2_\varepsilon)

ξ_t \sim \mathcal{N}(0, σ^2_ξ)

ζ_t \sim \mathcal{N}(0, σ^2_ζ)

ω_{1,t} \sim \mathcal{N}(0, 2σ^2_ω)

ω_{2,t} \sim \mathcal{N}(0, σ^2_ω)

η_t \sim \mathcal{N}(0, σ^2_η)

Os argumentos irregular, nivel, inclinacao, sazon e regres controlam as variâncias dos resíduos. Quando definidos igual a "S" as variância são estimadas por um processo de otimização. Quanto definidos igual a "F", as variâncias são fixas em 0 (e logo o resíduo é 0 em todo t), por fim se forem definidos igual a "N" o componente é ignorado, por exemplo se sazon igual a "N" então γ_t = 0\ \forall t e logo não é estimado efeitos de sazonalidade.

Note que as equações de sazonalidade dependem da frequência dos dados. Logo, a forma funcional apresentada acima só funciona para o caso particular em questão, com frequência trimestral.

Note que X pode ser um data.frame, ou seja, um conjunto de variáveis independentes. Com isso, 2 ou mais coeficientes serão estimados, nesse caso X, β e η devem ser tratados como matrix (e não um vetor).

Caso interv.b seja definido como FALSE. Então intervenções não serão calculadas automaticamente, caso se deseje implementer intervenções de modo manual, então os vetores de intervenção devem ser colocados na matrix X.

Value

A função retorna uma lista com 15 variáveis, entre componentes e testes:

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
seriey <- ts(runif(76), start=1997, end=c(2015,4), frequency=4)

 decomposicao <- decompor(seriey)  #Decomposição sem variável independente

seriex <- ts(runif(76), start=1997, end=c(2015,4), frequency=4)
 modelo <- decompor(seriey, seriex)  #Decomposição e estimação de coeficente

#Decomposição e estimação com nível e inclinacao fixos e sem sazonalidade
 modelo2 <- decompor(seriey, seriex, nivel="F", inclinacao="F", sazon="N") 
#Decomposição e estimação com coeficente constante
 modelo3 <- decompor(seriey, seriex, regres="F") 
#Decomposição e estimação usando apenas um subconjunto dos dados
 modelo4 <- decompor(seriey, seriex, comeco=2000, fim=2010) 
#Decomposição e estimação sem a detecção de intervenções
 modelo5 <- decompor(seriey, seriex, interv.b=F) 

Figuera/ElastH documentation built on May 8, 2019, 11:01 a.m.