Allan Calderón Moya, Jorge Hernández Villalobos y Abraham Sánchez Obaldía
Anexo 3: Programa utilizado para el análisis de los datos en Eviews
create demanda u 44
read(b2,t=wk1) variables2 12
group endog lm1r
group expl lpib bas lm1rez est t1 t2 t3
group endex lm1r lpib bas est lm1rez
para probar diferentes variables para el modelo, se deben sustituir las
variables del modelo original por las
deseadas. Tal es el caso de sustituir lpib por limae, o bas por inf, tbr y
tc.
además, en algunas de estas combinaciones se debe excluir el análisis de
white (términos cruzados), pues
no se puede calcular
equation modelo.ls endog c expl
'TABLA PARA AUTOCALCULAR LAS ELASTICIDADES DE CORTO PLAZO
table(6,2) vorig
vorig(1,1)="lnA y elasticidades de corto plazo"
vorig(2,1)="variable"
vorig(2,2)="valor"
vorig(3,1)="a0"
vorig(4,1)="a1"
vorig(5,1)="a2"
vorig(6,1)="beta"
vorig(6,2)=@str(1-@coefs(4))
vorig(3,2)=@str(@coefs(1)/@val(vorig(6,2)))
vorig(4,2)=@str(@coefs(2)/@val(vorig(6,2)))
vorig(5,2)=@str(@coefs(3)/@val(vorig(6,2)))
subroutine diagsubaux
' OBTENER Y CREAR INFORMACION PARA USO POSTERIOR
equation modelo.ls endog c expl
!tobs=@regobs
!mobs=@floor(@regobs/2)
!nvar=@ncoef
series constant=1
!r2=@r2
' REDIRECCIONAR LA SALIDA
pon
' I. ANALISIS PRELIMINAR
' I.1. GRAFICO DE LA VARIABLE ENDOGENA
output grafendo
endog.line
' I.2. ESTADISTICAS DE LAS VARIABLES
output estadisticas
group endexog endog expl
endexog.stats
' I.3. MULTICOLINEALIDAD
output multicol
matrix(!nvar,!nvar) coefr2
matrix(!nvar) fiv
coefr2=@cor(expl)
fiv=@getmaindiagonal(@inverse(coefr2))
group gexplyc expl constant
stom(gexplyc,mat1)
vector(4) diagonal=@sqrt(@getmaindiagonal(@transpose(mat1)*mat1))
for !i=1 to !nvar
series gexplyc(!i)=gexplyc(!i)/diagonal(!i)
next
stom(gexplyc,mat1)
sym(!nvar,!nvar) mat2=@transpose(mat1)*mat1
vector(!nvar) valeig=@eigenvalues(mat2)
mtos(valeig,ncon)
ncon=@max(ncon)/ncon
stom(ncon,nc)
matrix(!nvar,2) fivnc
for !i=1 to !nvar-1
fivnc(!i,1)=fiv(!i)
next
fivnc(!nvar,1)=1
for !i=1 to !nvar
fivnc(!i,2)=nc(!i)
next
show coefr2
show fivnc
for !i=1 to !nvar
series gexplyc(!i)=gexplyc(!i)*diagonal(!i)
next
' 1.4. GRANGER-CAUSALIDAD
output causalidad
endex.cause(4)
' II. EL MODELO
' II.1. ESTIMACION Y ANALISIS DE LOS RESIDUOS
output residuos
equation modelo.ls endog c expl
modelo.coefcov
modelo.resids(g)
modelo.resids(t)
' II.2. LIMITES DE CONFIANZA DE LOS COEFICIENTES al 10%
output limconfianza
!ttab=@qtdist(0.95,@regobs-@ncoef)
for !i=1 to @ncoef
matrix(@ncoef,3) limcoef(!i,1)=@coefs(!i)-!ttab*@stderrs(!i)
matrix(@ncoef,3) limcoef(!i,2)=@coefs(!i)
matrix(@ncoef,3) limcoef(!i,3)=@coefs(!i)+!ttab*@stderrs(!i)
next
show limcoef
' III. AUTOCORRELACION
output autocorrel
for !i=1 to 4
modelo.auto(!i)
next
modelo.correl(!mobs)
' IV. HETEROCEDASTICIDAD
output heterocedast
for !i=1 to 4
modelo.archtest(!i)
next
modelo.white
modelo.white(c)
modelo.correlsq(!mobs)
' V. NORMALIDAD
output normalidad
modelo.hist
' VI. ESTABILIDAD
' VI.1. MINIMOS CUADRADOS RECURSIVOS
output estabilidad
for %i r c o n q v
modelo.rls(%i)
next
' VI.2. PRUEBAS DE CHOW
output chow
modelo.chow !mobs
modelo.chow(f) !mobs
' VII. ESPECIFICACION
output especificación
modelo.reset(1)
modelo.reset(2)
'modelo.reset(3)
' IX. CAPACIDAD PARA PROYECTAR
' IX.1. DENTRO DE MUESTRA
output proyec_dentro
modelo.fit(g) y_fit y_se
modelo.fit(e) y_fit y_se
' IX.2. FUERA DE MUESTRA
output proyec_fuera
equation modeloc
smpl 3 !mobs
modeloc.ls endog c expl
smpl !mobs+1 !tobs
modeloc.fit(g) y_fit y_se
modeloc.fit(e) y_fit y_se
smpl 3 !tobs
poff
close modelo expl coefr2 fiv residuos endexog influenciales
close endog fivnc limcoef
'delete y_fit y_se dp_ dn_ endexog coefr2 dum fiv influenciales linf lsup
endsub
freeze(rmodelo) modelo.results
subroutine submulticol
''TABLA DE INDICADORES DE PRESENCIA DE MULTICOLINEALIDAD
'ANÁLISIS DE COEFS R2 Y FIV
'PARA LOS R2 ENTRE VARIABLES, SE UTILIZA LA REGLA PRÁCTICA DE KLEIN:
'"si R2(i,j)>R2modelo hay problemas de multicolinealidad"
table(!nvar*2+2,!nvar) mcol_Klein
'freeze(rmodelo) modelo.results
mcol_Klein(1,1)="Prueba práctica de Klein"
for !i=1 to (!nvar-1)
mcol_klein(2+!i,1)=rmodelo(9+!i)
mcol_klein(2,1+!i)=rmodelo(9+!i)
next
for !i=4 to (!nvar+2)
for !j=2 to (!nvar)
if @val(multicol01(!i,!j))>@r2 then
mcol_Klein(!i-1,!j)="si"
else
mcol_Klein(!i-1,!j)="no"
endif
if @val(multicol01(!i,!j))=1 then
mcol_Klein(!i-1,!j)="1"
endif
next
next
if (!nvar-1)>2 then
'CREAR MATRIZ DE VARIABLES EXPLICATIVAS Y LUEGO SERIES PARA REALIZAR LAS
ECUACIONES AUXILIARES DE KLEIN
stom(expl,mexpl)
mtos(mexpl,gr1)
for !i=1 to (!nvar-1)
gr1.drop ser0{!i}
next
table(!nvar+3,3) pklein
pklein(1,1)="Resultados de ecuaciones auxiliares"
pklein(2,1)="Prueba práctica de Klein"
pklein(3,1)="Coeficiente"
pklein(3,2)="R2"
pklein(3,3)="Multicolinealidad"
pklein(!nvar+3,1)="Modelo"
pklein(!nvar+3,2)=!r2
for !i=3 to (!nvar+1)
pklein(1+!i,1)=mcol_klein(!i,1)
next
for !i=1 to (!nvar-1)
group X ser0*
X.drop ser0{!i}
equation ecaux{!i}.ls ser0{!i} c X
matrix(!nvar-1,1) r2aux
r2aux(!i,1)=@r2
pklein(!i+3,2)=r2aux(!i,1)
if r2aux(!i,1)>!r2 then
pklein(!i+3,3)="sí"
else
pklein(!i+3,3)="no"
endif
next
endif
delete mexpl gr1
endsub
PRUEBA DE INCLUIR VARIABLE TENDENCIA PARA CAMBIO TECNOLÓGICO
series tend
tend.fill 1
smpl 2 44
tend=tend(-1)+1
smpl @all
equation modelo2.ls endog c expl tend