You are on page 1of 3

--------- Importar los datos de csv. insheet using "G:\STATA Avanzado 2013\Ultima clase\Consumo de Gasolina.

csv", del imiter(";") --------- Preparando variable time = datevar g mesnum=1 if mes=="enero" replace mesnum=2 if mes=="febrero" replace mesnum=3 if mes=="marzo" replace mesnum=4 if mes=="abril" replace mesnum=5 if mes=="mayo" replace mesnum=6 if mes=="junio" replace mesnum=7 if mes=="julio" replace mesnum=8 if mes=="agosto" replace mesnum=9 if mes=="septiembre" replace mesnum=10 if mes=="octubre" replace mesnum=11 if mes=="noviembre" replace mesnum=12 if mes=="diciembre" gen aniomes=ym(anio,mesnum) format aniomes %tm tsset aniomes --------- Graficando la serie line consumo aniomes --------- Correcin de variaciones debidas a las irregularidades del calendario g dias=31 if mesnum==1 replace dias=31 if mesnum==3 replace dias=31 if mesnum==5 replace dias=31 if mesnum==7 replace dias=31 if mesnum==8 replace dias=31 if mesnum==10 replace dias=31 if mesnum==12 replace replace replace replace dias=30 dias=30 dias=30 dias=30 if if if if mesnum==4 mesnum==6 mesnum==9 mesnum==11

replace dias=29 if (mod(real(substr(string(anio),3,2)),4)==0 | real(substr(strin g(anio),3,2))==0) & mesnum==2 replace dias=28 if dias==. /* Homogenizando a meses de 30 dias gen consumoc=consumo*30/dias line consumo consumoc aniomes /* La representacin grfica de la serie presenta caractersticas tpicas de muchas seri es econmicas

/* /* - tendencia creciente a largo plazo en media - oscilaciones cclicas estacionales: en los meses de julio y agosto de cada ao, el consumo de gasolina aumneta por encima de la tendencia; adems, existe una tendencia en el ciclo estacional, ya que la amplitud de las oscilaciones va incrementndose con el tiempo (lo cual no debe confundirse con una tendencia en variabilidad) - variaciones aleatorias alrededor de la tendencia y ciclo --------- Verificando tendencia en variabilidad bysort anio: egen consumo_mean=mean(consumoc) bysort anio: egen consumo_sd=sd(consumoc) scatter consumo_sd consumo_mean /* Dado que se observa tendencia en varianza transformamos la serie, aplicaremos una ransformacion que elimine dicha tendencia. Utilizamos la transformacion logaritmo drop consumo_mean consumo_sd gen lconsumo=log(consumoc) bysort anio: egen consumo_mean=mean(lconsumo) bysort anio: egen consumo_sd=sd(lconsumo) scatter consumo_sd consumo_mean --------- Verificando estacionariedad dfuller lconsumo, lag(12) /* Dado qeu muestra raz unitaria, tranformemos la serie a primera diferencia dfuller D.lconsumo, lag(12) /* Ahora no presenta raz unitaria line D.lconsumo aniomes /* Por lo tando la serie debe ser tratada en primera diferencia

--------- Verificando grficamente qui gen lc = ln(consumoc) qui tsline consumoc, name(c, replace) qui tsline D.consumoc, name(Dc, replace) qui tsline lc, name(lc, replace) qui tsline D.lc, name(Dlc, replace) graph combine c Dc lc Dlc

--------- CORRELOGRAMAS corrgram lconsumo, lag(20) /*La funcin de autocorrelacin parece seguir una evolucin exponencial, mientras que la la funcin de autocorrelacin parcial tiende a anularse rpidamente. Cabe pues ensayar las siguientes combinaciones (P=12,13 D=1 Q=0) --------- PRIMER MODELO ARIMA arima lconsumo, arima(12,1,0) predict fit predict fity, y (predicion sobre la serie transformada) (prediccion sobre la serie original)

line lconsumo fit aniomes --------- CONTRUYENDO LOS INTERVALOS DE CONFIANZA predict error, mse g lsuperior=fity + 1.96*sqrt(error) g linferior=fity - 1.96*sqrt(error) line fity lsuperior linferior aniomes --------- ESTIMANDO VALORES FUTUROS /* Proyectamos 12 meses siguientes tsappend, add(12) predict ydinamico, y dynamic(m(1967m2))

You might also like