Objetivo

Crear y evaluar un modelo de regresión lineal múltiple para predecir las ventas con datos simulados de una empresa dependiendo de las inversiones realizadas en publicidad

Descripción

Fundamento teórico

En la mayoría de los problemas de investigación en los que se aplica el análisis de regresión se necesita más de una variable independiente para el modelo de regresión.

La complejidad de la mayoría de mecanismos científicos es tal que, con el fin de predecir una respuesta importante, se requiere un modelo de regresión múltiple. Cuando un modelo es lineal en los coeficientes se denomina modelo de regresión lineal múltiple.

Para el caso de k variables independientes, \(x_1,x_2,x_3…,x_k\), y \(y\) como la variable dependiente.

\(x_1, x_2, x_3,...,x_k\) son las variable s que afectan a la variable dependiente en el modelo de regresión lineal múltiple.

Muchos problemas de investigación y de la industria, requieren la estimación de las relaciones existentes entre el patrón de variabilidad de una variable aleatoria y los valores de una o más variables aleatorias. [@urrutiamosquera2011]

Al generar un modelo de regresión lineal múltiple es importante identificar los estadísticos de R2, que se denomina coeficiente de determinación y es una medida de la proporción de la variabilidad explicada por el modelo ajustado.

De igual forma, el valor de R2 ajustado (R Square Adjusted) o coeficiente de determinación ajustado, es una variación de R2 que proporciona un ajuste para los grados de libertad [@walpole2012].

El estadístico R Ajustado está diseñado para proporcionar un estadístico que castigue un modelo sobreajustado, de manera que se puede esperar que favorezca al modelo [@walpole2012].

Una variable Y puede predecirse conforme y de acuerdo con la siguiente fórmula de la regresión múltiple.

\[ Y = b_0 + b_1{x_1} + b_2{x_2} + b_3{x_3}+ …..b_k{x_k} \]

Desarrollo

Cargar librerías

library(dplyr)
library(ggplot2)
# library(plotly) # no se está usando
library(knitr)
library(PerformanceAnalytics) # Para correlaciones gráficas
library(caret)  # Para particionar
library(Metrics) # Para determinar rmse
library(PerformanceAnalytics) # Para cor gráfica

Cargar datos

datos <- read.csv("https://raw.githubusercontent.com/rpizarrog/Analisis-Inteligente-de-datos/main/datos/Advertising_Web.csv")

Explorar datos

str(datos)
## 'data.frame':    200 obs. of  7 variables:
##  $ X.1      : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ X        : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ TV       : num  230.1 44.5 17.2 151.5 180.8 ...
##  $ Radio    : num  37.8 39.3 45.9 41.3 10.8 48.9 32.8 19.6 2.1 2.6 ...
##  $ Newspaper: num  69.2 45.1 69.3 58.5 58.4 75 23.5 11.6 1 21.2 ...
##  $ Web      : num  306.6 302.7 49.5 257.8 195.7 ...
##  $ Sales    : num  22.1 10.4 9.3 18.5 12.9 7.2 11.8 13.2 4.8 10.6 ...
summary(datos)
##       X.1               X                TV             Radio       
##  Min.   :  1.00   Min.   :  1.00   Min.   :  0.70   Min.   : 0.000  
##  1st Qu.: 50.75   1st Qu.: 50.75   1st Qu.: 74.38   1st Qu.: 9.975  
##  Median :100.50   Median :100.50   Median :149.75   Median :22.900  
##  Mean   :100.50   Mean   :100.50   Mean   :147.04   Mean   :23.264  
##  3rd Qu.:150.25   3rd Qu.:150.25   3rd Qu.:218.82   3rd Qu.:36.525  
##  Max.   :200.00   Max.   :200.00   Max.   :296.40   Max.   :49.600  
##    Newspaper           Web              Sales      
##  Min.   :  0.30   Min.   :  4.308   Min.   : 1.60  
##  1st Qu.: 12.75   1st Qu.: 99.049   1st Qu.:10.38  
##  Median : 25.75   Median :156.862   Median :12.90  
##  Mean   : 30.55   Mean   :159.587   Mean   :14.02  
##  3rd Qu.: 45.10   3rd Qu.:212.312   3rd Qu.:17.40  
##  Max.   :114.00   Max.   :358.247   Max.   :27.00

Limpiar datos

Quitar las primeras columnas

datos <- select(datos, TV, Radio, Newspaper, Web, Sales)

Correlaciones lineal entre variables

cor(datos)
##                   TV       Radio   Newspaper         Web      Sales
## TV        1.00000000  0.05480866  0.05664787  0.01257597 0.78222442
## Radio     0.05480866  1.00000000  0.35410375 -0.12267338 0.57622257
## Newspaper 0.05664787  0.35410375  1.00000000 -0.05775877 0.22829903
## Web       0.01257597 -0.12267338 -0.05775877  1.00000000 0.00210779
## Sales     0.78222442  0.57622257  0.22829903  0.00210779 1.00000000
chart.Correlation(datos)
## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

## Warning in par(usr): argument 1 does not name a graphical parameter

Las variables de interés

  • x’s las variable independientes o predictoras son TV, Radio, Newspaper y Web
  • y la variable dependiente o resultado (Sales), es decir que depende de las variables x’s.

Limpiar datos

En caso necesario. No se observan datos extraños …. porque son pocos.

Partir datos

Aleatoriamente se reparten las observaciones con el 70% para datos de entrenamiento y el 30% para datos de validación.

Sembrar una semilla con set.seed()

set.seed(1279)
n <- nrow(datos)  # cantidad de observaciones
entrena <- createDataPartition(y = datos$Sales, p = 0.70, list = FALSE, times = 1)

# Datos entrenamiento
datos.entrenamiento <- datos[entrena, ]  # [renglones, columna]

# Datos validación
datos.validacion <- datos[-entrena, ]

Datos de entrenamiento

datos.entrenamiento
##        TV Radio Newspaper       Web Sales
## 1   230.1  37.8      69.2 306.63475  22.1
## 2    44.5  39.3      45.1 302.65307  10.4
## 3    17.2  45.9      69.3  49.49891   9.3
## 4   151.5  41.3      58.5 257.81689  18.5
## 5   180.8  10.8      58.4 195.66008  12.9
## 6     8.7  48.9      75.0  22.07240   7.2
## 8   120.2  19.6      11.6 229.97146  13.2
## 11   66.1   5.8      24.2  45.35903   8.6
## 13   23.8  35.1      65.9  87.92109   9.2
## 15  204.1  32.9      46.0 245.77496  19.0
## 16  195.4  47.7      52.9 148.09513  22.4
## 17   67.8  36.6     114.0 202.63890  12.5
## 18  281.4  39.6      55.8  41.75531  24.4
## 19   69.2  20.5      18.3 210.48991  11.3
## 20  147.3  23.9      19.1 268.73538  14.6
## 21  218.4  27.7      53.4  59.96055  18.0
## 22  237.4   5.1      23.5 296.95207  12.5
## 23   13.2  15.9      49.6 219.88278   5.6
## 24  228.3  16.9      26.2  51.17007  15.5
## 26  262.9   3.5      19.5 160.56286  12.0
## 27  142.9  29.3      12.6 275.51248  15.0
## 28  240.1  16.7      22.9 228.15744  15.9
## 30   70.6  16.0      40.8  61.32436  10.5
## 32  112.9  17.4      38.6 295.88399  11.9
## 33   97.2   1.5      30.0 139.78109   9.6
## 36  290.7   4.1       8.5 181.98342  12.8
## 38   74.7  49.4      45.7  56.53622  14.7
## 40  228.0  37.7      32.0 196.48327  21.5
## 41  202.5  22.3      31.6  88.21282  16.6
## 43  293.6  27.7       1.8 174.71682  20.7
## 45   25.1  25.7      43.3 245.76441   8.5
## 47   89.7   9.9      35.7 216.50402  10.6
## 48  239.9  41.5      18.5 105.96291  23.2
## 49  227.2  15.8      49.9  75.26918  14.8
## 50   66.9  11.7      36.8 205.25350   9.7
## 52  100.4   9.6       3.6  41.33526  10.7
## 53  216.4  41.7      39.6 161.80251  22.6
## 54  182.6  46.2      58.7 176.05005  21.2
## 56  198.9  49.4      60.0 204.41893  23.7
## 57    7.3  28.1      41.4 121.32853   5.5
## 59  210.8  49.6      37.7  32.41174  23.8
## 60  210.7  29.5       9.3 138.89555  18.4
## 61   53.5   2.0      21.4  39.21715   8.1
## 64  102.7  29.6       8.4 183.00975  14.0
## 65  131.1  42.8      28.9 124.38223  18.0
## 66   69.0   9.3       0.9 205.99349   9.3
## 68  139.3  14.5      10.2 207.66199  13.4
## 69  237.4  27.5      11.0 291.54860  18.9
## 70  216.8  43.9      27.2 149.39610  22.3
## 71  199.1  30.6      38.7 210.75214  18.3
## 73   26.8  33.0      19.3 211.99091   8.8
## 74  129.4   5.7      31.3  61.30619  11.0
## 75  213.4  24.6      13.1 156.28426  17.0
## 77   27.5   1.6      20.7 117.10193   6.9
## 78  120.5  28.5      14.2  97.45513  14.2
## 80  116.0   7.7      23.1 120.05350  11.0
## 81   76.4  26.7      22.3 268.15132  11.8
## 82  239.8   4.1      36.9 169.94640  12.3
## 83   75.3  20.3      32.5 231.20983  11.3
## 84   68.4  44.5      35.6  78.39310  13.6
## 87   76.3  27.5      16.0 193.83089  12.0
## 88  110.7  40.6      63.2 107.43052  16.0
## 89   88.3  25.5      73.4 260.10193  12.9
## 91  134.3   4.9       9.3 258.35549  11.2
## 93  217.7  33.5      59.0 150.96275  19.4
## 94  250.9  36.5      72.3 202.10216  22.2
## 96  163.3  31.6      52.9 155.59488  16.9
## 97  197.6   3.5       5.9 139.83054  11.7
## 98  184.9  21.0      22.0 253.30072  15.5
## 99  289.7  42.3      51.2 183.56958  25.4
## 100 135.2  41.7      45.9  40.60035  17.2
## 101 222.4   4.3      49.8 125.62714  11.7
## 102 296.4  36.3     100.9  61.00525  23.8
## 104 187.9  17.2      17.9  97.08863  14.7
## 106 137.9  46.4      59.0 138.76263  19.2
## 107  25.0  11.0      29.7  15.93821   7.2
## 108  90.4   0.3      23.2 261.38088   8.7
## 109  13.1   0.4      25.6 252.39135   5.3
## 111 225.8   8.2      56.5  95.18576  13.4
## 112 241.7  38.0      23.2 180.51153  21.8
## 113 175.7  15.4       2.4  71.68255  14.1
## 114 209.6  20.6      10.7  42.88380  15.9
## 116  75.1  35.0      52.7 204.27671  12.6
## 117 139.2  14.3      25.6 234.18312  12.2
## 118  76.4   0.8      14.8 234.38450   9.4
## 120  19.4  16.0      22.3 112.89261   6.6
## 121 141.3  26.8      46.2  65.52546  15.5
## 122  18.8  21.7      50.4  63.85492   7.0
## 123 224.0   2.4      15.6  89.51582  11.6
## 124 123.1  34.6      12.4  15.75719  15.2
## 126  87.2  11.8      25.9 121.09098  10.6
## 127   7.8  38.9      50.6 209.47198   6.6
## 129 220.3  49.0       3.2 187.43706  24.7
## 130  59.6  12.0      43.1 197.19655   9.7
## 131   0.7  39.6       8.7 162.90259   1.6
## 132 265.2   2.9      43.0 172.15666  12.7
## 133   8.4  27.2       2.1 238.05522   5.7
## 136  48.3  47.0       8.5  61.22732  11.6
## 137  25.6  39.0       9.3  77.23080   9.5
## 138 273.7  28.9      59.7 288.26061  20.8
## 142 193.7  35.4      75.6 152.28494  19.2
## 144 104.6   5.7      34.4 336.57109  10.4
## 146 140.3   1.9       9.0 231.88339  10.3
## 147 240.1   7.3       8.7  23.49694  13.2
## 148 243.2  49.0      44.3 151.99073  25.4
## 151 280.7  13.9      37.0  81.04062  16.1
## 153 197.6  23.3      14.2 159.52256  16.6
## 154 171.3  39.7      37.7 155.01622  19.0
## 157  93.9  43.5      50.5  74.36194  15.3
## 158 149.8   1.3      24.3 145.80321  10.1
## 159  11.7  36.9      45.2 185.86608   7.3
## 160 131.7  18.4      34.6 196.37030  12.9
## 162  85.7  35.8      49.3 188.93353  13.3
## 163 188.4  18.1      25.6 158.46152  14.9
## 164 163.5  36.8       7.4  82.22879  18.0
## 165 117.2  14.7       5.4 109.00876  11.9
## 166 234.5   3.4      84.8 135.02491  11.9
## 167  17.9  37.6      21.6  99.93695   8.0
## 168 206.8   5.2      19.4 115.37196  12.2
## 169 215.4  23.6      57.6 203.43127  17.1
## 170 284.3  10.6       6.4 157.90011  15.0
## 171  50.0  11.6      18.4  64.01480   8.4
## 172 164.5  20.9      47.4  96.18039  14.5
## 173  19.6  20.1      17.0 155.58366   7.6
## 175 222.4   3.4      13.1 144.52566  11.5
## 176 276.9  48.9      41.8 151.99073  27.0
## 177 248.4  30.2      20.3 163.85204  20.2
## 178 170.2   7.8      35.2 104.91734  11.7
## 179 276.7   2.3      23.7 137.32377  11.8
## 183  56.2   5.7      29.7  42.19929   8.7
## 184 287.6  43.0      71.8 154.30972  26.2
## 185 253.8  21.3      30.0 181.57905  17.6
## 187 139.5   2.1      26.6 236.74404  10.3
## 188 191.1  28.7      18.2 239.27571  17.3
## 189 286.0  13.9       3.7 151.99073  15.9
## 190  18.7  12.1      23.4 222.90695   6.7
## 191  39.5  41.1       5.8 219.89058  10.8
## 194 166.8  42.0       3.6 192.24621  19.6
## 196  38.2   3.7      13.8 248.84107   7.6
## 197  94.2   4.9       8.1 118.04186   9.7
## 198 177.0   9.3       6.4 213.27467  12.8
## 200 232.1   8.6       8.7 151.99073  13.4

Datos de validación

datos.validacion
##        TV Radio Newspaper        Web Sales
## 7    57.5  32.8      23.5 246.811598  11.8
## 9     8.6   2.1       1.0 144.617385   4.8
## 10  199.8   2.6      21.2 111.272264  10.6
## 12  214.7  24.0       4.0 164.971764  17.4
## 14   97.5   7.6       7.2 173.658035   9.7
## 25   62.3  12.6      18.3 256.965240   9.7
## 29  248.8  27.1      22.9 318.644967  18.9
## 31  292.9  28.3      43.2 121.464347  21.4
## 34  265.6  20.0       0.3  94.207255  17.4
## 35   95.7   1.4       7.4 321.174609   9.5
## 37  266.9  43.8       5.0  96.316829  25.4
## 39   43.1  26.7      35.1 122.753591  10.1
## 42  177.0  33.4      38.7 147.859324  17.1
## 44  206.9   8.4      26.4 213.609610  12.9
## 46  175.1  22.5      31.5  62.809264  14.9
## 51  199.8   3.1      34.6 151.990733  11.4
## 55  262.7  28.8      15.9 324.615179  20.2
## 58  136.2  19.2      16.6  60.454355  13.2
## 62  261.3  42.7      54.7 224.832039  24.2
## 63  239.3  15.5      27.3 312.209555  15.7
## 67   31.5  24.6       2.2 216.471397   9.5
## 72  109.8  14.3      31.7 151.990733  12.4
## 76   16.9  43.7      89.4  70.234282   8.7
## 79    5.4  29.9       9.4   4.308085   5.3
## 85  213.5  43.0      33.8 191.868374  21.7
## 86  193.2  18.4      65.7 223.578793  15.2
## 90  109.8  47.8      51.4 162.727890  16.7
## 92   28.6   1.5      33.0 172.467947   7.3
## 95  107.4  14.0      10.9 151.990733  11.5
## 103 280.2  10.1      21.4  49.808451  14.8
## 105 238.2  34.3       5.3 112.155489  20.7
## 110 255.4  26.9       5.5 273.454125  19.8
## 115  78.2  46.8      34.5  76.770428  14.6
## 119 125.7  36.9      79.2 187.840415  15.9
## 125 229.5  32.3      74.2  88.080721  19.7
## 128  80.2   0.0       9.2 358.247042   8.8
## 134 219.8  33.5      45.1 171.478018  19.6
## 135  36.9  38.6      65.6  81.246748  10.8
## 139  43.0  25.9      20.5 181.368740   9.6
## 140 184.9  43.9       1.7 106.253829  20.7
## 141  73.4  17.0      12.9 174.772137  10.9
## 143 220.5  33.2      37.9   6.007436  20.1
## 145  96.2  14.8      38.9 157.440047  11.4
## 149  38.0  40.3      11.9  75.207978  10.9
## 150  44.7  25.8      20.6 235.622449  10.1
## 152 121.0   8.4      48.7 103.255212  11.6
## 155 187.8  21.1       9.5  63.071208  15.6
## 156   4.1  11.6       5.7 113.270712   3.2
## 161 172.5  18.1      30.7 207.496801  14.4
## 174 168.4   7.1      12.8 218.180829  11.7
## 180 165.6  10.0      17.6 151.990733  12.6
## 181 156.6   2.6       8.3 122.116470  10.5
## 182 218.5   5.4      27.4 162.387486  12.2
## 186 205.0  45.1      19.6 208.692690  22.6
## 192  75.5  10.8       6.0 301.481194   9.9
## 193  17.2   4.1      31.6 265.028644   5.9
## 195 149.7  35.6       6.0  99.579981  17.3
## 199 283.6  42.0      66.2 237.498063  25.5

Construir el modelo

El modelo se construye con datos de entrenamiento

Modelo de Regresión Múltiple o Multivarido

\[ Y <- \beta_0 + \beta_1 \cdot X_1 + \beta_2\cdot X_2 +\beta\cdot X_3 +...+ \beta_n\cdot X_n \]

modelo_rm <- lm(data = datos.entrenamiento, formula = Sales ~ TV + Radio + Newspaper + Web)

summary(modelo_rm)
## 
## Call:
## lm(formula = Sales ~ TV + Radio + Newspaper + Web, data = datos.entrenamiento)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -8.7188 -0.7986  0.3344  1.2454  2.8271 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 2.289377   0.528878   4.329 2.87e-05 ***
## TV          0.045929   0.001775  25.875  < 2e-16 ***
## Radio       0.190417   0.010795  17.640  < 2e-16 ***
## Newspaper   0.001841   0.007479   0.246    0.806    
## Web         0.002705   0.002047   1.322    0.188    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.805 on 137 degrees of freedom
## Multiple R-squared:  0.8833, Adjusted R-squared:  0.8799 
## F-statistic: 259.3 on 4 and 137 DF,  p-value: < 2.2e-16

Los coeficientes TV y Radio presentan niveles de confianza por encima del 99.9%; Newspaper no presenta un nivel de confianza por encima del 90%, por lo cual puede pensarse en despreciar esa variable para futuros análisis; el coeficiente para WEB presenta un nivel de confianza del 95%.

Evaluar el modelo antes de predicciones

Fómula Rsquare Ajustado

Fórmula R Square ajusado

El valor del R Square se interpreta que tanto las variables la variabilidad de las ventas. El valor del R Square ajustado es expresa que hay buen ajuste entre los datos reales y los datos modelados de predicción [@urrutiamosquera2011].

El valor de R Square ajustado en este modelo sobrepasa el 85% que significa que las variables independientes representan o explican aproximadamente el 85% el valor de la variable dependiente (Sales).

Ese valor, se compara contra un métrica inicial esperada que seguramente se define para hablar de que si esta conforme a lo esperado. Por ejemplo se esperaba que este valor estuviera por encima del 70% de tal forma que el modelo si cumple con esa expectativa y el modelo se acepta.

Hacer predicciones

Se hacen predicciones con los datos de validación.

predicciones <- predict(object = modelo_rm, newdata = datos.validacion)
# predicciones

Construir un data frame llamado comparaciones para comparar los datos reales contra los datos predichos y servirán para identificar el estadístico rmse.

comparaciones <- data.frame(datos.validacion, predicciones)
comparaciones
##        TV Radio Newspaper        Web Sales predicciones
## 7    57.5  32.8      23.5 246.811598  11.8    11.886923
## 9     8.6   2.1       1.0 144.617385   4.8     3.477316
## 10  199.8   2.6      21.2 111.272264  10.6    12.301090
## 12  214.7  24.0       4.0 164.971764  17.4    17.173958
## 14   97.5   7.6       7.2 173.658035   9.7     8.697657
## 25   62.3  12.6      18.3 256.965240   9.7     8.278856
## 29  248.8  27.1      22.9 318.644967  18.9    19.780952
## 31  292.9  28.3      43.2 121.464347  21.4    21.538849
## 34  265.6  20.0       0.3  94.207255  17.4    18.551814
## 35   95.7   1.4       7.4 321.174609   9.5     7.833848
## 37  266.9  43.8       5.0  96.316829  25.4    23.157803
## 39   43.1  26.7      35.1 122.753591  10.1     9.749745
## 42  177.0  33.4      38.7 147.859324  17.1    17.249950
## 44  206.9   8.4      26.4 213.609610  12.9    14.018030
## 46  175.1  22.5      31.5  62.809264  14.9    14.843799
## 51  199.8   3.1      34.6 151.990733  11.4    12.531124
## 55  262.7  28.8      15.9 324.615179  20.2    20.746335
## 58  136.2  19.2      16.6  60.454355  13.2    12.394991
## 62  261.3  42.7      54.7 224.832039  24.2    23.130316
## 63  239.3  15.5      27.3 312.209555  15.7    17.126483
## 67   31.5  24.6       2.2 216.471397   9.5     9.010062
## 72  109.8  14.3      31.7 151.990733  12.4    10.524863
## 76   16.9  43.7      89.4  70.234282   8.7    11.741384
## 79    5.4  29.9       9.4   4.308085   5.3     8.259817
## 85  213.5  43.0      33.8 191.868374  21.7    20.864390
## 86  193.2  18.4      65.7 223.578793  15.2    15.392296
## 90  109.8  47.8      51.4 162.727890  16.7    16.969144
## 92   28.6   1.5      33.0 172.467947   7.3     4.415899
## 95  107.4  14.0      10.9 151.990733  11.5    10.319215
## 103 280.2  10.1      21.4  49.808451  14.8    17.255980
## 105 238.2  34.3       5.3 112.155489  20.7    20.074087
## 110 255.4  26.9       5.5 273.454125  19.8    19.891709
## 115  78.2  46.8      34.5  76.770428  14.6    15.063722
## 119 125.7  36.9      79.2 187.840415  15.9    15.742985
## 125 229.5  32.3      74.2  88.080721  19.7    19.355390
## 128  80.2   0.0       9.2 358.247042   8.8     6.958974
## 134 219.8  33.5      45.1 171.478018  19.6    19.310423
## 135  36.9  38.6      65.6  81.246748  10.8    11.674810
## 139  43.0  25.9      20.5 181.368740   9.6     9.724512
## 140 184.9  43.9       1.7 106.253829  20.7    19.431491
## 141  73.4  17.0      12.9 174.772137  10.9     9.394200
## 143 220.5  33.2      37.9   6.007436  20.1    18.824543
## 145  96.2  14.8      38.9 157.440047  11.4    10.023437
## 149  38.0  40.3      11.9  75.207978  10.9    11.933841
## 150  44.7  25.8      20.6 235.622449  10.1     9.930507
## 152 121.0   8.4      48.7 103.255212  11.6     9.815258
## 155 187.8  21.1       9.5  63.071208  15.6    15.120717
## 156   4.1  11.6       5.7 113.270712   3.2     5.003447
## 161 172.5  18.1      30.7 207.496801  14.4    14.276502
## 174 168.4   7.1      12.8 218.180829  11.7    11.989558
## 180 165.6  10.0      17.6 151.990733  12.6    12.242938
## 181 156.6   2.6       8.3 122.116470  10.5    10.322554
## 182 218.5   5.4      27.4 162.387486  12.2    13.842822
## 186 205.0  45.1      19.6 208.692690  22.6    20.893244
## 192  75.5  10.8       6.0 301.481194   9.9     8.640150
## 193  17.2   4.1      31.6 265.028644   5.9     4.635223
## 195 149.7  35.6       6.0  99.579981  17.3    16.224199
## 199 283.6  42.0      66.2 237.498063  25.5    24.076674

Evaluar predicciones

rmse Root Mean Stándard Error (Root-mean-square deviation), este valor normalmente se compara contra otro modelo y el que esté mas cerca de cero es mejor.

La raiz del Error Cuadrático Medio (rmse) es una métrica que dice qué tan lejos están los valores predichos de los valores observados o reales en un análisis de regresión, en promedio. Se calcula como:

\[ rmse = \sqrt{\frac{\sum(predicho_i - real_i)^{2}}{n}} \]

RMSE es una forma útil de ver qué tan bien un modelo de regresión puede ajustarse a un conjunto de datos.

Cuanto mayor sea el rmse, mayor será la diferencia entre los valores predichos y reales, lo que significa que peor se ajusta un modelo de regresión a los datos. Por el contrario, cuanto más pequeño sea el rmse, mejor podrá un modelo ajustar los datos.

rmse <- rmse(actual = comparaciones$Sales, predicted = comparaciones$predicciones)
rmse
## [1] 1.281093

Graficar prediciones contra valores reales

El gráfico lineal en color azul refleja las predicciones reales y en color amarillo las predicciones hechas por el modelo, las diferencias son las que se cocentran en el estadístico rmse.

ggplot(data = comparaciones) +
  geom_line(aes(x = 1:nrow(comparaciones), y = Sales), col='blue') +
  geom_line(aes(x = 1:nrow(comparaciones), y = predicciones), col='yellow') +
  ggtitle(label="Valores reales vs predichos Adverstising") 

Predicciones con datos nuevos

Se hacen predicciones con datos nuevos.

TV <- c(140, 160)
Radio <- c(60, 40)
Newspaper <- c(80, 90) 
Web <- c(120, 145)
  
nuevos <- data.frame(TV, Radio, Newspaper, Web)  
nuevos
##    TV Radio Newspaper Web
## 1 140    60        80 120
## 2 160    40        90 145
Y.predicciones <- predict(object = modelo_rm, newdata = nuevos)
Y.predicciones
##        1        2 
## 20.61634 17.81262

Interpretación

Pendiente …

Con este modelo y con estos datos interprete lo siguiente:

Se entrenara y validara con un 30% y un 70% de los datos para el entrenamiento y la validacion y la semilla a utilizar es 1279

TV: 0.045929 con un 99.9999% Radio: 0.190417 con un 99.9999% Newspaper: 0.001841 con un 58.639% Web: 0.002705 con un 99.999%

0.8799 representa que el modelo tiene una certeza del 87.99%

1.281093 representa la cantidad de dispresion posible entre los datos presentados

So, podria ser una regresion linear multiple con mas de una variable dependiente o variables independientes

Según los datos de correlación, el R Square y el RMSE, puedo concluir que este modelo, con la semilla 1279, tiene un grado de confiabilidad muy alto # Bibliografía