facultad de economía - seriesdetiempo · pdf fileprincipios de descomposición de...
Post on 06-Mar-2018
229 Views
Preview:
TRANSCRIPT
Curso de Econometría de Series de Tiempo
Facultad de Economía
Universidad Nacional Autónoma de México
Profesor: Juan Francisco Islas
Adjunto: Miguel Heras
Ciudad Universitaria, Agosto 2012
Descomposición de Series de Tiempo
Principios de Descomposición de Series de Tiempo
Componentes de separación
Tendencia-Ciclo: Representa los cambios de largo plazo en el nivel de la serie de tiempo.
Estacionalidad: Caracteriza fluctuaciones periódicas de longitud constante causadas por factores tales como temperatura, estación del año, periodo vacacional, políticas, etc.
datos=patrón+error ( )error idad,estacional ciclo,-tendenciaf=( )tttt ETSfY ,,=
Principios de Descomposición de Series de Tiempo
Descomposición Aditivatttt ETSY ++=
Descomposición Multiplicativatttt ETSY ××=
Transformación logarítmica
tttt ETSY loglogloglog ++=
Descomposición Pseudo-Aditiva
( )1−+= tttt ESTY
tttt ETSY +=−Ajuste estacional
Promedios Móviles Simples: 3MA
Serie 3MA
( )
( )
( )
( )
( )
( )TTT
TTTT
TTTT
MAtt
YYYT
YYYYT
YYYYT
YYYY
YYYY
YYY
YYt
+
++−
++−
++
++
+
−
−−−
−−−−
1
121
1232
4323
3212
211
3
21
311
312
313312
211
MMM
( )113
31
+− ++= tttMA
t YYYY
1,...,2 −= Ttpara
( )1,1,1window
( )
( )
( )
( )
( )
( )
( )
( )TTTT
TTTTT
TTTTTT
TTTTTT
MAtt
YYYYT
YYYYYT
YYYYYYT
YYYYYYT
YYYYYY
YYYYYY
YYYYY
YYYY
YYt
++
+++−
++++−
++++−
++++
++++
+++
++
−−
−−−−
−−−−−
−−−−−−
12
1231
12342
123453
654324
543213
43212
3211
5
31
411
512
513
514513
412
311
MMM
Promedios Móviles Simples: 5MA
Serie 5MA
( )21125
51
++−− ++++= tttttMA
t YYYYYY
2,...,3 −= Ttpara
( )2,1,2window
Promedios Móviles Simples: Generalización MA orden impar
En general, para cualquier impar
⎟⎟⎠
⎞⎜⎜⎝
⎛++= −
+−
−2
12
11
jtjt
jMAt YY
jY L
21,,1
21 −
−+−
=jTjt Lpara
3≥j
y ajuste para las primeras observaciones y
últimas.2
1−j2
1−j
⎟⎠⎞
⎜⎝⎛ −−
21,1,
21window jj
020
040
060
080
0To
tal s
ales
(lite
rs)
0 10 20 30 40Month
Total sales (liters) m a: x(t)= liters: window(1 1 1)
3 MA smootherEjemplos
( )1131
+− ++= tttt YYYT
Suavizamiento mediante Promedios Móviles Simples
Ajuste en los puntos extremos de la serie 3MA
( )211 21 YYY Aj +=
( )TTAj
T YYY += −121
M
020
040
060
080
0To
tal s
ales
(lite
rs)
0 10 20 30 40Month
To tal sales (liters) m a: x(t)= liters: window(2 1 2)
5 MA smootherEjemplos
( )211251
++−− ++++= tttttt YYYYYT
Suavizamiento mediante Promedios Móviles Simples
Ajuste en los puntos extremos de la serie 5MA
( )43212 41 YYYYY Aj +++=
( )TTTTAj
T YYYYY +++= −−−− 1231 41
( )3211 31 YYYY Aj ++=
( )TTTAj
T YYYY ++= −− 1231
M
( )
( )
( )
( )
( )TT
TTT
TTT
MAtt
YYT
YYYT
YYYT
YYY
YYY
YYY
YYt
+−
+−
+
+
+
−−
−−−
11
122
433
322
211
2
211
212
213212211
MMM
Promedios Móviles Simples. Generalización 2MA
Serie 2MA
( )
( )
( )
( )
( )TTT
TTT
TTT
MAtt
YYYT
YYYT
YYYT
YYY
YYY
YYYYt
+
+−
+−
+
+
−
−−−
−−−
1
121
232
323
212
11
2
21
211212
213212
1
MMM
( )12
21
++= ttMA
t YYY
1,,1 −= Tt Lparay ajuste de la última observación.
pivote izquierdo pivote derecho
( )ttMA
t YYY += −12
21
Tt ,,2 L=paray ajuste de la primera observación.
( )1,1,0window ( )0,1,1window
Promedios Móviles Simples. Generalización 4MA
Serie 4MA
( )2114
41
++− +++= ttttMA
t YYYYY
2,,2 −= Tt Lparay ajuste de la primera y últimas dos observaciones.
1,,3 −= Tt Lpara( )112
4
41
+−− +++= ttttMA
t YYYYY
y ajuste de las primeras dos y última observaciones.
( )
( )
( )
( )
( )
( )TTT
TTTT
TTTTT
MAtt
YYYT
YYYYT
YYYYYT
YYYYY
YYYYY
YYYY
YYt
+
++−
+++−
+++
+++
++
−
−−−
−−−−
1
121
1232
54323
43212
3211
4
21
311
412
413412
311
MMM
( )
( )
( )
( )
( )
( )TTTT
TTTTT
TTTTT
MAtt
YYYYT
YYYYYT
YYYYYT
YYYYY
YYYY
YYY
YYt
++
+++−
+++−
+++
++
+
−−
−−−−
−−−−−
12
1231
12342
43213
3212
211
4
31
411
412
413
312
211
MMM
pivote izquierdo pivote derecho( )2,1,1window ( )1,1,2window
En general, para cualquier par y pivote izquierdo
⎟⎟⎠
⎞⎜⎜⎝
⎛++=
++−2
12
1jtjt
jMAt YY
jY L
2,,
2jTjt −= Lpara
2≥j
y ajuste para las primeras observaciones y
últimas.
12−
j2j
Promedios Móviles Simples: Generalización MA orden par
En general, para cualquier par y pivote derecho
⎟⎟⎠
⎞⎜⎜⎝
⎛++=
−+− 122
1jtjt
jMAt YY
jY L
12
,,12
+−+=jTjt Lpara
2≥j
y ajuste para las primeras observaciones y
últimas.2j 1
2−
j
Promedios Móviles Simples: Generalización MA orden par
020
040
060
080
0To
tal s
ales
(lite
rs)
0 10 20 30 40Month
Total sales (liters) ma: x(t)= liters: window(1 1 2)
4 MA smoother
( )21141
++− +++= ttttt YYYYT
Ejemplos
Se aplicó 4MA con pivote izquierdo a la serie Y
Se ajusta la primera y las dos últimas observaciones de la serie 4 MA.
( )TTTAj
T YYYY ++= −−− 121 31
( )TTAj
T YYY += −121
( )3211 31 YYYY Aj ++=
020
040
060
080
0To
tal s
ales
(lite
rs)
0 10 20 30 40Month
Total sales (liters) ma: x(t)= ma4: window(1 1 0)
2x4 MA smoother
Promedios Móviles Compuestos (Caso de Centrados 2xj MA)
Se aplicó 2MA con pivote derecho a la serie 4MA4
11MAAj YY =Se ajusta la primera observación de la serie 2x4 MA:
2040
6080
100
Tota
l sal
es
1975m1 1980m1 1985m1 1990m1 1995m1Month
Monthly sales of new-one family sold in the USA since 1973
hsales.csvserie original
Descomposición de una Serie de Tiempo
2040
6080
100
Tota
l sal
es
1975m1 1980m 1 1985m1 1990m1 1995m1Month
hsales ma: x(t)= hsales: window (3 1 3 )
7 MA smootherSuavizamiento mediante Promedios Móviles
( )32112371
+++−−− ++++++= tttttttt YYYYYYYT
Suavizamiento mediante Promedios Móviles
Ajuste en los puntos extremos de la serie 7MA
( )543212 51 YYYYYY Aj ++++=
( )43211 41 YYYYY Aj +++=
M( )6543213 6
1 YYYYYYY Aj +++++=
( )TTTTAj
T YYYYY +++= −−− 12341
( )TTTTTAj
T YYYYYY ++++= −−−−− 12341 51
( )TTTTTTAj
T YYYYYYY +++++= −−−−−− 123452 61
2040
6080
100
Tota
l sal
es
1975m1 1980m1 1985m1 1990m1 1995m1Month
hsales ma: x(t)= hsales: window(6 1 5)
12 MA smoother (uncentered)Promedios Móviles Simples (Caso par con pivote derecho)
Suavizamiento mediante Promedios MóvilesAjuste en los extremos de la serie 12MA con pivote derecho
M
∑=
=6
11 6
1t
tAj YY ∑
=
=7
12 7
1t
tAj YY ∑
=
=8
13 8
1t
tAj YY
∑=
=9
14 9
1t
tAj YY ∑
=
=10
15 10
1t
tAj YY ∑
=
=11
16 11
1t
tAj YY
∑−=
− =T
Ttt
AjT YY
104 11
1 ∑−=
− =T
Ttt
AjT YY
93 10
1 ∑−=
− =T
Ttt
AjT YY
82 9
1
∑−=
− =T
Ttt
AjT YY
71 8
1 ∑−=
=T
Ttt
AjT YY
671
( )5,1,6window
2040
6080
100
Tota
l sal
es
1975m1 1980m1 1985m1 1990m1 1995m1Month
hsales ma: x(t)= ma12: window(1 1 0)
Centered 12 MA smootherPromedios Móviles Compuestos (Caso de Centrados 2xj MA)
1211MAAj YY =
Ajuste MA2 por pivote derecho a la serie MA12:
Código en STATA* Suavizamiento mediante Promedios Móviles Simples 3MA y 5MAinsheet liters using "c:\mwhdata\shampoo.csv", cleargen month=.for num 1 13 25:replace month=1 in Xfor num 2 14 26:replace month=2 in Xfor num 3 15 27:replace month=3 in Xfor num 4 16 28:replace month=4 in Xfor num 5 17 29:replace month=5 in Xfor num 6 18 30:replace month=6 in Xfor num 7 19 31:replace month=7 in Xfor num 8 20 32:replace month=8 in Xfor num 9 21 33:replace month=9 in Xfor num 10 22 34:replace month=10 in Xfor num 11 23 35:replace month=11 in Xfor num 12 24 36:replace month=12 in Xlabel define month 1 "Jan" 2 "Feb" 3 "Mar" 4 "Apr" 5 "May" 6 "Jun" 7 "Jul" 8 "Aug" 9 "Sep" 10 "Oct" 11 "Nov" 12 "Dec"label values month monthlabel var liters "Total sales (liters)"gen year=.replace year=1 in 1/12replace year=2 in 13/24replace year=3 in 25/36gen t=_nlabel var t "Month"line liters t, saving("c:\mwhdata\shampoo.gph", replace)tsset ttssmooth ma ma3=liters, window(1 1 1)listgraph twoway (line liters t) (line ma3 t), title("3 MA smoother") ytitle("Total sales (liters)") saving("c:\mwhdata\shampooMA3.gph", replace)
Código en STATA
* Suavizamiento mediante Promedios Móviles 3MA y 5MA (continuación)tssmooth ma ma5=liters, window(2 1 2)graph twoway (line liters t) (line ma5 t), title("5 MA smoother") ytitle("Total sales (liters)") saving("c:\mwhdata\shampooMA5.gph", replace)
* Promedios Móviles centrados* Construcción de la Serie 2x4 MA* Se genera la serie MA4tssmooth ma ma4=liters, window(1 1 2)graph twoway (line liters t) (line ma4 t), title("4 MA smoother") ytitle("Total sales (liters)") saving("c:\mwhdata\shampooMA4.gph", replace)* Se aplican promedios móviles MA2 a la serie MA4 obtenidatssmooth ma ma2ma4=ma4, window(1 1 0) graph twoway (line liters t) (line ma2ma4 t), title("2x4 MA smoother") ytitle("Total sales (liters)") saving("c:\mwhdata\shampoo2x4MA.gph", replace)list
Código en STATA* 7 MA smoother for Housing sales datainsheet hsales using "c:\mwhdata\hsales.csv", cleargen t=.replace t=ym(1973,1) in 1for num 2/275: replace t=t[X-1]+1 in Xformat t %tmlabel var t "Month"tsset t graph twoway (line hsales t, lcolor(blue)), title("Monthly sales of new-one family sold in the USA since 1973") ytitle("Total sales") saving("c:\mwhdata\hsales.gph",replace)tssmooth ma ma7=hsales, window(3 1 3)graph twoway (line hsales t, lcolor(yellow)) (line ma7 t, lcolor(black)), title("7 MA smoother") ytitle("Total sales") saving("c:\mwhdata\hsales7MA.gph",replace)
* 2x12 MA smoother for Housing sales data* Serie de Promedios Móviles Centrados 2x12 MA* Se genera la serie MA12tssmooth ma ma12=hsales, window(6 1 5)graph twoway (line hsales t, lcolor(yellow)) (line ma12 t, lcolor(black)), title("12 MA smoother (uncentered)") ytitle("Total sales") saving("c:\mwhdata\hsales12MA.gph",replace)* Se aplican promedios móviles MA2 a la serie MA12 obtenidatssmooth ma ma2ma12=ma12, window(1 1 0)graph twoway (line hsales t, lcolor(yellow)) (line ma2ma12 t, lcolor(black)), title("Centered 12 MA smoother") ytitle("Total sales") saving("c:\mwhdata\hsales2x12MA.gph",replace)list
⎟⎠⎞
⎜⎝⎛=⎟
⎠⎞
⎜⎝⎛ ++++++++ 54321543432321 9
1,92,
31,
92,
91
31
31
31
31
31
31
31
31
31
31 YYYYYYYYYYYYYY
Promedios Móviles Ponderados
Fuente: http://www.robjhyndman.com/papers/movingaverage.pdf
Cualquier combinación de promedios móviles simples puede ser utilizada para formar un promedio móvil doble (o compuesto) y al modificarse los ponderadores se obtiene una serie de promedios móviles ponderados.Por ejemplo, MA 3x3 es equivalente a MA 5 con ponderadores:
Algunas funciones de ponderación en promedios móviles:
Promedios Móviles Ponderados. Ejemplo MA 19
En general, un promedio móvil ponderado tiene la forma:
∑−=
+=m
mjjtj
wMAt YaY
Por ejemplo, se obtiene un promedio móvil MA 19 ponderado bajo la función cuártica:
( )⎪⎪⎩
⎪⎪⎨
⎧<<−⎟
⎟⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛−
=
casootroen0
para1,
22
mjmmj
mjQ
Normalizando, el ponderador para la j-ésima observación es:
( )( )∑
−=
= m
mi
j
miQ
mjQa,
,
con ∑−=
=m
mjja 1
020
040
060
080
0lit
ers
0 10 20 30 40t
020
040
060
080
0
0 10 20 30 40t
liters ma19w
020
040
060
080
0To
tal s
ales
(lite
rs)
0 10 20 30 40Month
liters m a19w
Weighted MA19 smoother
020
040
060
080
0
0 10 20 30 40t
liters ma19w
Promedios Móviles Ponderados. Ejemplo MA 19
shampoo.csv
0.0
2.0
4.0
6.0
8.1
Pon
dera
dor
-10 -5 0 5 10Término
Función de Ponderadores MA 19 bajo función cuártica
0.0
5.1
.15
.2P
onde
rado
r-10 -8 -6 -4 -2 0
Término
Función de Ponderadores para la Observación 36
Función de Ponderadores. Ejemplo MA 19
Función de Ponderadores, bajo la función cuártica, para el ajuste (MA 10) de la Observación 36 de la serie MA 19
Función de Ponderadores, bajo la función cuártica, para
las observaciones 10 a 27 de la serie MA 19
Suavizamiento por Regresión Local
1
23
4
5 6
7 89
10
11
121314
15
16
17
18
19
2021
22
23
2425
26
27
2829
30
31
32
33
34
35
36
020
040
060
080
0
0 10 20 30 40t
liters Fitted valuesFitted values
Se estima la tendencia-ciclo en el periodo btaTt +=donde y son los estimadores de Mínimos Cuadrados Ponderados tales que resuelven el problema de
ta b
( )( )∑−=
+ +−−m
mjjtjba
jtbaYa 2
,min
Para cada periodo, mediante regresión local se obtiene un punto estimado de tendencia-ciclo, y los correspondientes ajustes para los extremos.
La trayectoria de tendencia-ciclo resultante se obtiene al enlazar los puntos estimados en las regresiones locales a cada periodo .
t
Se define una función de ponderadores. Para este ejemplo, los que se derivan de la función cuártica antes vista.
Descomposición Clásica
Descomposición Aditiva
Paso 1: Estimación de tendencia-ciclo. Mediante promedio móvil centrado MA 12.
Considerando los datos de la base hsales.csv
2040
6080
100
Tota
l sal
es
1975m1 1980m1 1985m1 1990m1 1995m1Month
hsales ma: x(t )= ma12: window(1 1 0)
Centered 12 MA smoother
Descomposición Clásica
Descomposición Aditiva
Paso 2: Eliminación de Tendencia. Al restar el componente tendencia-ciclo de los datos originales, quedando los términos de estacionalidad e irregularidad.
tttt ESTY +=−
-20
020
4060
80To
tal s
ales
1975m1 1980m1 1985m1 1990m1 1995m1Month
hsales ma: x(t)= ma12: window(1 1 0)detrend
original, trend-cycle & de-trended housing sales series
Descomposición Clásica
Descomposición AditivaPaso 3: Índice estacional. Una vez removido el componente tendencia-ciclo, bajo la descomposición aditiva se asume que el componente estacional es constante año con año. De acuerdo al conjunto de datos considerado se requiere calcular un valor paracada mes.
El índice estacional se construye promediando las observaciones sin tendencia correspondientes a cada mes para todos los años observados.
-15
-10
-50
510
seas
on
1975m1 1980m1 1985m1 1990m1 1995m1Month
Estacionalidad
-15
-10
-50
510
(mea
n) d
etre
nd
1 2 3 4 5 6 7 8 9 10 11 12month
Índice Estacional
Descomposición Clásica
Descomposición Aditiva
Paso 4: Serie de Irregularidad. Se obtiene a partir de:
tttt TSYE −−=-2
0-1
00
1020
irreg
1975m1 1980m1 1985m1 1990m1 1995m1Month
Irregularidad
2040
6080
100
hsal
es
1 9 7 5 m 1 1 9 8 0 m 1 1 9 8 5 m 1 1 9 9 0 m 1 1 9 9 5 m 1M o n t h
S e r i e o r i g i n a l
Resumen gráfico de la Descomposición Aditiva-2
0-1
00
1020
irreg
1 9 7 5 m 1 1 9 8 0 m 1 1 9 8 5 m 1 1 9 9 0 m 1 1 9 9 5 m 1M o n t h
I r r e g u l a r i d a d
-15
-10
-50
510
seas
on
1 9 7 5 m 1 1 9 8 0 m 1 1 9 8 5 m 1 1 9 9 0 m 1 1 9 9 5 m 1M o n t h
E s t a c i o n a l i d a d
3040
5060
70
ma:
x(t)
= m
a12:
win
dow
(1 1
0)
1 9 7 5 m 1 1 9 8 0 m 1 1 9 8 5 m 1 1 9 9 0 m 1 1 9 9 5 m 1M o n t h
T e n d e n c i a - C i c l o
tttt ESTY ++=
tT
tS
tE
Descomposición Clásica
Descomposición Multiplicativa
Paso 1: Estimación de tendencia-ciclo. Mediante promedio móvil centrado MA 12.
Considerando los datos de la base airline.csv
100
200
300
400
Pas
seng
ers
(thou
sand
s)
1949m1 1950m7 1952m1 1953m7 1955m1 1956m7Month
passengers ma: x(t)= ma12: window(0 1 1)
Centered 12 MA smoother
Descomposición Clásica
Descomposición Multiplicativa
Paso 2: Cálculo de la razón porcentual datos a promedio móvil.
ttt
ttt
t
tt ES
TETS
TY
R ===10
020
030
040
0P
asse
nger
s (th
ousa
nds)
1949m1 1950m7 1952m1 1953m7 1955m1 1956m7Month
passengers ma: x(t)= ma12: window(0 1 1)ratio
original, trend-cycle & detrended passenger travel series
Descomposición Clásica
Descomposición Multiplicativa
8090
100
110
120
seas
on
1949m1 1950m7 1952m1 1953m7 1955m1 1956m7Month
Estacionalidad
Paso 3: Índice estacional. Una vez removido el componente tendencia-ciclo, bajo la descomposición multiplicativa se asume que el componente estacional es constante año con año. De acuerdo al conjunto de datos considerado se requiere calcular un valor para cada mes.
El índice estacional se construye promediando las observaciones sin tendencia correspondientes a cada mes para todos los años observados.
8090
100
110
120
(mea
n) ra
tio
1 2 3 4 5 6 7 8 9 10 11 12month
Índice Estacional
Descomposición Clásica
Descomposición Multiplicativa
Paso 4: Serie de Irregularidad. Se obtiene a partir de:
tt
tt TS
YE =.0
09.0
095
.01
.010
5.0
11irr
eg
1949m1 1950m7 1952m1 1953m7 1955m1 1956m7Month
Irregularidad
.009
.009
5.0
1.0
105
.011
irreg
1 9 4 9 m 1 1 9 5 0 m 7 1 9 5 2 m 1 1 9 5 3 m 7 1 9 5 5 m 1 1 9 5 6 m 7M o n t h
I r r e g u l a r i d a d
8090
100
110
120
seas
on
1 9 4 9 m 1 1 9 5 0 m 7 1 9 5 2 m 1 1 9 5 3 m 7 1 9 5 5 m 1 1 9 5 6 m 7M o n t h
E s t a c i o n a l i d a d
100
150
200
250
300
350
Pas
seng
ers
(thou
sand
s)
1 9 4 9 m 1 1 9 5 0 m 7 1 9 5 2 m 1 1 9 5 3 m 7 1 9 5 5 m 1 1 9 5 6 m 7M o n t h
T e n d e n c i a - C i c l o
100
200
300
400
pass
enge
r tra
ffic
(in t
hous
ands
)
1 9 4 9 m 1 1 9 5 0 m 7 1 9 5 2 m 1 1 9 5 3 m 7 1 9 5 5 m 1 1 9 5 6 m 7M o n t h
S e r i e o r i g i n a l
Resumen gráfico de la Descomposición Multiplicativa
tttt ESTY =
tT
tS
tE
Método X-12-ARIMA del Buró de Censos norteamericano
Para mayor detalle sobre la relevancia de este método, véase
http://www.census.gov/srd/www/x12a/
http://www.inegi.org.mx/prod_serv/contenidos/espanol/bvinegi/productos/derivada/coyuntura/igae/igae.pdf
Código en STATA
* Promedios móviles ponderadosinsheet y using "C:\mwhdata\shampoo.csv", cleargen t=_ntsset tlabel var y "liters"scatter y t* Ponderadores MA 19 bajo la función cuárticafor num 0/9: scalar qX=(1-(X/9)^2)^2scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXgen ma19w=.for num 10/27: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in Xtwoway (scatter y t) (line ma19w t)* Ajuste de Observaciones de extrema izquierda* Observación 1scalar sumaq=q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 1: replace ma19w=a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 2scalar sumaq=q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 2: replace ma19w=a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 3scalar sumaq=q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 3: replace ma19w=a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X
Código en STATA
* Observación 4scalar sumaq=q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 4: replace ma19w=a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 5scalar sumaq=q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 5: replace ma19w=a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 6scalar sumaq=q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 6: replace ma19w=a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 7scalar sumaq=q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 7: replace ma19w=a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 8scalar sumaq=q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 8: replace ma19w=a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in X* Observación 9scalar sumaq=q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8+q9for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 9: replace ma19w=a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8]+a9*y[X+9] in Xtwoway (scatter y t) (line ma19w t)
Código en STATA
* Ajuste de Observaciones de extrema derecha* Observación 28scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7+q8for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 28: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7]+a8*y[X+8] in X* Observación 29scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6+q7for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 29: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6]+a7*y[X+7] in X* Observación 30scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5+q6for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 30: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5]+a6*y[X+6] in X* Observación 31scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4+q5for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 31: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4]+a5*y[X+5] in X* Observación 32scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3+q4for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 32: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3]+a4*y[X+4] in X* Observación 33scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2+q3for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 33: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2]+a3*y[X+3] in X
Código en STATA
* Observación 34scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1+q2for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 34: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1]+a2*y[X+2] in X* Observación 35scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0+q1for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 35: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X]+a1*y[X+1] in X* Observación 36scalar sumaq=q9+q8+q7+q6+q5+q4+q3+q2+q1+q0for num 0/9: scalar aX=qX/sumaqfor num 0/9: display aXfor num 36: replace ma19w=a9*y[X-9]+a8*y[X-8]+a7*y[X-7]+a6*y[X-6]+a5*y[X-5]+a4*y[X-4]+a3*y[X-3]+a2*y[X-2]+a1*y[X-1]+a0*y[X] in X* Gráfica final Serie Original y Serie MA19 Ponderadatwoway (scatter y t) (line ma19w t), title("Weighted MA19 smoother") xtitle("Month") ytitle("Total sales (liters)") saving("C:\mwhdata\AvMA19.gph", replace) * Listado de Observaciones Serie Original y Serie MA19 Ponderadalist
Código en STATA
* Función de Ponderadores MA 19 bajo la función cuárticaclearset obs 19gen j=_n-10gen double q=(1-(j/9)^2)^2sum qgen double a=q/r(sum)list, sumline a j, title("Función de Ponderadores MA 19 bajo función cuártica") xtitle("Término") ytitle("Ponderador") saving("C:\mwhdata\Weights.gph", replace)
* Función de Ponderadores bajo la función cuártica para el Ajuste (MA 10) de la Observación 36 de la serie MA 19 clearset obs 10gen j=_n-10gen double q=(1-(j/9)^2)^2sum qgen double a=q/r(sum)list, sumline a j, title("Función de Ponderadores para la Observación 36") xtitle("Término") ytitle("Ponderador") saving("C:\mwhdata\Weights36.gph", replace)
Código en STATA
* Suavizamiento por Regresión Localinsheet y using "C:\mwhdata\shampoo.csv", cleargen t=_ntsset tlabel var y "liters"gen yreg=.
* Observación 22* Paso 1 Identificar las observaciones de la muestra a considerarscatter y t, xline(13 31)gen j=.replace j=_n-22 in 13/31* Paso 2 Definición de Ponderadoresgen double q=.replace q=(1-(j/9)^2)^2 in 13/31sum qgen double a=q/r(sum)* Paso 3 Estimación por Mínimos Cuadrados Ponderadosregress y t in 13/31 [aw=a]predict yhattwoway (scatter y t, xline(13 31) mlabel(t)) (line yhat t) (scatter yhat t if t==22, mcolor(red) msize(large))replace yreg=yhat[22] in 22drop j q a yhat* Paso 4 Repetir para las observaciones 10 a 21 y 23 a 27 y ajustes restantes para trazar* curva de tendencia-ciclo estimada a partir de los puntos locales de las respectivas* regresiones.
Código en STATA
* Descomposición Aditiva* Paso 0 Preparar la Serie de Tiempo para su Descomposiciónlabel drop _allinsheet hsales using "c:\mwhdata\hsales.csv", cleargen t=.replace t=ym(1973,1) in 1for num 2/275: replace t=t[X-1]+1 in Xformat t %tmlabel var t "Month"tsset t* Paso 1 Estimar Tendencia-Ciclo * 2x12 MA smoother for Housing sales data* Serie de Promedios Móviles Centrados 2x12 MA* Se genera la serie MA12tssmooth ma ma12=hsales, window(6 1 5)graph twoway (line hsales t, lcolor(yellow)) (line ma12 t, lcolor(black)), title("12 MA smoother (uncentered)") ytitle("Total sales") saving("c:\mwhdata\hsales12MA.gph",replace)* Se aplican promedios móviles MA2 a la serie MA12 obtenidatssmooth ma ma2ma12=ma12, window(1 1 0)graph twoway (line hsales t, lcolor(yellow)) (line ma2ma12 t, lcolor(black)), title("Centered 12 MA smoother") ytitle("Total sales") saving("c:\mwhdata\hsales2x12MA.gph",replace)* Paso 2 Eliminar Tendencia-Ciclo gen double detrend=hsales-ma2ma12graph twoway (line hsales t, lcolor(yellow)) (line ma2ma12 t, lcolor(red)) (line detrend t, lcolor(blue)), title("original, trend-cycle & de-trended housing sales series") ytitle("Total sales") saving("c:\mwhdata\detrendedMA2x12.gph",replace)
Código en STATA
* Paso 3 Obtener el componente de Estacionalidadgen obs=_ngen mes=""replace mes="Ene" if mod(obs,12)==1replace mes="Feb" if mod(obs,12)==2replace mes="Mar" if mod(obs,12)==3replace mes="Abr" if mod(obs,12)==4replace mes="May" if mod(obs,12)==5replace mes="Jun" if mod(obs,12)==6replace mes="Jul" if mod(obs,12)==7replace mes="Ago" if mod(obs,12)==8replace mes="Sept" if mod(obs,12)==9replace mes="Oct" if mod(obs,12)==10replace mes="Nov" if mod(obs,12)==11replace mes="Dic" if mod(obs,12)==0gen month=.replace month=1 if mes=="Ene"replace month=2 if mes=="Feb"replace month=3 if mes=="Mar"replace month=4 if mes=="Abr"replace month=5 if mes=="May"replace month=6 if mes=="Jun"replace month=7 if mes=="Jul"replace month=8 if mes=="Ago"replace month=9 if mes=="Sept"replace month=10 if mes=="Oct"replace month=11 if mes=="Nov"replace month=12 if mes=="Dic"label define month 1 "Jan" 2 "Feb" 3 "Mar" 4 "Apr" 5 "May" 6 "Jun" 7 "Jul" 8 "Aug" 9 "Sep" 10 "Oct" 11 "Nov" 12 "Dec"label values month monthsort monthtable month, c(mean detrend) f(%19.9f)
Código en STATAgen double season=.replace season=-7.077898274 if month==1replace season=-1.293995899 if month==2replace season=8.977742568 if month==3replace season=7.868356705 if month==4replace season=7.246618354 if month==5replace season=4.677504000 if month==6replace season=1.483531288 if month==7replace season=2.823056428 if month==8replace season=-1.488043578 if month==9replace season=-2.557064720 if month==10replace season=-9.138068655 if month==11replace season=-12.443181645 if month==12tsset tgraph twoway (line season t), title("Estacionalidad") saving("c:\mwhdata\season.gph",replace)* Paso 4 Obtener el componente de Irregularidadgen double irreg=.replace irreg=hsales-season-ma2ma12tsset tgraph twoway (line irreg t), title("Irregularidad") saving("c:\mwhdata\irregular.gph",replace)* Gráfica del Índice de Estacionalidadcollapse (mean) detrend, by(mes)gen month=.replace month=1 if mes=="Ene"replace month=2 if mes=="Feb"replace month=3 if mes=="Mar"replace month=4 if mes=="Abr"replace month=5 if mes=="May"replace month=6 if mes=="Jun"replace month=7 if mes=="Jul"replace month=8 if mes=="Ago"replace month=9 if mes=="Sept"replace month=10 if mes=="Oct"replace month=11 if mes=="Nov"replace month=12 if mes=="Dic"label values month monthsort monthline detrend month, title("Índice Estacional") xlabel(1(1)12) saving("c:\mwhdata\seasonindex.gph",replace)
Código en STATA
* Descomposición Multiplicativainsheet passengers using "c:\mwhdata\airline.csv", clear* Paso 0 Preparar la Serie de Tiempo para su Descomposiciónlabel drop _allgen t=.replace t=ym(1949,1) in 1for num 2/96: replace t=t[X-1]+1 in Xformat t %tmlabel var t "Month"tsset t* Paso 1 Estimar Tendencia-Ciclo * 2x12 MA smoother * Serie de Promedios Móviles Centrados 2x12 MA* Se genera la serie MA12tssmooth ma ma12=passengers, window(6 1 5)graph twoway (line passengers t, lcolor(yellow)) (line ma12 t, lcolor(black)), title("12 MA smoother (uncentered)") ytitle("passenger traffic (in thousands)") saving("c:\mwhdata\passengers12MA.gph",replace)* Se aplican promedios móviles MA2 a la serie MA12 obtenidatssmooth ma ma2ma12=ma12, window(0 1 1)graph twoway (line passengers t, lcolor(yellow)) (line ma2ma12 t, lcolor(black)), title("Centered 12 MA smoother") ytitle("Passengers (thousands)") saving("c:\mwhdata\passeng2x12MA.gph",replace)* Paso 2 Cálculo de la razón porcentual datos a promedio móvilgen double ratio=passengers*100/ma2ma12graph twoway (line passengers t, lcolor(yellow)) (line ma2ma12 t, lcolor(black)) (line ratio t, lcolor(red)), title("original, trend-cycle & detrended passenger travel series") ytitle("Passengers (thousands)") saving("c:\mwhdata\detrendedMA2x12mult.gph",replace)
Código en STATA* Paso 3 Cálculo del Índice Estacionalgen obs=_ngen mes=""replace mes="Ene" if mod(obs,12)==1replace mes="Feb" if mod(obs,12)==2replace mes="Mar" if mod(obs,12)==3replace mes="Abr" if mod(obs,12)==4replace mes="May" if mod(obs,12)==5replace mes="Jun" if mod(obs,12)==6replace mes="Jul" if mod(obs,12)==7replace mes="Ago" if mod(obs,12)==8replace mes="Sept" if mod(obs,12)==9replace mes="Oct" if mod(obs,12)==10replace mes="Nov" if mod(obs,12)==11replace mes="Dic" if mod(obs,12)==0gen month=.replace month=1 if mes=="Ene"replace month=2 if mes=="Feb"replace month=3 if mes=="Mar"replace month=4 if mes=="Abr"replace month=5 if mes=="May"replace month=6 if mes=="Jun"replace month=7 if mes=="Jul"replace month=8 if mes=="Ago"replace month=9 if mes=="Sept"replace month=10 if mes=="Oct"replace month=11 if mes=="Nov"replace month=12 if mes=="Dic"label define month 1 "Jan" 2 "Feb" 3 "Mar" 4 "Apr" 5 "May" 6 "Jun" 7 "Jul" 8 "Aug" 9 "Sep" 10 "Oct" 11 "Nov" 12 "Dec"label values month monthsort monthtable month, c(mean ratio) f(%19.9f)
Código en STATAgen double season=.replace season=90.797389974 if month==1replace season=90.438392078 if month==2replace season=102.947138301 if month==3replace season=98.663833075 if month==4replace season=97.402091271 if month==5replace season=109.434043862 if month==6replace season=120.609398326 if month==7replace season=119.058600173 if month==8replace season=105.526891616 if month==9replace season=91.695788069 if month==10replace season=79.634994776 if month==11replace season=90.229136994 if month==12tsset tgraph twoway (line season t), title("Estacionalidad") saving("c:\mwhdata\seasonmult.gph",replace)* Paso 4 Obtener el componente de Irregularidadgen double irreg=.replace irreg=passengers/(season*ma2ma12)tsset tgraph twoway (line irreg t), title("Irregularidad") saving("c:\mwhdata\irregularmult.gph",replace)* Gráfica del Índice de Estacionalidadcollapse (mean) ratio, by(mes)gen month=.replace month=1 if mes=="Ene"replace month=2 if mes=="Feb"replace month=3 if mes=="Mar"replace month=4 if mes=="Abr"replace month=5 if mes=="May"replace month=6 if mes=="Jun"replace month=7 if mes=="Jul"replace month=8 if mes=="Ago"replace month=9 if mes=="Sept"replace month=10 if mes=="Oct"replace month=11 if mes=="Nov"replace month=12 if mes=="Dic"label values month monthsort monthline ratio month, title("Índice Estacional") xlabel(1(1)12) saving("c:\mwhdata\seasonindexmult.gph",replace)
top related