1 Objetivo

Realizar pruebas de significancia del coeficiente de correlación y el coeficiente la pendiente en modelos de regresión lineal simple.

2 Descripción

Se construyen unos datos relacionados con el caso anterior de llamadas y ventas.

Se determina el coeficiente de correlación de Pearson \(r\)

Se determina el valor del coeficiente de determinación \(r^2\)

Se hace la prueba de significancia para determinar si la correlación estimada de una población es diferente de cero para rechazar o aceptar una hipótesis nula.

Se construye el modelo de regresión linea con la ecuación de mínimos cuadrados \(Y = a + bx\)

Se determinan los coeficiente \(a\) y \(b\)

Se hace una prueba de significancia para evaluar si el valor de la pendiente o valor de \(b\) tiene un significado estadístico de manera tal que se pueda rechazar una hipótesis nula.

3 Fundamento teórico

Como los datos provienen de una muestra es necesario contemplar pruebas de significancia para estimar parámetros poblacionales con los que se pueda confiar que las estadísticos son significativos.

Las pruebas de significancia implica determinar un valor de \(t\) que van a ser comparados con valores críticos a partir de los cuantiles qt() de distribuciones t student a ciertos grados de libertar y con el nivel de confianza requerido.

De tal forma que se debe utilizar e interpretar en caso de que el valor de \(t\) esté en una zona de confianza se acepta una hipótesis nula y si está fuera se rechaza la hipótesis nula y se acepta hipótesis alternativa.

Hay dos pruebas que se describen en este caso:

  • Prueba de significancia para correlación \(r\) para saber si la correlación sería difenrete de cero en una población.

  • Prueba de significancia para la pendiente \(b\) para saber si estadísticamente el valor de la pendiente de la recta de estimación en una regresión lineal simple es aceptada con valores de una población.

    Desarrollo

3.1 Cargar librerías

library(dplyr)
library(mosaic)
library(readr)
library(ggplot2)  # Para gráficos
library(knitr)    # Para formateo de 
library(PerformanceAnalytics) # Para coorelaciones gráficas
library(visualize)

3.2 Caso Llamadas y ventas

3.2.1 Crear los datos

Datos de llamadas que hacen vendedores y las ventas que realizan.

vendedores <- paste("V",1:15, sep="")
llamadas <- c(96, 40, 104, 128, 164, 76, 72, 80 , 36, 84, 180, 132, 120, 44, 84) 
ventas <- c(41, 41, 51, 60, 61, 29, 39, 50, 28, 43, 70, 56, 45, 31, 30)
datos <- data.frame(vendedores, llamadas, ventas)
datos
##    vendedores llamadas ventas
## 1          V1       96     41
## 2          V2       40     41
## 3          V3      104     51
## 4          V4      128     60
## 5          V5      164     61
## 6          V6       76     29
## 7          V7       72     39
## 8          V8       80     50
## 9          V9       36     28
## 10        V10       84     43
## 11        V11      180     70
## 12        V12      132     56
## 13        V13      120     45
## 14        V14       44     31
## 15        V15       84     30

3.2.2 Determinar correlación de Pearson

\[ r = \frac{S_{xy}}{S_x \cdot S_y} \]

chart.Correlation(datos[,2:3], histogram = TRUE)

r <- cor(x = datos$llamadas, y = datos$ventas)
r
## [1] 0.8646318

3.2.3 Determinar correlación de Determinación

Significa elevar al cuadrado el coeficiente de correlación e interpretar que tanto afecta o representa la variable llamadas a la variable ventas.

\[ \text{coeficiente de determinación} = r^2 \]

c.determinacion <- r^2
c.determinacion
## [1] 0.7475881

3.2.4 Prueba de significancia del valor de la correlación

3.2.4.1 Establecer hipótesis

Se establecen hipótesis nula y alternativa con respecto al coeficiente de correlación.

La hipótesis nula \(H_0\) establece que el coeficiente de correlación en una población de donde proviene la muestra sería cero.

La hipótesis alternativa \(H_1\) establece que el coeficiente de correlación en una población de donde proviene la muestra sería diferente de cero.

La idea es demostrar y rechazar la \(H_0\)

\[ \text{Hipótesis nula}: H_0: Correlación = 0 \\ \text{Hipótesis alternativa}: H_1: Correlación \neq 0 \]

3.2.4.2 Determinar un valor de t

Utilizar funciones de la distribución t student para encontrar valores críticos de \(t\) a un valor de confianza que puede ser \(0.90, 0.95, 0.99\).

Luego recordar que si se va a evaluar diferente de cero entonce el valor de alfa es: \(\alpha = (1 - confianza) / 2\). A esto se le llama prueba de dos colas.

Se va a utilizar la función qt() para estimar los valores de t.critico.

Se debe calcular el valor de t con respecto a la correlación \(r\) de la siguiente manera:

\[ t = r \cdot \frac{\sqrt{n-2}}{\sqrt{1 - r^2}} \]

\[ r el valor de la correlación (n-2) grados de libertad \]

3.2.4.3 Calcular el valor de t

A partir de la fórmula

n <- nrow(datos)
t <-   r * (sqrt(n-2) / sqrt(1 - r^2))
t
## [1] 6.205089

3.2.4.4 Determinar el valor crítico de t

Se toma un nivel de confianza al \(95\%\) usando la función de qt()

confianza = 0.95
t.critico <- qt(p = (1 - confianza) / 2, df = n-2, lower.tail = FALSE)
t.critico
## [1] 2.160369

3.2.4.5 Gráfica de densidad t student

Con la gráfica se ubica el valor de \(t\) con respecto al valor de \(t.critico\) y se estima si está en una zona de aceptación rechazo para concluir que se acepta o se rechaza la \(H_0\).

visualize.t(stat = c(-t.critico, t.critico), section = "tails", df = (n-2)) +
  abline(v = t, col = "red", lwd = 3, lty = 2) +
  text(0, 0.2, paste(confianza * 100, "%", sep = ""), col = "red") +
  xlim(-6,6)

## NULL

3.2.4.6 Rechazo de \(H_0\) para prueba de significancia de la correlación

El valor de \(t = 6.205089\) está muy a la derecha del valor crítico (no se visualiza por la escala) de \(t = 2.160369\) de tal forma que se entiende o interpreta que está en zona de rechazo.

Al estar en zona de rechazo (azul) se rechaza la \(H_0\) y se acepta \(H_1\)

Entonces con esto se asegura y se prueba que el valor del coeficiente de correlación que se obtuvo de la muestra sería absolutamente diferente de cero en una población con un nivel de confianza del 95% .

3.2.5 Prueba de significancia del valor de la pendiente

Para evaluar es valor de una pendiente se tiene que construir un modelo de regresión lineal, en este caso sería bajo el modelo de la ecuación de mínimos cuadrados \(Y = a+bx\) , de la regresión lineal simple.

Con el modelo se determina el valor del coeficiente de l abcisa \(a\) y el valor de la pendiente \(b\) en la fórmula.

La prueba de significancia del valor de la pendiente \(b\)

Se interpreta de que si este valor de la ecuación obtenido de una muestra tiene significado estadístico en una población y se pudiera utilizar en la fórmula para estimaciones.

Ahora bien, es necesario obtener el valor de t con la siguiente fórmula:

\[ t = \frac{b-0}{S_b} \therefore \]

\[ S_b = \frac{\sqrt{\frac{(y_i - Y)^2}{(n-2)}}}{\sqrt{(x_i-\bar{x})^2}} \]

\[ S_b \text{ es el error estándar de la estimación de la pendiente o varianza de residuos} \\ b \text{ es el valor de la pendiene} \]

3.2.5.1 Modelo de regresión lineal simple

Se construye el modelo

modelo <- lm(data = datos, formula = ventas ~ llamadas)
modelo
## 
## Call:
## lm(formula = ventas ~ llamadas, data = datos)
## 
## Coefficients:
## (Intercept)     llamadas  
##     19.9800       0.2606
resumen <- summary(modelo)
3.2.5.1.1 Coeficiente a y b de la ecuación \(Y = a + bx\)
a <- modelo$coefficients[1]
b <- modelo$coefficients[2]

3.2.5.2 Cálculos manuales de \(S_b\)

Se presentan una tabla con las columnas con los cálculos necesarios para determinar \(S_b\) a partir de los valores \(x\) e \(y\).

tabla <- data.frame(x = llamadas, y = ventas, x.media = mean(llamadas), xi.menos.x.media = llamadas - mean(llamadas), xi.menos.x.media.cuad = (llamadas - mean(llamadas))^2, Y = modelo$fitted.values, y.menos.Y = ventas - modelo$fitted.values, y.menos.Y.cuad = (ventas - modelo$fitted.values)^2)
tabla <- rbind(tabla, apply(tabla, 2, sum))
tabla[16,c(1,2,3,6,7)] <- '*'
kable(tabla)
x y x.media xi.menos.x.media xi.menos.x.media.cuad Y y.menos.Y y.menos.Y.cuad
96 41 96 0 0 45 -4.00000000000001 16.0000000
40 41 96 -56 3136 30.405 10.595 112.2540250
104 51 96 8 64 47.085 3.915 15.3272250
128 60 96 32 1024 53.34 6.66 44.3556000
164 61 96 68 4624 62.7225 -1.7225 2.9670063
76 29 96 -20 400 39.7875 -10.7875 116.3701563
72 39 96 -24 576 38.745 0.255000000000003 0.0650250
80 50 96 -16 256 40.83 9.17 84.0889000
36 28 96 -60 3600 29.3625 -1.3625 1.8564062
84 43 96 -12 144 41.8725 1.1275 1.2712562
180 70 96 84 7056 66.8925 3.1075 9.6565563
132 56 96 36 1296 54.3825 1.6175 2.6163062
120 45 96 24 576 51.255 -6.255 39.1250250
44 31 96 -52 2704 31.4475 -0.447499999999998 0.2002562
84 30 96 -12 144 41.8725 -11.8725 140.9562563
* * * 0 25600 * * 587.1100000

De la tabla anterior se obtienen las sumatorias de \((x_i - \bar{x})\) y de \((y_i - Y)^2\). Las sumatorias de las columnas 5 y 8 de la tabla anterior renglón 16. [16, (5,8)]

suma.xi.media.x.cuad <- tabla[16, 5]
suma.yi.menos.Y.cuad <- tabla[16, 8]
suma.xi.media.x.cuad
## [1] 25600
suma.yi.menos.Y.cuad
## [1] 587.11
3.2.5.2.1 Determinar Sb

Ahora sólo calcular conforme a la fórmula el valor de \(S_b\) y sería

n <- nrow(datos)
Sb <- sqrt(suma.yi.menos.Y.cuad / (n-2)) / sqrt(suma.xi.media.x.cuad)
Sb
## [1] 0.04200182
3.2.5.2.2 Calcular t

Y calculando el valor de \(t\) conforme a la fórmula sería:

t <- (b - 0) / Sb
t
## llamadas 
## 6.205089

3.2.5.3 Identificación del los valore Sd y t en modelo

resumen
## 
## Call:
## lm(formula = ventas ~ llamadas, data = datos)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -11.873  -2.861   0.255   3.511  10.595 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  19.9800     4.3897   4.552 0.000544 ***
## llamadas      0.2606     0.0420   6.205 3.19e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 6.72 on 13 degrees of freedom
## Multiple R-squared:  0.7476, Adjusted R-squared:  0.7282 
## F-statistic:  38.5 on 1 and 13 DF,  p-value: 3.193e-05

Los valores específicos incluyendo el valor de \(p\) que es la probabilidad de las regiones en color azul más adelante visto en la gráfica.

Los asteriscos ‘***’ significan que los coeficientes son estadísticamente significativos a niveles de confianza 0.001, 0.01 o 0.05 y que si son útiles como predictores en la ecuación.

resumen$coefficients[2, ]
##     Estimate   Std. Error      t value     Pr(>|t|) 
## 0.2606250000 0.0420018172 6.2050886762 0.0000319277

3.2.6 Valor de t.critico con t student

Nivel de confianza del 95% con valor de t a una cola

\[ H_0: b \le 0 \\ H_1: b > 0 \]

confianza = 0.95
t.critico <- abs(qt(p = 1 - confianza, df = n-2))
t.critico
## [1] 1.770933
visualize.t(stat = c(-t.critico, t.critico), section = "tails", df = (n-2)) +
  abline(v = t, col = "red", lwd = 3, lty = 2) +
  text(0, 0.2, paste(confianza * 100, "%", sep = ""), col = "red") +
  xlim(-6,6)

## NULL

Nivel de confianza del 95% con valor de t a dos colas

\[ H_0: b = 0 \\ H_1: b \neq 0 \]

confianza = 0.95
t.critico <- abs(qt(p = (1 - confianza) /2 , df = n-2))
t.critico
## [1] 2.160369
visualize.t(stat = c(-t.critico, t.critico), section = "tails", df = (n-2)) +
  abline(v = t, col = "red", lwd = 3, lty = 2) +
  text(0, 0.2, paste(confianza * 100, "%", sep = ""), col = "red") +
  xlim(-6,6)

## NULL

El valor de t está muy lejos a la derecha de los valores críticos.

Con estos valores de t comparados con cualquier valor de t.critico se interpreta que estos datos de la muestra a un 95% de nivel de confianza se debe rechazar la \(H_0\) y aceptar la \(H_1\) con lo cual se concluye que el valor de la pendiente si es un predictor significativo para la ecuación.

4 Interpretación