Coeficiente de Determinación(R2)| Regresión Múltiple

Este tutorial es el segundo de la serie sobre Modelo de Regresión Lineal MÚLTIPLE que estaré subiendo. Hoy vemos como obtener el Coeficiente de Determinación (R2) y la tabla ANOVA. Nos acompañamos de R studio para realizar el procedimiento. Más abajo dejaré el código en R utilizado en el vídeo para que lo puedas copiar.

#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)




#### CLASE 2 -- INFERENCIAS E INTERPRETACIONES SOBRE EL MODELO



# 1   -   y pronosticada Y^

y_pronosticada <- betas[1]+ betas[2]*PRECIO + betas[3]*PUBLICIDAD
y_pronosticada


#2 sacamos los residuos  Y - Y^

residuos <- VENTAS - y_pronosticada

plot(residuos,type="l")


#3 Sacamos los residuos al cuadrado

residuos_cuadrados <- residuos^2
residuos_cuadrados


#4 sumatorio residuos al cuadrado

sum_res_cuadr <- sum(residuos_cuadrados)
sum_res_cuadr


#5 Error estandar de la estimación
              #n -k-1
sum_res_cuadr/(10-2-1)


Sxyz <- sqrt(sum_res_cuadr/(10-2-1)) # Error estandar estimación
Sxyz


#6 Cálculo del R2 ( coeficiente de determinación)

#R2= SSR /SST
#SST = sum(VENTAS- media_Y)^2

media_Y<- mean(VENTAS)
Sumas =(VENTAS- media_Y)^2
SST = sum(Sumas)
SST

#si ya tenmos SST y SSE podemos saca facil el SSR

#   SST = SSR + SSE

SSE <- sum_res_cuadr
SSR <- SST- sum_res_cuadr

#Por tanto R2

R2 <- SSR/SST 

R2

#varibles indep eplican el 93 de la varibilidad de la variable y Ventas
# ventas están explicadas en un 93 % por el precio y la publicidad


#tabla ANOVA 

MSR = SSR/ 2

MSE = SSE/ (10-2-1) 


Prueba_F = MSR/MSE
Prueba_F  


summary(modelo)

R2
Sxyz

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Scroll al inicio