Download laboratorio 2

Document related concepts
no text concepts found
Transcript
Ejercicios para el Segundo Laboratorio de Pronósticos
Ejercicio 1
1. abre el archivo del capítulo 8 sobre termostatos.
2. genera la variable del tiempo utilizando gen tiempo=_n
3. Especifica que es una serie de tiempo con tsset tiempo
4. Grafica la variable dependiente (y) contra el tiempo. ¿Tiene tendencia? Si no tiene,
explica. Si tiene, ¿es positiva o negativa? ¿lineal o cuadrática?
5. Corre la regresión lineal de y contra el tiempo y un período de rezago, para las
primeras 30 observaciones. ¿Qué significa cada coeficiente?
regress y tiempo L.y in 1/30
6. utiliza estos parámetros para pronosticar los valores de los períodos 31 a 52.
predict yhat in 31/52
7. Grafica los valores reales y los pronósticos. ¿Parece ser buen pronóstico? Si no,
¿cómo podemos modificar el modelo para que sea más adecuado?
8. Corre la regresión cuadrática para los primeros 30 observaciones; utiliza estos
parámetros para pronosticar los valores de los períodos 31 a 52. (Hay que generar una
nueva variable para t2.) ¿Hay alguna mejora?
9. Corre la regresión cuadrática para todas las observaciones; utiliza estos parámetros
para pronosticar los valores de los períodos 31 a 52. ¿Qué significan los coeficientes?
¿Qué podemos aprender de este ejercicio? ¿Crees que los pronósticos generados por
este modelo puedan ser adecuados en el futuro?
10. Basado en la gráfica (paso 3), ¿crees que haya algún problema de autocorrelación?
11. Genera la estadística Durbin-Watson. ¿Parece haber algún problema de
autocorrelación? Si no, explica. Si hay, ¿es positiva o negativa?
estat dwatson
12. Podemos realizar un modelo de suavización exponencial con los siguientes comandos:
summarize in 1/26
(De aquí, agarra la media de y)
gen lt=(media de y) if tiempo==1
(define ℓ0)
replace lt=0.1*y+0.9*L.lt in 2/52
(calcula las iteraciones de ℓ2 a ℓ52)
13. Repite el ejercicio con =0.5 y =0.9. Grafica y, lt5 y lt9 contra el tiempo. ¿Cuál se ajusta
mejor a los valores observados?
14. ¿Cómo se compara este modelo con los que calculamos anteriormente?
15. Podríamos hacer el mismo ejercicio (pasos 12 -14) pero tomando menos observaciones
para calcular ℓ0. Si tienes tiempo, haz este ejercicio. ¿Cómo cambian los pronósticos?
16. Guarda los cambios en la base de datos (el ícono). Cierra la base de datos con clear
Ejercicio 2
17. Abre el archivo de Sports Drinks del capítulo 8.
18. Genera la variable del tiempo.
19. Especifica que es una serie de tiempo.
20. Grafica y contra tiempo. ¿Exhibe alguna tendencia? ¿Variación estacional
(¿constante o creciente? ¿mensual o trimestral?)? ¿Ciclo? Explica.
21. Basado en la gráfica (paso 20), ¿crees que haya algún problema de autocorrelación?
22. Genera la estadística Durbin-Watson. ¿Parece haber algún problema de
autocorrelación? Si no, explica. Si hay, ¿es positiva o negativa?
estat dwatson
23. Especifica que los períodos de tiempo son trimestrales con
format tiempo %tq
24. Crea la variable de trimestres con
gen qtr = quarter(dofq(tiempo))
25. Genera las dummies para los trimestres 2, 3 y 4.
26. Corre la regresión lineal de y contra tiempo y las dummies. ¿Qué significan los
coeficientes?
27. Calcula los valores pronosticados con
predict yhat
28. Grafica y y yhat contra el tiempo. ¿Qué observas?
29. Repite los pasos 19 a 21 con el logaritmo de y. (Primero utiliza gen lny=ln(y); en 20
predict yhat2).)
30. Genera las medias móviles de 3, 5 y 7 períodos con
smooth 3 y, gen(sm3y)
smooth 5 y, gen(sm5y)
smooth 7 y, gen(sm7y)
31. Grafica y y cada una de las medias móviles (por separado) contra el tiempo. ¿Qué
observas?
32. Corre el modelo auto-regresivo con el comando
arima y, ar(1 4)
Este comando regresa yt contra yt-1 y yt-4: yt=β0+ β1 yt-1 + β2 yt-4
¿Qué observas? ¿Qué significan los coeficientes?
Capítulo 7
Supongamos que un modelo de descomposición aditiva nos haya arrojado los siguientes
parámetros:
β0 = 32
β1 = 4
SN3 = 4
SN4 = -1
SN1 = 3
SN2 = 6
Si t=0 en el último cuarto de 2007, ¿cuál es la predicción puntual de y para el tercer trimestre
de 2008?
Supongamos que un modelo de descomposición multiplicativa nos haya arrojado los siguientes
parámetros:
β0 = 2.5
β1 = 0.3
SN3 = -0.4
SN4 = -0.2
SN1 = 1.2
SN2 = 0.3
Si t=0 en el último cuarto de 2007, ¿cuál es la predicción puntual de y para el segundo
trimestre de 2008?
Comandos útiles en Stata
note
para incluir explicaciones dentro del registro de la sesión, sin que marque error.
L.varname
para generar variables con un período de rezago
gen newvarname=_n ej. gen tiempo=_n
para generar una variable que cuenta de 1
a n, el número de observaciones. Útil cuando los datos no incluyen la variable de tiempo
(como en algunas series del libro de texto)
in (1/t) donde t representa el período máximo que se desea modelar, para modelar solamente
cierta parte de los datos (para luego comprobar si el modelo pronostica bien los otros datos que
tenemos) ej.:
regress y tiempo in(1/24)
corre la regresión lineal simple sobre los primeros 24
observaciones.
smooth # y, gen(newvarname) genera la serie suavizada (newvarname), donde # es el
número de períodos tomados en cuenta para la suavización
Si tienes fechas en un formato que necesitas cambiar, puedes usar gen con subst(s,n1,n2),
donde s es el texto original, n1 especifica el punto del texto donde comienza la parte deseada
y n2 cuán larga es la parte deseada. Por ejemplo, si tenemos fechas del formato 15 marzo
2008, podemos usar:
gen dia=substr(fecha,1,2)
gen anio=substr(fecha,-4,.) (Cuando n1<0, se toma la distancia desde el final del texto.
Cuando n2=. se toma lo que resta del texto.)
pero para generar los meses, ya que son de diferentes longitudes, tendríamos que usar
generate y replace. ej.
gen mes=3 if substr(fecha,4,5)==“marzo”
replace mes=2 if substr(fecha,4,3)==“feb”
Nota: si los meses están capturados en forma abreviada de tres letras, se puede seguir el
procedimiento de arriba.
date(s1,s2[,y])
para convertir fechas en forma de texto a numérico
s1 = texto original
s2 = especificación de la órden de la fecha: mdy significa mes, día, año (de cuatro
dígitos)
date(“1/15/99”,“md19y”) = 15 jan1999
d(15jan1999) da el mismo resultado.
dow(e)
doy(e)
da el día de la semana (0-domingo-a 6-sábado) correspondiente a la fecha e
da el día del año (1 a 366) correspondiente a la fecha e
week(e)
da la semana (1 a 52) correspondiente a la fecha e
month(e)
da el mes (1 a 12) correspondiente a la fecha e
quarter(e)
da el trimestre (1 a 4) correspondiente a la fecha e
halfyear(e) da el semestre (1 o 2) correspondiente a la fecha e
year(e)
da el año (100 a 9999) correspondiente a la fecha e
m(l)
convierte fechas en formato textual de añomes (ej. 1999jan) en tiempo
transcurrido
q(l)
convierte fechas en formato 2008q1 en número de trimestres transcurridos
desde 1960q1