Dofile
clear all
set mem 10m
set more off
cd "C:\Users\miguel\Desktop\trabajo"
cap log close
log using G912349.txt, text replace
use G912349, clear
set seed 12349
gen orden = uniform()
sort orden
keep if _n<101
/* Transformamos una variable en logaritmo */
gen Ct = ln(tc)
gen Yo = ln(q)
gen PL = ln(pl)
gen PF = ln(pf)
gen PK = ln(pk)
* PL = Precio del trabajo ; PF = Precio de combustible; PK = Precio de capital
gen Y = Ct - PF
gen b1 = PL - PF
gen b2 = PK - PF
/* Modelo A */
* Ahora generaremos la matriz Y
mkmat Y, matrix(Y)
mat list Y
scalar F = rowsof(Y)
* Generando la matriz X
gen unos = 1
mkmat unos Yo b1 b2, matrix(X)
mat list X
* Generando la matriz de los estimadores b
mat b = inv(X'*X)*X'*Y
mat list b
* El error del modelo
mat e = Y - X*b
mat list e
*Ahora lamatriz hacedora de desvios
mat unos = J(100,1,1)
mat Mo = I(100) - (1/100)*unos*unos'
mat list Mo
*Suma total de cuadrados
mat STC = Y'*Mo*Y
mat list STC
*Suma de cuadrados de la regresion
mat SEC = b'*X'*Mo*X*b
mat list SEC
*Suma de los cuadrados de los errores
mat SRC = e'*e
mat list SRC
*Medias cuadraticas
display "La MSM es =" SEC[1,1]/3
display "La MSR es =" SRC[1,1]/96
display "La MST es ="STC[1,1]/99
*Varianza
scalar vare = SRC[1,1]/96
scalar MSM = SEC[1,1]/3
*Prueba F
display "El F calculado es =" MSM/vare
display invF(3,96,0.95)
*calculando el R2
display "El R2 del modelo es =" SEC[1,1]/STC[1,1]
* Varianza de los estimadores
mat varb = vare*inv(X'*X)
mat list varb
*error estandar de los estimadores
mat seC = sqrt(varb[1,1])
mat list seC
mat seYo = sqrt(varb[2,2])
mat listseYo
mat seb1 = sqrt(varb[3,3])
mat list seb1
mat seb2 = sqrt(varb[4,4])
mat list seb2
*Prueba T
display "valor t de Yo =".71351334/.02024629
display "valor t de b1 =".53809102/.24480374
display "valor t de b2 =".14850849/.22265526
display "valor t de C ="-5.1230815/1.0560276
*Ahora comprobaremos nuestros resultados con el cuadro ANOVA
reg Y Yo b1 b2
display exp(Y)
display exp(Yo)
displayexp(b1)
display exp(b2)
/* Modelo B */
* Ahora generamos la matriz Y
mkmat Ct, matrix(Y)
mat list Y
scalar F =rowsof(Y)
*Generando la matriz X
mkmat unos Yo PL PF, matrix(X)
mat list X
*Generando la matriz de estimadores
mat b =inv(X'*X)*X'*Y
mat list b
*El error del modelo
mat e = Y - X*b
mat list e
*Ahora la matriz hacedora de desvios
mat unos =J(100,1,1)
mat Mo = I(100) - (1/100)*unos*unos'
matlist Mo
*Suma total de cuadrados
mat STC = Y'*Mo*Y
mat list STC
*Suma de cuadrados de la regresion
mat SEC = b'*X'*Mo*X*b
mat list SEC
*Suma de cuadrados de los errores
mat SRC = e'*e
mat list SRC
*Medias cuadraticas
display "La MSM es =" SEC[1,1]/3
display "La MSR es =" SRC[1,1]/96
display "La MST es =" STC[1,1]/99
*Varianza
scalar vare = SRC[1,1]/96
scalar MSM = SEC[1,1]/3
*Prueba Fdisplay "El F calculado es =" MSM/vare
display invF(3,96,0.95)
*calculando el R2
display "El R2 del modelo es =" SEC[1,1]/STC[1,1]
*Varianza de los estimadores
mat varb = vare*inv(X'*X)
mat list varb
* Error estandar de los estimadores
mat seC =sqrt(varb[1,1])
mat list seC
mat seYo =sqrt(varb[2,2])
mat list seYo
mat sePL =sqrt(varb[3,3])
mat list sePL
mat sePF =sqrt(varb[4,4])
mat list sePF*Prueba T
display "valor t de Yo =".71188511/.02006401
display "valor t de PL =".38719782/.32915887
display "valor t de PF =".31835941/.11741418
display "valor t de C ="-4.2614763/.40855176
* Ahora comprobamos nuestro resultado con el cuadro ANOVA
reg Ct Yo PL PF
display exp(Y)
display exp(Yo)
display exp(PL)
display exp(PF)
/* Modelo C */
gen Yo1 = Yo*Yo
* Ahora generaremos la matriz Y
mkmat Y,matrix(Y)
mat list Y
scalar F =rowsof(Y)
* Generando la matriz X
mkmat unos Yo Yo1 b1 b2, matrix(X)
mat list X
*Generando la matriz de estimadores
mat b = inv(X'*X)*X'*Y
mat list b
*El error del modelo
mat e = Y - X*b
mat list e
*Ahora la matriz hacedora de desvios
mat unos = J(100,1,1)
mat Mo = I(100) - (1/100)*unos*unos'
mat list Mo
*Suma total de cuadrados
mat STC = Y'*Mo*Y
mat list STC...
Regístrate para leer el documento completo.