codigo-t2
DESCRIPTION
t2 codeTRANSCRIPT
-
Codigos de Gretl y GNU Octave para el Tema 1
Marcos Bujosa
March 8, 2012
Abstract
Codigo de Gretl empleado en ejemplos y ejercicios de clase del Tema 1.
Contents
1 Estimacion MCO 1
1.1 Modelo lineal simple . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.1.1 Ejemplo del precio de las viviendas . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Modelo lineal con dos variables explicativas (ademas de la constante) . . . . . . . . . 3
1.2.1 Ejemplo simulado del precio de las viviendas . . . . . . . . . . . . . . . . . . . 3
1.2.2 Simulador de mas ejemplos del precio de las viviendas . . . . . . . . . . . . . . 4
1.2.3 Los residuos son ortogonales a los regresores . . . . . . . . . . . . . . . . . . . 4
1.3 Medidas de ajuste . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.3.1 Coeficiente de determinacion en modelos con y sin constante . . . . . . . . . . 5
1.3.2 Coef. de determinacion en modelos con constante, mediante el cuadrado de lacorrelacion entre el regresando y los valores ajustados: Ejemplo con el preciode las viviendas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.3.3 Ejemplo de peso de los ninos en funcion de la edad . . . . . . . . . . . . . . . 7
1 Estimacion MCO
1.1 Modelo lineal simple
1.1.1 Ejemplo del precio de las viviendas
Vamos a reproducir el primer ejemplo de modelo lineal simple las notas sobre el precio de lasviviendas. Esta sacado del ejemplo de la pagina 78 del libro de Ramanathan.
1
# leemos el archivo de datos data3-1open data3-1 # vamos a pintar el digrama de dispersion con GNUPLOTgnuplot price sqft --suppress-fitted --output="display"# Vamos a estimar el modelo; ols price const sqft# Los vamos a copiar en la variable phat1genr phat = $yhat# vamos a copiar los residuos en la variable ehatgenr ehat = $uhat # Vamos escribir las columnas de precios precios, superficies, precios estimados y erroresprint -o price sqft phat ehat# Otra forma de obtener los valores ajustados es restar los errores de los preciosgenr phat2 = price - ehat # Y otra forma mas... con mayores errores de redondeo...genr phat3 = 52.351+(0.139*sqft)# Vamos a ver como coinciden estas formas de calcularprint -o phat phat2 phat3# vamos a pintar la recta de regresion estimadagnuplot price sqft --output="display"
-
2 1 ESTIMACION MCO
Primero lemos el conjunto de datos 3-1 del libro de Ramanathan sobre el precio de venta y lasuperficie util de 14 viviendas en la comunidad de la University City de San Diego en 1990.
Como el conjunto de datos esta inclido en la base de datos del propio programa, no es necesaroindicar el directorio donde se encuentran los datos:
2a EjPvivienda.inp 2a 2b .# leemos el archivo de datos data3-1
open data3-1
Ahora podemos hacer un grafico con el diagrama de dispersion entre superficie y precio. Llamandoa la funcion gnuplot y la opcion -output="display" podemos ver el grafico en una nueva ventana
2b EjPvivienda.inp 2a+ / 2a 2c .# vamos a pintar el digrama de dispersion con GNUPLOT
gnuplot price sqft -suppress-fitted -output="display"
Puesto que las variables estan numeradas el 1 para price y 2 para sqft tamben podemos hacerloescribiendo
gnuplot 1 2 -suppress-fitted -output="display"
Pero teclenado textplot 1 2 o textplot price sqft lo pintaria en un fichero de texto ASCII(con poca calidad).
Siempre hay una variable con el ndice 0 que corresponde a la constante (la columna de unos 1H dela matriz de regresores X.
Y ahora la estimacion MCO del modelo:
2c EjPvivienda.inp 2a+ / 2b 2d .# Vamos a estimar el modelo;
ols price const sqft
tambien vale ols 1 0 2 , o una mezcla de ambos metodos: ols price 0 sqft
Con help ols podemos aprender mas sobre el comando ols
GRETL guarda algunos resultados de la estimacion en unas variables predeterminadas; por ejemplo,los valores ajustados (estimados) y se guarda bajo el nombre $yhat.
Vamos a copiar los valores de los precios estimados en la variable phat
2d EjPvivienda.inp 2a+ / 2c 2e .# Los vamos a copiar en la variable phat1
genr phat = $yhat
GRETL guarda los residuos de la regresion (errores de estimacion) e bajo el nombre $uhat. Tambienlos vamos a guardar. . .
2e EjPvivienda.inp 2a+ / 2d 2f .# vamos a copiar los residuos en la variable ehat
genr ehat = $uhat
Vamos escribir las columnas de precios precios, superficies, precios estimados y errores con print,la opcion -o indica a Gretl que pinte los valores por columnas.
2f EjPvivienda.inp 2a+ / 2e 3a .# Vamos escribir las columnas de precios precios, superficies, precios estimados y errores
print -o price sqft phat ehat
-
1.2 Modelo lineal con dos variables explicativas (ademas de la constante) 3
Podemos calcular los precios estimados de otras formas
3a EjPvivienda.inp 2a+ / 2f 3b .# Otra forma de obtener los valores ajustados es restar los errores de los precios
genr phat2 = price - ehat
. . . incluso empleando directamente el modelo estimado (aunque vamos a cometer algunos erroresde redondeo)
3b EjPvivienda.inp 2a+ / 3a 3c .# Y otra forma mas... con mayores errores de redondeo...
genr phat3 = 52.351+(0.139*sqft)
Veamos si coinciden estas formas de calcular. . .
3c EjPvivienda.inp 2a+ / 3b 3d .# Vamos a ver como coinciden estas formas de calcular
print -o phat phat2 phat3
Por ultimo vamos a pintar la recta de regresion estimada sobre el diagrama de dispersion
3d EjPvivienda.inp 2a+ / 3c# vamos a pintar la recta de regresion estimada
gnuplot price sqft -output="display"
1.2 Modelo lineal con dos variables explicativas (ademas de la constante)
1.2.1 Ejemplo simulado del precio de las viviendas
3e EjPviviendaSimulado.inp 3e
open datos/EjPviviendaSimulado.gdt
summary P S D
gnuplot D S -suppress-fitted -output="display"
gnuplot P S -suppress-fitted -output="display"
gnuplot P D -suppress-fitted -output="display"
Regresiones auxiliares entre las variables Precio, Superficie y Distancia, y del modelo verdadero 3f
rho=corr(S,D)
3f Regresiones auxiliares entre las variables Precio, Superficie y Distancia, y del modelo verdadero 3f (3e 4a)Modelo1
-
4 1 ESTIMACION MCO
1.2.2 Simulador de mas ejemplos del precio de las viviendas
4a SimuladorEjPvivienda.inp 4afijando el tamano muestral 4bgeneramos las variables Superficie, Distancia y Precio aleatoriamente 4cestadsticos de la muestra generada 4dRegresiones auxiliares entre las variables Precio, Superficie y Distancia, y del modelo verdadero 3fRegresion del Precio sobre Superficie y Precio en desviaciones respecto a la media 4f
Primero fijamos el tamano muestral
4b fijando el tamano muestral 4b (4a)nulldata 500 # nulldata fija el tamano de la muestra
4c generamos las variables Superficie, Distancia y Precio aleatoriamente 4c (4a)# "genr" define una nueva variable y "normal" genera datos con distrib. Normal
genr S = normal(70,10) # generamos los datos de la superficie
genr D = normal(0.7,0.2) # generamos distancia
genr U = normal(0,250) # perturbaciones
genr P = 100 +3*S -130*D +U # precios como funcion lineal de los regresores
4d estadsticos de la muestra generada 4d (4a)summary P S D # resumen de estadisticos de las variables
corr P S D # matriz de correlaciones
4e graficos de los diagramas de dispersion 4escaterPS
-
1.3 Medidas de ajuste 5
Y luego realizamos la regresion del volumen del consumo en textiles per capita sobre una constante,la renta real per capita y el precio relativo de los textiles.
5a TextilTheil.inp 4h+ / 4h 5b .Modelo
-
6 1 ESTIMACION MCO
Luego guadamos el vector de datos estimados por el modelo y y generamos el grafico del ajusteMCO, es decir la nube de puntos (x, y) junto con la nube (x, y). Guardamos el grafico como iconocon el nombre grapSin
6a EstimacionesSinCte 5f+ (5d) / 5f 6b .genr yhatSin = $yhat
figuraSin
-
1.3 Medidas de ajuste 7
1.3.3 Ejemplo de peso de los ninos en funcion de la edad
7 PesoEdad.inp 7open datos/PesoEdad.gdt
genr Edad2=Edad^2;
genr Edad3=Edad^3;
Modelo1