Está en la página 1de 4

Funciones de R para Regresión Lineal Múltiple

Nombre de la base de datos en R = Datos


Nombre de la variable Y en la base de datos = Y
Nombre de la variable X1 en la base de datos = X1
Nombre de la variable X2 en la base de datos = X2
Nombre de la variable Xk en la base de datos = Xk

plot(Datos$Y~Datos$X1) Hace un gráfico de dispersión entre Y y X


cor.test(Datos$Y,Datos$X1) Presenta en la ventana Consola las estimaciones del
coeficiente de correlación, incluye la prueba de hipótesis
de significancia estadística, H0: =0, Ha: =0
Datos$lnY<-with(Datos,log(Y)) Agrega la variable lnY a la base de datos con nombre
Datos, la cual es el resultado de aplicar el logaritmo
natural a la variable Y que se encuentra en Datos.
Datos$lnX1<-with(Datos,log(X1)) Agrega la variable lnX a la base de datos con nombre
Datos, la cual es el resultado de aplicar el logaritmo
natural a la variable X que se encuentra en Datos.
RLM<-lm(formula=Y~X1+X2+..Xk,Datos) Crea en la ventana Ambiente el objeto RLM que contiene
las estimaciones de la ecuación de regresión lineal
múltiple muestral
summary(RLM) Presenta en la ventana Consola las estimaciones del
objeto RLS (estimaciones de coeficientes b0 y b1,b2,…,bk,
significancia estadística de coeficientes, error estándar de
la estimación, prueba F de significancia estadística del
modelo y coeficiente de determinación, r2)
coef(RLM) Presenta en la ventana Consola las estimaciones de b0,
b1,b2,..bk del objeto RLM (con todos sus decimales, no en
notación científica)
anova(RLM) Presenta en la ventana Consola las estimaciones de SCT,
SCR, SCE y la prueba F de la significancia estadística del
modelo del objeto RLM.
confint(RLM,1,level=0.95) Presenta en la ventana Consola las estimaciones del
confint(RLM,2,level=0.95) intervalo de confianza del 95% para el intercepto, 0, para
… el coeficiente de X1, 1, de X2, 2,… de Xk, k.
confint(RLM,k,level=0.95)
NXs <-data.frame(X=c(Valor1,Valor2,…)) Crea una base de datos con nuevos valores de X para
predecir a Y.
predict(RLM,NXs) Presenta en la ventana Consola la predicción puntual de
un valor futuro de Y o la estimación puntual de la media de
Y utilizando los valores de X definidos en NXs.
predict(RLM,NXs,interval= "prediction") Presenta en la ventana Consola la predicción por intervalo
de un valor futuro de Y utilizando los valores de X
definidos en NXs.
predict(RLM,NXs,interval= "confidence") Presenta en la ventana Consola la estimación por intervalo
de la media de Y utilizando los valores de X definidos en
NXs.
ANOVA(RLM.Completo,RLM.Reducido) Realiza la prueba F comparando el objeto que contiene la
regresión del modelo completo,RLM.Completo, versus el
modelo reducido, RLM.Reducido.
RLM.Vacio<-lm(formula=Y~1,Datos) Crea un objeto RLM.Vacio con la regresión de un modelo
sin variables explicativas solo con intercepto.
RLM.Completo<-lm(formula=Y~.,Datos) Crea un objeto RLM.Completo con la regresión de un
modelo con todas las variables explicativas.
Procedimientos para multicolinealidad
install.packages("car") Instala el paquete “car” para identificar la multicolinealidad
library("car") Lee el paquete “car” para utilizarlo
vif(RLM) Calcula los valores VIF del objeto RLM que contiene los
resultados de la regresión.
Procedimientos para el supuesto de varianza constante
plot(resid(RLM)~predict(RLM)) #Gráficos para identificar la varianza constante
plot(resid(RLM)~Datos$X1) Mediante estos gráficos se valida si la varianza del error
plot(resid(RLM)~Datos$X2)… es constante o si depende de los valores de las X´s.

install.packages("lmtest") #Prueba de hipótesis para identificar la varianza


library(lmtest) constante (Breusch–Pagan test)
bptest(RLM) H0: Homocedasticidad
Ha: Heterocasticidad
Rechazar Ho a favor de Ha si  >= Valor P.
install.packages("lmtest") #Corrección de la varianza no constante
library(lmtest) Mediante el procedimiento MacKinnon and White (1985),
install.packages("sandwich") se corrige la varianza no constante. Da una prueba de
library(sandwich) significancia de los coeficientes con los errores estándar
coeftest(RLM,vcovHC(RLM,type="HC3")) corregidos.
Procedimientos para el supuesto de independencia
Residuales<- resid(RLM) #Gráfico de tendencia de residuales
plot(Residuales) Se busca encontrar en este gráfico un patrón de
independencia entre los residuales y el tiempo para validar
que se cumpla el supuesto.
library(lmtest) #Prueba Durbin Watson
dwtest(RLM,alternative="two.sided") H0: Independencia
Ha: Autocorrelación positiva o negativa
Rechazar Ho a favor de Ha si  >= Valor P.
install.packages("orcutt") #Transformación Cochrane Orcutt
library(orcutt) Se utiliza para corregir cuando no se cumple el supuesto
RLMc<-cochrane.orcutt(RLM, de independencia.
converge=3)
summary(RLMc)
install.packages("prais") #Transformación Prais Winsten
library(prais)
RLMc<- Se utiliza para corregir cuando no se cumple el supuesto
prais_winsten(RLM,Datos,Datos$Index) de independencia, a diferencia de Cochrane no se pierde
summary(RLMp) la 1era observación, pero se debe de agregar una variable
de índice que indique la posición ordenada de cada
observación a través del tiempo.

Variables instrumentales

install.packages("ivreg") Variables instrumentales


library(ivreg) Cuando las variables explicativas se
correlacionan con el error, los estimadores son
Venta_autos = B0+B1Precio_Autos+Ingreso+Error inconsistentes y sesgados.

Precio de los autos se correlaciona con el error,


En este ejemplo
ejemplo porque en el error esta el precio del Variable endógena = Precio (porque depende te
acero. otra)
Variable exógena = Ingreso (porque se define
RLM<- fuera del análisis)
ivreg(formula=Venta_autos~Precio_Autos+Ingreso Variable instrumental = Precio del acero (la cual
| Precio_acero + Ingreso, data = Datos) ayudara a que el error ya no correlacione con el
summary(RLM) precio del auto

Ecuaciones simultaneas

install.packages("systemfit") Estimación de sistema de ecuaciones en


library(systemfit) igualdad
demanda <-q~p+ps+di Cuando las variables explicativas se
oferta <- q~p+pf correlacionan con el error, los estimadores son
instr <- ~ ps+di+pf inconsistentes y sesgados.

system <- list(demanda,oferta) Mínimos cuadrados en dos etapas


Esta estimación permite que los estimadores
Mínimos cuadrados en dos etapas sean consistentes e insesgados
RLM_2SLS<-
systemfit(system,method='2SLS',instr,data=Datos) Mínimos cuadrados en tres etapas
summary(RLM_2SLS) Si los errores de las ecuaciones están
correlacionados, los estimadores son ineficientes.
Mínimos cuadrados en tres etapas Este método permite realizar estimaciones
RLM_3SLS<- eficientes (que los estimadores tengan la
systemfit(system,method='3SLS',instr,data=D47) varianza mínima).
summary(RLM_3SLS)

Otras funciones
install.packages("") Instala paquetes
library("") Lee paquetes instalados para analizar datos.

Funciones de R para Regresión Logit, Probit y Tobit

Nombre de la base de datos en R = Datos


Nombre de la variable Y en la base de datos = Y
Nombre de la variable X1 en la base de datos = X1
Nombre de la variable X2 en la base de datos = X2
Nombre de la variable Xk en la base de datos = Xk

REGRESIÓN LOGIT
RLog<-glm(formula=Y~X1+X2+…,Datos, Estima el objeto RLog con las estimaciones de la
family = binomial(link = "logit")) regresión logit y presenta en la consola los resultados.
summary(RLog)
exp(coefficients(RLog)) Presenta en la consola el exponencial de los coeficientes
de la regresión logit para interpretarlos
Estadístico Realiza la prueba de significancia estadística del modelo
with(RLog, null.deviance - deviance) Ho: El modelo no es significativo
Valor P Ha: El modelo sí es significativo
with(RLog, pchisq(null.deviance - El estadístico de prueba es Ji cuadrada con k grados de
deviance, df.null-df.residual, lower.tail = libertad (k=variables explicativas)
FALSE))
install.packages("InformationValue") Crea una variable con las probabilidades predichas por
library(InformationValue) observación.
Con base a la variable anterior y a la variable Y, obtiene el
Datos$predict<-RLog$fitted.values punto de corte óptimo que maximiza el porcentaje de
observaciones clasificadas correctamente tanto de éxito
optCutOff <- optimalCutoff(Datos$Y, como de fracaso.
Datos$predict,optimiseFor="Both")
optCutOff
1-misClassError(Datos$Y,Datos$predict, Presenta el porcentaje de observaciones clasificadas
threshold = optCutOff) correctamente de acuerdo al punto de corte óptimo.

confusionMatrix(Datos$Y,Datos$predict, Presenta en la consola la matriz de confusión con la


threshold = .5) clasificación e observaciones.

También podría gustarte