DATOS Y VISUALIZACIÓN

library(summarytools)
library(ggplot2)
library(GGally)
## Registered S3 method overwritten by 'GGally':
##   method from   
##   +.gg   ggplot2
library(readxl)

Reg_1 <- read_excel("Reg_1.xlsx")

datos_expo <- Reg_1
vista_datos<-view(dfSummary(datos_expo))
## Switching method to 'browser'
## Output file written: C:\Users\romer\AppData\Local\Temp\RtmpimBSN7\file294c1afa4238.html
vista_datos
## [1] "C:\\Users\\romer\\AppData\\Local\\Temp\\RtmpimBSN7\\file294c1afa4238.html"
shapiro.test(datos_expo$Publ_TV)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos_expo$Publ_TV
## W = 0.92377, p-value = 0.1171
shapiro.test(datos_expo$Publ_radio)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos_expo$Publ_radio
## W = 0.9034, p-value = 0.04779
shapiro.test(datos_expo$Publ_periodicos)
## 
##  Shapiro-Wilk normality test
## 
## data:  datos_expo$Publ_periodicos
## W = 0.73628, p-value = 0.0001118
ggpairs(datos_expo)

summary(datos_expo)
##      Ventas         Publ_TV        Publ_radio     Publ_periodicos
##  Min.   : 8.00   Min.   :0.800   Min.   : 50.00   Min.   :0.300  
##  1st Qu.:10.75   1st Qu.:1.000   1st Qu.: 60.00   1st Qu.:0.400  
##  Median :12.50   Median :1.425   Median : 67.00   Median :0.450  
##  Mean   :13.43   Mean   :1.413   Mean   : 70.60   Mean   :0.561  
##  3rd Qu.:16.00   3rd Qu.:1.762   3rd Qu.: 76.25   3rd Qu.:0.575  
##  Max.   :22.00   Max.   :2.000   Max.   :110.00   Max.   :1.100

Base matricial

#Solución al ejercicio propuesto en la presentación
datos_expo2 <- Reg_1[6:11, ]

y <- c(14,16,12,14,11,10)  
X <- cbind(
  1,
  c(1.70, 1.75,1.30, 1.45, 0.90, 0.80),        #Publ_TV 
  c(65,69, 67, 68, 67, 97),                    #Publ_radio 
  c(0.44, 0.40, 0.44, 0.46, 0.46, 0.45)        #Publ_periodicos 
)



colnames(X) <- c("Intercepto", "Publ_TV", "Publ_radio", "Publ_periodicos")

list(y = y, X = X)
## $y
## [1] 14 16 12 14 11 10
## 
## $X
##      Intercepto Publ_TV Publ_radio Publ_periodicos
## [1,]          1    1.70         65            0.44
## [2,]          1    1.75         69            0.40
## [3,]          1    1.30         67            0.44
## [4,]          1    1.45         68            0.46
## [5,]          1    0.90         67            0.46
## [6,]          1    0.80         97            0.45
beta <- c("β_0", "β_1", "β_2", "β_3")
epsilon <- paste0("ε_", 1:6)

cat("\nβ =\n")
## 
## β =
print(matrix(beta, ncol = 1))
##      [,1] 
## [1,] "β_0"
## [2,] "β_1"
## [3,] "β_2"
## [4,] "β_3"
cat("\nε =\n")
## 
## ε =
print(matrix(epsilon, ncol = 1))
##      [,1] 
## [1,] "ε_1"
## [2,] "ε_2"
## [3,] "ε_3"
## [4,] "ε_4"
## [5,] "ε_5"
## [6,] "ε_6"

Estimador de mínimos cuadrados

XtX <- t(X) %*% X 
Xty <- t(X) %*% y
beta_hat <- solve(XtX) %*% Xty
colnames(beta_hat) <- "Estimacion"
rownames(beta_hat) <- c("Intercepto", "Publ_TV", "Publ_radio", "Publ_periodicos")
beta_hat
##                    Estimacion
## Intercepto       13.774114461
## Publ_TV           4.635378565
## Publ_radio       -0.008443403
## Publ_periodicos -14.569125959
lm(datos_expo2$Ventas~datos_expo2$Publ_TV+datos_expo2$Publ_radio+datos_expo2$Publ_periodicos)
## 
## Call:
## lm(formula = datos_expo2$Ventas ~ datos_expo2$Publ_TV + datos_expo2$Publ_radio + 
##     datos_expo2$Publ_periodicos)
## 
## Coefficients:
##                 (Intercept)          datos_expo2$Publ_TV  
##                   13.774114                     4.635379  
##      datos_expo2$Publ_radio  datos_expo2$Publ_periodicos  
##                   -0.008443                   -14.569126