- Medidas de Forma : Asimetría - enero 3, 2025
- Medidas Estadísticas de Dispersión Relativa - junio 11, 2024
- Modelos SARIMA(Arima Estacionales).¿Qué son y cómo usarlos para Predecir? - enero 4, 2024
El Modelo de Regresión Lineal Múltiple permite generar un modelo lineal en el que el valor de la variable dependiente o respuesta(Y) se determina a partir de un conjunto de variables independientes llamadas predictores(X1, X2,X3 …… ). Este modelo puede emplearse para predecir el valor de la variable dependiente o para evaluar la influencia que tienen los predictores sobre ella. De manera evidente es una extensión de la Regresión lineal simple, por lo que es muy importante comprender esta última.
En la regresión simple nos basábamos en el método de mínimos cuadrados ordinarios(MCO) para el cálculo de las betas del modelo. En la regresión múltiple utilizaremos ese mismo método pero en forma o notación matricial. Por ello en el siguiente tutorial te explico como debes hacer ese proceso y hago el ejemplo paso a paso en R. Abajo dejo también el código para que lo copies
#CÓDIGO EN R DEL VÍDEO
#MODELO DE REGRESIÓN LINEAL MULTIPLE
#install.packages("quantmod")
library(quantmod)
#install.packages("tseries")
library(tseries)
#install.packages("fImport")
library(fImport)
#install.packages("forecast")
library(forecast)
#install.packages("TSA")
library(TSA)
#install.packages("Quandl")
library(Quandl)
#install.packages("lmtest")
library(lmtest)
#install.packages("stats")
library(stats)
#NOTACIÓN MATRICIAL PARA MCO
# Y= B0 + B1*X + B2*Z + .....+ U
# EJEMPLO 1
VENTAS <- c(10,6,5,12,10,15,5,12,17,20) # Y
PRECIO <- c(1.30,2,1.7,1.5,1.6,1.2,1.6,1.4,1,1.10) #X
PUBLICIDAD <- c(9,7,5,14,15,12,6,10,15,21) #x2 O Z
plot(VENTAS,type="l")
plot(PRECIO,type="l")
plot(PUBLICIDAD,type="l")
#B = ((TRAS_X*X)-1) * (TRAS_X*Y)
#PASOS
#1 CONSTRUIR LA MATRIX X
intercepto<- c(1,1,1,1,1,1,1,1,1,1)
x<- data.frame(intercepto,PRECIO,PUBLICIDAD)
matriz_X <- cbind(intercepto,PRECIO,PUBLICIDAD) #10*3
# 2. HACER LA TRANSPUESTA (cambiar filas por columnas)
tras_X <- t(matriz_X) #3*10
tras_X
# MULTIPLICACION E INVERSA
multi_X <- tras_X %*% matriz_X #3*3
multi_X
inversa <- solve(multi_X)
Y <- cbind(VENTAS) #10*1
# inversa * XT*Y
multi_X_Y <- tras_X %*% Y
multi_X_Y
#B = ((TRAS_X*X)-1) * (TRAS_X*Y)
betas <- inversa %*% multi_X_Y
betas[1] #intercepto
betas[2] # beta1
betas[3] #beta 2
#int
y_pronosticada <- betas[1]+ betas[2]*PRECIO + betas[3]*PUBLICIDAD
y_pronosticada
#***** comprobamos con la función de R
modelo <-lm(VENTAS ~ PRECIO + PUBLICIDAD)
summary(modelo)