# Econometría aplicada utilizando R # Capítulo 2. Enfoque matricial de la regresión lineal # Javier Galán Figueroa # Rutina elaborada por: Coral Gutiérrez Velo #Después de cargar el archiv, para ejecutarlo escribimos: deuda<-read.csv("CAP2_MCO.csv",header=T) attach(deuda) #Para visualizar los datos: deuda #Si se desea obtener de manera individual: media aritmética, mediana, desviación estándar y varianza de la variable (y), se utilizan los siguientes comandos: mean(y) median(y) sd(y) var(y) #Para obtenerlas conjuntamente summary(deuda) #obtener el histograma y la gráfica de caja en un sólo gráfico: split.screen(c(1,2)) hist(y) screen(2) boxplot(y) #Para las otras variables usamos el mismo comando: summary(x2,x3) split.screen(c(1,2)) hist(x2) screen(2) boxplot(x2) split.screen(c(1,2)) hist(x3) screen(2) boxplot(x3) #Para obtener la matriz de correlación entre las variables (y,x2,x3: cor(deuda) #Para obtener los diagramas de dispersión para indicar a nivel gráfico como influye la reserva internacional (X2) y el índice bursátil (X3) al nivel de endeudamiento del gobierno mexicano (y) utilizamos los siguientes comandos: scatter1<-plot(y~x2) fit<-lm(y~x2) abline(fit) scatter1<-plot(y~x3) fit2<-lm(y~x3) abline(fit2) #Para crear la matriz X X<-cbind(1,x2,x3) #Para el caso para transformar la variable deuda pública (y) a vector se utiliza el mismo código: y1<-cbind(y) #Para estimar el vector (X’X) de la ecuación, primero se obtiene el parámetro para ello se sigue los siguientes pasos: #1) transpuesta de X: trX<-(t(X)) #2) Producto de la transpuesta de X por X, mediante el código “%*%”: X_X<-trX %*% X X_X #Para obtener la inversa (X’X)-1 se debe primero activar la librería “library(MASS)”, después utilizar el código “ginv()”: det(X_X) library(MASS) invX_X<-(ginv(X_X)) invX_X #Una vez que se tiene la inversa (X’X)-1 , se procede a obtener el producto X’y: Xy<-trX %*% y1 Xy #Para calcular al vector beta: beta<-invX_X %*% Xy beta #para estimar de manera directa la regresión lineal “lm(y~x)” y comprobar que el vector obtenido pasoa paso es correcto: modelo<-lm(y~x2+x3) summary(modelo) #Se aprecia que el vector beta encontrado coincide con los coeficientes estimados por el código “lm(y~x)”. Por tanto la ecuación estimada se define como sigue: y =1.381549 + 0.022279X2 - 0.003898X 3