Curso de Economería de Series de iempo Faculad de Economía Universidad Nacional Auónoma de México Descomposición de Series de iempo Profesor: Juan Francisco Islas Aduno: Miguel Heras Ciudad Universiaria, Agoso 0
Principios de Descomposición de Series de iempo Componenes de separación endencia-ciclo: Represena los cambios de largo plazo en el nivel de la serie de iempo. Esacionalidad: Caraceriza flucuaciones periódicas de longiud consane causadas por facores ales como emperaura, esación del año, periodo vacacional, políicas, ec. daos=parónerror ( endencia - ciclo, esacionalidad, error) ( S, E ) = f = f,
Principios de Descomposición de Series de iempo Descomposición Adiiva = S Descomposición Muliplicaiva = S ransformación logarímica E E log = log S log log Descomposición Pseudo-Adiiva Ause esacional ( S E ) = S = E E
Promedios Móviles Simples: MA Serie MA MA M M M = MA,..., = para window,,
MA 5 6 5 5 5 5 5 5 5 M M M Promedios Móviles Simples: 5MA Serie 5MA 5 5 = MA,..., = para,, window
Promedios Móviles Simples: Generalización MA orden impar En general, para cualquier impar = MA L,, = L para y ause para las primeras observaciones y úlimas.,, window
Eemplos Serie original shampoo.csv 0 0 0 0 0 Monh 0 00 00 600 800 oal sales (liers)
oal sales (liers) 0 00 00 600 800 Eemplos MA smooher ( ) = 0 0 0 0 0 Monh oal sales (liers) ma: x()= liers: window( )
Suavizamieno mediane Promedios Móviles Simples Ause en los punos exremos de la serie MA A = M ( ) A = ( )
oal sales (liers) 0 00 00 600 800 5 Eemplos 5 MA smooher ( ) = 0 0 0 0 0 Monh oal sales (liers) ma: x()= liers: window( )
Suavizamieno mediane Promedios Móviles Simples Ause en los punos exremos de la serie 5MA A = A = M ( ) A = A = ( )
MA M M M Promedios Móviles Simples. Generalización MA Serie MA MA M M M = MA,, = L para y ause de la úlima observación. pivoe izquierdo pivoe derecho MA =,, = L para y ause de la primera observación. 0,, window window,,0
Promedios Móviles Simples. Generalización MA Serie MA = MA,, = L para y ause de la primera y úlimas dos observaciones.,, = L para = MA y ause de las primeras dos y úlima observaciones. MA 5 M M M MA M M M pivoe izquierdo pivoe derecho window,,,, window
En general, para cualquier par y pivoe izquierdo = MA L,, = L para y ause para las primeras observaciones y úlimas. Promedios Móviles Simples: Generalización MA orden par
En general, para cualquier par y pivoe derecho = MA L,, = L para y ause para las primeras observaciones y úlimas. Promedios Móviles Simples: Generalización MA orden par
oal sales (liers) 0 00 00 600 800 Se aplicó MA con pivoe izquierdo a la serie ( ) = Eemplos MA smooher Se ausa la primera y las dos úlimas observaciones de la serie MA. A = ( ) A = A = ( ) ( ) 0 0 0 0 0 Monh oal sales (liers) ma: x()= liers: window( )
Promedios Móviles Compuesos (Caso de Cenrados x MA) oal sales (liers) 0 00 00 600 800 Se aplicó MA con pivoe derecho a la serie MA x MA smooher Se ausa la primera observación de la serie x MA: = A MA 0 0 0 0 0 Monh oal sales (liers) ma: x()= ma: window( 0)
oal sales 0 0 60 80 00 Descomposición de una Serie de iempo Monhly sales of new-one family sold in he USA since 97 serie original hsales.csv 975m 980m 985m 990m 995m Monh
oal sales 0 0 60 80 00 Suavizamieno mediane Promedios Móviles 7 7 MA smooher ( ) = 975m 980m 985m 990m 995m Monh hsales ma: x()= hsales: window ( )
Suavizamieno mediane Promedios Móviles Ause en los punos exremos de la serie 7MA 5 5 A = A = M 6 5 6 A = A = A = 5 A = 5 6
oal sales 0 0 60 80 00 Promedios Móviles Simples (Caso par con pivoe derecho) MA smooher (uncenered) 975m 980m 985m 990m 995m Monh hsales ma: x()= hsales: window(6 5)
Suavizamieno mediane Promedios Móviles Ause en los exremos de la serie MA con pivoe derecho A = 6 6 = A = 7 7 = A = 8 8 = A = 9 9 = A 5 = 0 0 = A 6 = = M window( 6,,5 ) A = = 0 A = 0 = 9 A = 9 = 8 A = 8 = 7 A = 7 = 6
oal sales 0 0 60 80 00 Promedios Móviles Compuesos (Caso de Cenrados x MA) Cenered MA smooher Ause MA por pivoe derecho a la serie MA: = A MA 975m 980m 985m 990m 995m Monh hsales ma: x()= ma: window( 0)
Código en SAA * Suavizamieno mediane Promedios Móviles Simples MA y 5MA inshee liers using "c:\mwhdaa\shampoo.csv", clear gen monh=. for num 5:replace monh= in X for num 6:replace monh= in X for num 5 7:replace monh= in X for num 6 8:replace monh= in X for num 5 7 9:replace monh=5 in X for num 6 8 0:replace monh=6 in X for num 7 9 :replace monh=7 in X for num 8 0 :replace monh=8 in X for num 9 :replace monh=9 in X for num 0 :replace monh=0 in X for num 5:replace monh= in X for num 6:replace monh= in X label define monh "Jan" "Feb" "Mar" "Apr" 5 "May" 6 "Jun" 7 "Jul" 8 "Aug" 9 "Sep" 0 "Oc" "Nov" "Dec" label values monh monh label var liers "oal sales (liers)" gen year=. replace year= in / replace year= in / replace year= in 5/6 gen =_n label var "Monh" line liers, saving("c:\mwhdaa\shampoo.gph", replace) sse ssmooh ma ma=liers, window( ) lis graph woway (line liers ) (line ma ), ile(" MA smooher") yile("oal sales (liers)") saving("c:\mwhdaa\shampooma.gph", replace)
Código en SAA * Suavizamieno mediane Promedios Móviles MA y 5MA (coninuación) ssmooh ma ma5=liers, window( ) graph woway (line liers ) (line ma5 ), ile("5 MA smooher") yile("oal sales (liers)") saving("c:\mwhdaa\shampooma5.gph", replace) * Promedios Móviles cenrados * Consrucción de la Serie x MA * Se genera la serie MA ssmooh ma ma=liers, window( ) graph woway (line liers ) (line ma ), ile(" MA smooher") yile("oal sales (liers)") saving("c:\mwhdaa\shampooma.gph", replace) * Se aplican promedios móviles MA a la serie MA obenida ssmooh ma mama=ma, window( 0) graph woway (line liers ) (line mama ), ile("x MA smooher") yile("oal sales (liers)") saving("c:\mwhdaa\shampooxma.gph", replace) lis
Código en SAA * 7 MA smooher for Housing sales daa inshee hsales using "c:\mwhdaa\hsales.csv", clear gen =. replace =ym(97,) in for num /75: replace =[X-] in X forma %m label var "Monh" sse graph woway (line hsales, lcolor(blue)), ile("monhly sales of new-one family sold in he USA since 97") yile("oal sales") saving("c:\mwhdaa\hsales.gph",replace) ssmooh ma ma7=hsales, window( ) graph woway (line hsales, lcolor(yellow)) (line ma7, lcolor(black)), ile("7 MA smooher") yile("oal sales") saving("c:\mwhdaa\hsales7ma.gph",replace) * x MA smooher for Housing sales daa * Serie de Promedios Móviles Cenrados x MA * Se genera la serie MA ssmooh ma ma=hsales, window(6 5) graph woway (line hsales, lcolor(yellow)) (line ma, lcolor(black)), ile(" MA smooher (uncenered)") yile("oal sales") saving("c:\mwhdaa\hsalesma.gph",replace) * Se aplican promedios móviles MA a la serie MA obenida ssmooh ma mama=ma, window( 0) graph woway (line hsales, lcolor(yellow)) (line mama, lcolor(black)), ile("cenered MA smooher") yile("oal sales") saving("c:\mwhdaa\hsalesxma.gph",replace) lis
= 5 5 9, 9,, 9, 9 Promedios Móviles Ponderados Fuene: hp://www.robhyndman.com/papers/movingaverage.pdf Cualquier combinación de promedios móviles simples puede ser uilizada para formar un promedio móvil doble (o compueso) y al modificarse los ponderadores se obiene una serie de promedios móviles ponderados. Por eemplo, MA x es equivalene a MA 5 con ponderadores: Algunas funciones de ponderación en promedios móviles:
Promedios Móviles Ponderados. Eemplo MA 9 En general, un promedio móvil ponderado iene la forma: wma = m =m a Por eemplo, se obiene un promedio móvil MA 9 ponderado bao la función cuárica: Q (, m) = m 0 para m en oro caso Normalizando, el ponderador para la -ésima observación es: a = m Q i=m (, m) Q( i, m) con < < m m =m a =
Promedios Móviles Ponderados. Eemplo MA 9 0 0 0 0 0 0 00 00 600 800 liers 0 00 00 600 800 shampoo.csv 0 0 0 0 0 liers ma9w Weighed MA9 smooher 0 00 00 600 800 oal sales (liers) 0 0 0 0 0 0 0 0 0 0 Monh liers ma9w liers m a9w 0 00 00 600 800
Función de Ponderadores. Eemplo MA 9 Función de Ponderadores MA 9 bao función cuárica Ponderador 0.0.0.06.08. Función de Ponderadores, bao la función cuárica, para las observaciones 0 a 7 de la serie MA 9-0 -5 0 5 0 érmino Función de Ponderadores para la Observación 6 Función de Ponderadores, bao la función cuárica, para el ause (MA 0) de la Observación 6 de la serie MA 9 Ponderador 0.05..5. -0-8 -6 - - 0 érmino
Suavizamieno por Regresión Local = a b Se esima la endencia-ciclo en el periodo donde a y b son los esimadores de Mínimos Cuadrados Ponderados ales m que resuelven el problema de min a a b a, b =m ( ) Se define una función de ponderadores. Para ese eemplo, los que se derivan de la función cuárica anes visa. 0 00 00 600 800 7 8 5 9 6 0 5 6 7 8 9 0 5 6 7 8 0 9 0 0 0 0 0 liers Fied values Fied values 5 6 Para cada periodo, mediane regresión local se obiene un puno esimado de endencia-ciclo, y los correspondienes auses para los exremos. La rayecoria de endencia-ciclo resulane se obiene al enlazar los punos esimados en las regresiones locales a cada periodo.
Descomposición Adiiva Descomposición Clásica Considerando los daos de la base hsales.csv Paso : Esimación de endencia-ciclo. Mediane promedio móvil cenrado MA. oal sales 0 0 60 80 00 Cenered MA smooher 975m 980m 985m 990m 995m Monh hsales ma: x()= ma: window( 0)
Descomposición Adiiva Descomposición Clásica Paso : Eliminación de endencia. Al resar el componene endencia-ciclo de los daos originales, quedando los érminos de esacionalidad e irregularidad. = S E original, rend-cycle & de-rended housing sales series oal sales -0 0 0 0 60 80 975m 980m 985m 990m 995m Monh hsales ma: x()= ma: window( 0) derend
Descomposición Clásica Descomposición Adiiva Paso : Índice esacional. Una vez removido el componene endencia-ciclo, bao la descomposición adiiva se asume que el componene esacional es consane año con año. De acuerdo al conuno de daos considerado se requiere calcular un valor para cada mes. El índice esacional se consruye promediando las observaciones sin endencia correspondienes a cada mes para odos los años observados. Índice Esacional Esacionalidad (mean) derend -5-0 -5 0 5 0 5 6 7 8 9 0 monh season -5-0 -5 0 5 0 975m 980m 985m 990m 995m Monh
Descomposición Clásica Descomposición Adiiva Paso : Serie de Irregularidad. Se obiene a parir de: E = S Irregularidad irreg -0-0 0 0 0 975m 980m 985m 990m 995m Monh
Resumen gráfico de la Descomposición Adiiva hsales 0 0 60 80 00 = S S e r i e o r i g i n a l E 9 7 5 m 9 8 0 m 9 8 5 m 9 9 0 m 9 9 5 m M o n h e n d e n c i a - C i c l o ma: x()= ma: window( 0) season 0 0 50 60 70-5 -0-5 0 5 0 9 7 5 m 9 8 0 m 9 8 5 m 9 9 0 m 9 9 5 m M o n h E s a c i o n a l i d a d S 9 7 5 m 9 8 0 m 9 8 5 m 9 9 0 m 9 9 5 m M o n h I r r e g u l a r i d a d irreg -0-0 0 0 0 E 9 7 5 m 9 8 0 m 9 8 5 m 9 9 0 m 9 9 5 m M o n h
Descomposición Muliplicaiva Descomposición Clásica Considerando los daos de la base airline.csv Paso : Esimación de endencia-ciclo. Mediane promedio móvil cenrado MA. Cenered MA smooher Passengers (housands) 00 00 00 00 99m 950m7 95m 95m7 955m 956m7 Monh passengers ma: x()= ma: window(0 )
Descomposición Clásica Descomposición Muliplicaiva Paso : Cálculo de la razón porcenual daos a promedio móvil. S E R = = = S E original, rend-cycle & derended passenger ravel series Passengers (housands) 00 00 00 00 99m 950m7 95m 95m7 955m 956m7 Monh passengers ma: x()= ma: window(0 ) raio
Descomposición Clásica Descomposición Muliplicaiva Paso : Índice esacional. Una vez removido el componene endencia-ciclo, bao la descomposición muliplicaiva se asume que el componene esacional es consane año con año. De acuerdo al conuno de daos considerado se requiere calcular un valor para cada mes. El índice esacional se consruye promediando las observaciones sin endencia correspondienes a cada mes para odos los años observados. Índice Esacional Esacionalidad (mean) raio 80 90 00 0 0 5 6 7 8 9 0 monh season 80 90 00 0 0 99m 950m7 95m 95m7 955m 956m7 Monh
Descomposición Clásica Descomposición Muliplicaiva Paso : Serie de Irregularidad. Se obiene a parir de: E = S irreg.009.0095.0.005.0 Irregularidad 99m 950m7 95m 95m7 955m 956m7 Monh
passenger raffic (in housands) Passengers (housands) 00 00 00 00 00 50 00 50 00 50 Resumen gráfico de la Descomposición Muliplicaiva S e r i e o r i g i n a l = S 9 9 m 9 5 0 m 7 9 5 m 9 5 m 7 9 5 5 m 9 5 6 m 7 M o n h E e n d e n c i a - C i c l o 9 9 m 9 5 0 m 7 9 5 m 9 5 m 7 9 5 5 m 9 5 6 m 7 M o n h E s a c i o n a l i d a d season 80 90 00 0 0 S irreg 9 9 m 9 5 0 m 7 9 5 m 9 5 m 7 9 5 5 m 9 5 6 m 7 M o n h.009.0095.0.005.0 I r r e g u l a r i d a d E 9 9 m 9 5 0 m 7 9 5 m 9 5 m 7 9 5 5 m 9 5 6 m 7 M o n h
Méodo X--ARIMA del Buró de Censos noreamericano Para mayor dealle sobre la relevancia de ese méodo, véase hp://www.census.gov/srd/www/xa/ hp://www.inegi.org.mx/prod_serv/conenidos/espanol/bvinegi/producos/derivada/coyunura/igae/igae.pdf
Méodo X--ARIMA del Buró de Censos noreamericano
Código en SAA * Promedios móviles ponderados inshee y using "C:\mwhdaa\shampoo.csv", clear gen =_n sse label var y "liers" scaer y * Ponderadores MA 9 bao la función cuárica for num 0/9: scalar qx=(-(x/9)^)^ scalar sumaq=q9q8q7q6q5qqqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax gen ma9w=. for num 0/7: replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X woway (scaer y ) (line ma9w ) * Ause de Observaciones de exrema izquierda * Observación scalar sumaq=q0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación scalar sumaq=qq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación scalar sumaq=qqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X
Código en SAA * Observación scalar sumaq=qqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a*y[x-]a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación 5 scalar sumaq=qqqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 5: replace ma9w=a*y[x-]a*y[x-]a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación 6 scalar sumaq=q5qqqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 6: replace ma9w=a5*y[x-5]a*y[x-]a*y[x-]a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación 7 scalar sumaq=q6q5qqqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 7: replace ma9w=a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación 8 scalar sumaq=q7q6q5qqqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 8: replace ma9w=a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X * Observación 9 scalar sumaq=q8q7q6q5qqqqq0qqqqq5q6q7q8q9 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 9: replace ma9w=a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x-]a*y[x- ]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8]a9*y[x9] in X woway (scaer y ) (line ma9w )
Código en SAA * Ause de Observaciones de exrema derecha * Observación 8 scalar sumaq=q9q8q7q6q5qqqqq0qqqqq5q6q7q8 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 8: replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7]a8*y[x8] in X * Observación 9 scalar sumaq=q9q8q7q6q5qqqqq0qqqqq5q6q7 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 9: replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6]a7*y[x7] in X * Observación 0 scalar sumaq=q9q8q7q6q5qqqqq0qqqqq5q6 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 0: replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5]a6*y[x6] in X * Observación scalar sumaq=q9q8q7q6q5qqqqq0qqqqq5 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x]a5*y[x5] in X * Observación scalar sumaq=q9q8q7q6q5qqqqq0qqqq for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x]a*y[x] in X * Observación scalar sumaq=q9q8q7q6q5qqqqq0qqq for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x]a*y[x] in X
Código en SAA * Observación scalar sumaq=q9q8q7q6q5qqqqq0qq for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num : replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x]a*y[x] in X * Observación 5 scalar sumaq=q9q8q7q6q5qqqqq0q for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 5: replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x]a*y[x] in X * Observación 6 scalar sumaq=q9q8q7q6q5qqqqq0 for num 0/9: scalar ax=qx/sumaq for num 0/9: display ax for num 6: replace ma9w=a9*y[x-9]a8*y[x-8]a7*y[x-7]a6*y[x-6]a5*y[x-5]a*y[x-]a*y[x-]a*y[x- ]a*y[x-]a0*y[x] in X * Gráfica final Serie Original y Serie MA9 Ponderada woway (scaer y ) (line ma9w ), ile("weighed MA9 smooher") xile("monh") yile("oal sales (liers)") saving("c:\mwhdaa\avma9.gph", replace) * Lisado de Observaciones Serie Original y Serie MA9 Ponderada lis
Código en SAA * Función de Ponderadores MA 9 bao la función cuárica clear se obs 9 gen =_n-0 gen double q=(-(/9)^)^ sum q gen double a=q/r(sum) lis, sum line a, ile("función de Ponderadores MA 9 bao función cuárica") xile("érmino") yile("ponderador") saving("c:\mwhdaa\weighs.gph", replace) * Función de Ponderadores bao la función cuárica para el Ause (MA 0) de la Observación 6 de la serie MA 9 clear se obs 0 gen =_n-0 gen double q=(-(/9)^)^ sum q gen double a=q/r(sum) lis, sum line a, ile("función de Ponderadores para la Observación 6") xile("érmino") yile("ponderador") saving("c:\mwhdaa\weighs6.gph", replace)
Código en SAA * Suavizamieno por Regresión Local inshee y using "C:\mwhdaa\shampoo.csv", clear gen =_n sse label var y "liers" gen yreg=. * Observación * Paso Idenificar las observaciones de la muesra a considerar scaer y, xline gen =. replace =_n- in / * Paso Definición de Ponderadores gen double q=. replace q=(-(/9)^)^ in / sum q gen double a=q/r(sum) * Paso Esimación por Mínimos Cuadrados Ponderados regress y in / [aw=a] predic yha woway (scaer y, xline mlabel()) (line yha ) (scaer yha if ==, mcolor(red) msize(large)) replace yreg=yha[] in drop q a yha * Paso Repeir para las observaciones 0 a y a 7 y auses resanes para razar * curva de endencia-ciclo esimada a parir de los punos locales de las respecivas * regresiones.
Código en SAA * Descomposición Adiiva * Paso 0 Preparar la Serie de iempo para su Descomposición label drop _all inshee hsales using "c:\mwhdaa\hsales.csv", clear gen =. replace =ym(97,) in for num /75: replace =[X-] in X forma %m label var "Monh" sse * Paso Esimar endencia-ciclo * x MA smooher for Housing sales daa * Serie de Promedios Móviles Cenrados x MA * Se genera la serie MA ssmooh ma ma=hsales, window(6 5) graph woway (line hsales, lcolor(yellow)) (line ma, lcolor(black)), ile(" MA smooher (uncenered)") yile("oal sales") saving("c:\mwhdaa\hsalesma.gph",replace) * Se aplican promedios móviles MA a la serie MA obenida ssmooh ma mama=ma, window( 0) graph woway (line hsales, lcolor(yellow)) (line mama, lcolor(black)), ile("cenered MA smooher") yile("oal sales") saving("c:\mwhdaa\hsalesxma.gph",replace) * Paso Eliminar endencia-ciclo gen double derend=hsales-mama graph woway (line hsales, lcolor(yellow)) (line mama, lcolor(red)) (line derend, lcolor(blue)), ile("original, rend-cycle & de-rended housing sales series") yile("oal sales") saving("c:\mwhdaa\derendedmax.gph",replace)
Código en SAA * Paso Obener el componene de Esacionalidad gen obs=_n gen mes="" replace mes="ene" if mod(obs,)== replace mes="feb" if mod(obs,)== replace mes="mar" if mod(obs,)== replace mes="abr" if mod(obs,)== replace mes="may" if mod(obs,)==5 replace mes="jun" if mod(obs,)==6 replace mes="jul" if mod(obs,)==7 replace mes="ago" if mod(obs,)==8 replace mes="sep" if mod(obs,)==9 replace mes="oc" if mod(obs,)==0 replace mes="nov" if mod(obs,)== replace mes="dic" if mod(obs,)==0 gen monh=. replace monh= if mes=="ene" replace monh= if mes=="feb" replace monh= if mes=="mar" replace monh= if mes=="abr" replace monh=5 if mes=="may" replace monh=6 if mes=="jun" replace monh=7 if mes=="jul" replace monh=8 if mes=="ago" replace monh=9 if mes=="sep" replace monh=0 if mes=="oc" replace monh= if mes=="nov" replace monh= if mes=="dic" label define monh "Jan" "Feb" "Mar" "Apr" 5 "May" 6 "Jun" 7 "Jul" 8 "Aug" 9 "Sep" 0 "Oc" "Nov" "Dec" label values monh monh sor monh able monh, c(mean derend) f(%9.9f)
Código en SAA gen double season=. replace season=-7.0778987 if monh== replace season=-.9995899 if monh== replace season=8.9777568 if monh== replace season=7.86856705 if monh== replace season=7.6685 if monh==5 replace season=.67750000 if monh==6 replace season=.8588 if monh==7 replace season=.80568 if monh==8 replace season=-.880578 if monh==9 replace season=-.5570670 if monh==0 replace season=-9.8068655 if monh== replace season=-.865 if monh== sse graph woway (line season ), ile("esacionalidad") saving("c:\mwhdaa\season.gph",replace) * Paso Obener el componene de Irregularidad gen double irreg=. replace irreg=hsales-season-mama sse graph woway (line irreg ), ile("irregularidad") saving("c:\mwhdaa\irregular.gph",replace) * Gráfica del Índice de Esacionalidad collapse (mean) derend, by(mes) gen monh=. replace monh= if mes=="ene" replace monh= if mes=="feb" replace monh= if mes=="mar" replace monh= if mes=="abr" replace monh=5 if mes=="may" replace monh=6 if mes=="jun" replace monh=7 if mes=="jul" replace monh=8 if mes=="ago" replace monh=9 if mes=="sep" replace monh=0 if mes=="oc" replace monh= if mes=="nov" replace monh= if mes=="dic" label values monh monh sor monh line derend monh, ile("índice Esacional") xlabel(()) saving("c:\mwhdaa\seasonindex.gph",replace)
Código en SAA * Descomposición Muliplicaiva inshee passengers using "c:\mwhdaa\airline.csv", clear * Paso 0 Preparar la Serie de iempo para su Descomposición label drop _all gen =. replace =ym(99,) in for num /96: replace =[X-] in X forma %m label var "Monh" sse * Paso Esimar endencia-ciclo * x MA smooher * Serie de Promedios Móviles Cenrados x MA * Se genera la serie MA ssmooh ma ma=passengers, window(6 5) graph woway (line passengers, lcolor(yellow)) (line ma, lcolor(black)), ile(" MA smooher (uncenered)") yile("passenger raffic (in housands)") saving("c:\mwhdaa\passengersma.gph",replace) * Se aplican promedios móviles MA a la serie MA obenida ssmooh ma mama=ma, window(0 ) graph woway (line passengers, lcolor(yellow)) (line mama, lcolor(black)), ile("cenered MA smooher") yile("passengers (housands)") saving("c:\mwhdaa\passengxma.gph",replace) * Paso Cálculo de la razón porcenual daos a promedio móvil gen double raio=passengers*00/mama graph woway (line passengers, lcolor(yellow)) (line mama, lcolor(black)) (line raio, lcolor(red)), ile("original, rend-cycle & derended passenger ravel series") yile("passengers (housands)") saving("c:\mwhdaa\derendedmaxmul.gph",replace)
Código en SAA * Paso Cálculo del Índice Esacional gen obs=_n gen mes="" replace mes="ene" if mod(obs,)== replace mes="feb" if mod(obs,)== replace mes="mar" if mod(obs,)== replace mes="abr" if mod(obs,)== replace mes="may" if mod(obs,)==5 replace mes="jun" if mod(obs,)==6 replace mes="jul" if mod(obs,)==7 replace mes="ago" if mod(obs,)==8 replace mes="sep" if mod(obs,)==9 replace mes="oc" if mod(obs,)==0 replace mes="nov" if mod(obs,)== replace mes="dic" if mod(obs,)==0 gen monh=. replace monh= if mes=="ene" replace monh= if mes=="feb" replace monh= if mes=="mar" replace monh= if mes=="abr" replace monh=5 if mes=="may" replace monh=6 if mes=="jun" replace monh=7 if mes=="jul" replace monh=8 if mes=="ago" replace monh=9 if mes=="sep" replace monh=0 if mes=="oc" replace monh= if mes=="nov" replace monh= if mes=="dic" label define monh "Jan" "Feb" "Mar" "Apr" 5 "May" 6 "Jun" 7 "Jul" 8 "Aug" 9 "Sep" 0 "Oc" "Nov" "Dec" label values monh monh sor monh able monh, c(mean raio) f(%9.9f)
Código en SAA gen double season=. replace season=90.7978997 if monh== replace season=90.89078 if monh== replace season=0.9780 if monh== replace season=98.668075 if monh== replace season=97.0097 if monh==5 replace season=09.086 if monh==6 replace season=0.609986 if monh==7 replace season=9.0586007 if monh==8 replace season=05.568966 if monh==9 replace season=9.695788069 if monh==0 replace season=79.699776 if monh== replace season=90.9699 if monh== sse graph woway (line season ), ile("esacionalidad") saving("c:\mwhdaa\seasonmul.gph",replace) * Paso Obener el componene de Irregularidad gen double irreg=. replace irreg=passengers/(season*mama) sse graph woway (line irreg ), ile("irregularidad") saving("c:\mwhdaa\irregularmul.gph",replace) * Gráfica del Índice de Esacionalidad collapse (mean) raio, by(mes) gen monh=. replace monh= if mes=="ene" replace monh= if mes=="feb" replace monh= if mes=="mar" replace monh= if mes=="abr" replace monh=5 if mes=="may" replace monh=6 if mes=="jun" replace monh=7 if mes=="jul" replace monh=8 if mes=="ago" replace monh=9 if mes=="sep" replace monh=0 if mes=="oc" replace monh= if mes=="nov" replace monh= if mes=="dic" label values monh monh sor monh line raio monh, ile("índice Esacional") xlabel(()) saving("c:\mwhdaa\seasonindexmul.gph",replace)