Description Usage Arguments Details Value Examples
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
)
1 2 3 |
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):
|
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 |
ipar |
Parâmetros iniciais para o processo de otimização. Não é aconselhável modificar os valores padrões. |
interv.b |
|
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
.
A função retorna uma lista com 15 variáveis, entre componentes e testes:
y
: Série que foi decomposta.
dlm
: Estrutura do objeto dlm usado na decomposição.
f
: Lista de resultados do Filtro de Kalman. Ver dlmFilter
.
s
: Lista de resultados do processo de suavização. Ver dlmSmooth
.
comp
: Tabela com os componentes de interesses suavizados (Resultado Principal).
interv
: tabela listando as intervenções, seu componente.
período, valor, desvio padrão do estimador e o pvalor do teste t.
choques
: Matriz dos disturbios suavizados. Ver choques
.
e
: Série dos erros de projeção um passo a frente.
q
: Teste de independência dos erros de projeção.
q2
: Teste de independência dos erros de projeção, com o dobro de lags.
h
: Teste de homocedasticidade dos erros de projeção.
nt
: Teste de normalidade dos erros de projeção.
aic
: Critério de Akaike.
bic
: Critério de Bayes.
tt
: Lista com resultado de testes t para os coeficientes estimados.
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)
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.