Regresion lineal simple y dispersion

La regresión lineal es una técnica de modelado estadístico que se emplea para describir una variable de respuesta continua como una función de una o varias variables predictoras. Puede ayudar a comprender y predecir el comportamiento de sistemas complejos o a analizar datos experimentales, financieros y biológicos.

Fuente: https://la.mathworks.com/discovery/linear-regression.html

setwd("~/ESTADISTICA")
library(readr)
tablamiel <- read.csv("Prodmiel2018muni.csv" , header = TRUE)
names(tablamiel)
## [1] "Volumen" "Valor"
View(tablamiel)

Dispersion

  • Varianza
var(tablamiel$Volumen)
## [1] 14278.97
var(tablamiel$Valor)
## [1] 21376889
  • Desviacion estandar
sd(tablamiel$Valor)
## [1] 4623.515
sd(tablamiel$Volumen)
## [1] 119.4946
  • Media
mean(tablamiel$Volumen)
## [1] 41.4816
mean(tablamiel$Valor)
## [1] 1778.336
  • Matriz de diagramas de dispersion
pairs(tablamiel)

Matriz de coeficientes de correlacion

En estadística, el coeficiente de correlación de Pearson es una medida de dependencia lineal entre dos variables aleatorias cuantitativas. A diferencia de la covarianza, la correlación de Pearson es independiente de la escala de medida de las variables. De manera menos formal, podemos definir el coeficiente de correlación de Pearson como un índice que puede utilizarse para medir el grado de relación de dos variables siempre y cuando ambas sean cuantitativas y continuas.

cor(tablamiel)
##           Volumen     Valor
## Volumen 1.0000000 0.9920269
## Valor   0.9920269 1.0000000

Calculo y representacion de la recta de minimos cuadrados

El comando básico es lm (linear models). El primer argumento de este comando es una fórmula y ~ x en la que se especifica cuál es la variable respuesta o dependiente (y ) y cuál es la variable regresora o independiente (x). El segundo argumento, llamado data especifica cuál es el fichero en el que se encuentran las variables. El resultado lo guardamos en un objeto llamado regresion. Este objeto es una lista que contiene toda la información relevante sobre el análisis. Mediante el comando summary obtenemos un resumen de los principales resultados:

regresion <- lm (Valor ~ Volumen, data = tablamiel)
summary(regresion)
## 
## Call:
## lm(formula = Valor ~ Volumen, data = tablamiel)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -6163.6  -168.9  -121.8    20.0  7667.8 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  186.117     15.677   11.87   <2e-16 ***
## Volumen       38.384      0.124  309.60   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 582.9 on 1547 degrees of freedom
## Multiple R-squared:  0.9841, Adjusted R-squared:  0.9841 
## F-statistic: 9.585e+04 on 1 and 1547 DF,  p-value: < 2.2e-16

Los parámetros de la ecuación de la recta de mínimos cuadrados que relaciona la cantidad del volumen de la mie en función del valor vienen dados por la columna ´Estimate´ de la tabla ´Coefficients´ de la salida anterior. Por lo tanto, en este ejemplo la ecuación de la recta de mínimos cuadrados es:

\[ y = 186.117 + 38.384x \] ### Representacion de la recta de minimos cuadrados

plot(tablamiel$Volumen, tablamiel$Valor, xlab="Volumen", ylab = "Valor")
abline(regresion)

El coeficiente de determinación (es decir, el coeficiente de correlación al cuadrado) mide la bondad del ajuste de la recta a los datos.

Calculo de predicciones

nuevos.Volumenes <- data.frame(Volumen = seq(0,100))
predict(regresion, nuevos.Volumenes)
##         1         2         3         4         5         6         7         8 
##  186.1166  224.5003  262.8841  301.2678  339.6516  378.0353  416.4191  454.8028 
##         9        10        11        12        13        14        15        16 
##  493.1865  531.5703  569.9540  608.3378  646.7215  685.1053  723.4890  761.8727 
##        17        18        19        20        21        22        23        24 
##  800.2565  838.6402  877.0240  915.4077  953.7915  992.1752 1030.5589 1068.9427 
##        25        26        27        28        29        30        31        32 
## 1107.3264 1145.7102 1184.0939 1222.4777 1260.8614 1299.2451 1337.6289 1376.0126 
##        33        34        35        36        37        38        39        40 
## 1414.3964 1452.7801 1491.1639 1529.5476 1567.9313 1606.3151 1644.6988 1683.0826 
##        41        42        43        44        45        46        47        48 
## 1721.4663 1759.8501 1798.2338 1836.6175 1875.0013 1913.3850 1951.7688 1990.1525 
##        49        50        51        52        53        54        55        56 
## 2028.5362 2066.9200 2105.3037 2143.6875 2182.0712 2220.4550 2258.8387 2297.2224 
##        57        58        59        60        61        62        63        64 
## 2335.6062 2373.9899 2412.3737 2450.7574 2489.1412 2527.5249 2565.9086 2604.2924 
##        65        66        67        68        69        70        71        72 
## 2642.6761 2681.0599 2719.4436 2757.8274 2796.2111 2834.5948 2872.9786 2911.3623 
##        73        74        75        76        77        78        79        80 
## 2949.7461 2988.1298 3026.5136 3064.8973 3103.2810 3141.6648 3180.0485 3218.4323 
##        81        82        83        84        85        86        87        88 
## 3256.8160 3295.1998 3333.5835 3371.9672 3410.3510 3448.7347 3487.1185 3525.5022 
##        89        90        91        92        93        94        95        96 
## 3563.8859 3602.2697 3640.6534 3679.0372 3717.4209 3755.8047 3794.1884 3832.5721 
##        97        98        99       100       101 
## 3870.9559 3909.3396 3947.7234 3986.1071 4024.4909

Inferencia en modelo de regresion lineal simple

La ecuacion de la recta es así:

$$

y_i = _0 + _1 x_i + _i,     i=1,,n,

$$

donde los errores aleatorios ϵi son independientes con distribución normal de media 0 y varianza σ2.

Bajo este modelo, los errores típicos de los estimadores de los parámetros β0 y β1 se encuentran en la columna Std Error de la salida anterior.

La columna t value contiene el estadístico t, es decir, cociente entre cada estimador y su error típico. Los correspondientes p-valores aparecen en la columna Pr(>|t|).

El estimador de la desviación típica de los errores σ aparece como Residual standard error

Los intervalos de confianza para los parámetros se obtienen con el comando confint. El parámetro level permite elegir el nivel de confianza:

Intervalos de confianza

confint(regresion)
##                 2.5 %    97.5 %
## (Intercept) 155.36564 216.86758
## Volumen      38.14056  38.62692

Los intervalos de confianza para la respuesta media y los intervalos de predicción para la respuesta se pueden obtener usando el comando predict. Por ejemplo, el siguiente código calcula y representa los dos tipos de intervalos para el rango de edades que va de 0 a 100 (los de predicción en rojo):

nuevos.Volumenes <- data.frame(Volumen = seq(0,1000))
#Grafico de dispersion y recta 
plot(tablamiel$Volumen, tablamiel$Valor, xlab="Volumen", ylab = "Valor")
abline(regresion)

#Intervalo de confianza de la respuesta media 
# ic es una matriz con tres columnas: la prediccion, el limite inferior y el limite superior
ic <- predict(regresion, nuevos.Volumenes, interval= 'confidence')
lines(nuevos.Volumenes$Volumen, ic[, 2], lty = 2)
lines(nuevos.Volumenes$Volumen, ic[, 3], lty = 2)

Tabla de análisis de varianza

ANOVA

anova(regresion)
## Analysis of Variance Table
## 
## Response: Valor
##             Df     Sum Sq    Mean Sq F value    Pr(>F)    
## Volumen      1 3.2566e+10 3.2566e+10   95855 < 2.2e-16 ***
## Residuals 1547 5.2558e+08 3.3974e+05                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

El análisis de varianza (ANOVA) puede determinar si las medias de tres o más grupos son diferentes. ANOVA utiliza la prueba F para evaluar estadísticamente la igualdad de las medias. En esta publicación, les mostraré cómo funcionan el ANOVA y la prueba F utilizando un ejemplo de ANOVA de un solo factor.

Pero, esperen un momento ¿alguna vez se han detenido a pensar por qué usarían un análisis de varianza para determinar si las medias son diferentes? También les mostraré de qué manera las varianzas proveen información sobre las medias.

Prueba F, F de Fisher La prueba F llevan el nombre de su estadística de prueba, F, que fue nombrado así en honor al científico inglés Ronald Fisher. La estadística F es simplemente un cociente de dos varianzas. Las varianzas son una medida de dispersión, es decir, qué tan dispersos están los datos con respecto a la media. Los valores más altos representan mayor dispersión.

La varianza es el cuadrado de la desviación estándar. Para nosotros los seres humanos, las desviaciones estándar son más fáciles de entender que las varianzas, porque están en las mismas unidades que los datos y no en unidades elevadas al cuadrado. Sin embargo, muchos análisis en realidad utilizan las varianzas en los cálculos.

Las estadísticas F se basan en la proporción de cuadrados medios. El término “cuadrados medios” puede parecer confuso, pero simplemente es una estimación de la varianza de la población que explica los grados de libertad (GL) utilizados para calcular esa estimación.

A pesar de ser una relación de varianzas, la prueba F se puede utilizar en una amplia variedad de situaciones. Como era de esperar, la prueba F puede evaluar la igualdad de las varianzas. Sin embargo, al cambiar las varianzas que se incluyen en la relación, la prueba F se convierte en una prueba muy flexible. Por ejemplo, las estadísticas F y las pruebas F se pueden utilizar para evaluar la significancia general de un modelo de regresión, para comparar el ajuste de diferentes modelos, para probar términos de regresión específicos y para evaluar la igualdad de las medias.

Diagnostico del modelo

Los valores ajustados ŷ i y los residuos ei=ŷ i−yi se pueden obtener con los comandos fitted y residuals respectivamente. Los residuos estandarizados se obtienen con rstandard. Por ejemplo, el siguiente código obtiene una representación de los residuos estandarizados frente a los valores ajustados, que resulta útil al llevar a cabo el diagnóstico del modelo:

residuos <- rstandard(regresion)
valores.ajustados <- fitted(regresion)
plot(valores.ajustados, residuos)

En estadística se dice que un modelo predictivo presenta homocedasticidad cuando la varianza del error condicional a las variables explicativas es constante a lo largo de las observaciones.1.

No se observa ningún patrón especial, por lo que tanto la homocedasticidad como la linealidad resultan hipótesis razonables.

¿Los datos son normales?

Grafico QQ

qqnorm(residuos)
qqline(residuos)

Conclusión

Al estar realizando esta actividad, siguiendo las instrucciones del profesor y prestando atención a cada cosa que explicaba, en este ejercicio aprendí como funcionan los intervalos de confianza y de prediccion, asi como tambien aprendí que los datos son normales cuando la mayoria de los datos se acewrcan hacia la media aritmetica.