Regresión lineal simple
Variables correlacionadas, presión y temperatura
Importar
Visualizar
- Gráfico de correlación o gráfico de pares
Temperatura (°C), Presión (kPa)
## Temperatura Presión
## 1 5 0.8721
## 2 10 1.2276
## 3 15 1.7051
## 4 20 2.3390
## 5 25 3.1690
## 6 30 4.2460
Modelar
Grado de correlación lineal
- Matriz de coeficientes de correlación
## Temperatura Presión
## Temperatura 1.0000000 0.8656424
## Presión 0.8656424 1.0000000
Cálculo y representación de la recta de mínimos cuadrados
##
## Call:
## lm(formula = Presión ~ Temperatura, data = tempre)
##
## Residuals:
## Min 1Q Median 3Q Max
## -242.32 -188.76 -47.61 151.37 597.12
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -332.894 71.164 -4.678 3.61e-05 ***
## Temperatura 6.448 0.605 10.658 5.64e-13 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 220.8 on 38 degrees of freedom
## Multiple R-squared: 0.7493, Adjusted R-squared: 0.7427
## F-statistic: 113.6 on 1 and 38 DF, p-value: 5.637e-13
- Entonces, la recta de mínimos cuadrados, sería la siguiente:
\[ y = -332.894 + 6.448 x\]
Representación gráfica de la recta
plot(tempre$Temperatura, tempre$Presión, xlab="Temperatura (°C)", ylab="Presión (kPa)")
abline(regresion)Modelación de valores
## 1 2 3 4 5 6 7
## -74.978892 -68.531010 -62.083127 -55.635244 -49.187362 -42.739479 -36.291597
## 8 9 10 11 12 13 14
## -29.843714 -23.395832 -16.947949 -10.500066 -4.052184 2.395699 8.843581
## 15 16 17 18 19 20 21
## 15.291464 21.739347 28.187229 34.635112 41.082994 47.530877 53.978760
## 22 23 24 25 26 27 28
## 60.426642 66.874525 73.322407 79.770290 86.218173 92.666055 99.113938
## 29 30 31 32 33 34 35
## 105.561820 112.009703 118.457586 124.905468 131.353351 137.801233 144.249116
## 36 37 38 39 40 41 42
## 150.696999 157.144881 163.592764 170.040646 176.488529 182.936412 189.384294
## 43 44 45 46 47 48 49
## 195.832177 202.280059 208.727942 215.175825 221.623707 228.071590 234.519472
## 50 51
## 240.967355 247.415238
Presión vs Temperatura
Inferencia en el modelo de regresión lineal simple
Suponemos que los datos proceden de un modelo de regresión simple de la forma:
\[ y_i = \beta_0 + \beta_1 x_i + \epsilon_i, \ \ \ \ i=1,\ldots,n, \]
en donde:
Los errores aleatorios \(\epsilon_i\) son independientes con distribución normal de media 0 y varianza \(\sigma^2\)
Bajo este modelo:
Los errores típicos de los estimadores de los parámetros \(\beta_0\) y \(\beta_1\) se encuentran en la columna Std Error (error estándar) de la salida anterior. Los valores son: 71.164 y 0.605 respectivamente.
Los intervalos de confianza de los parámetros se obtienen con el comando confint. El parámetro level permite elegir el nivel de confianza (por lo regular es 0.95)
## 2.5 % 97.5 %
## (Intercept) -476.95837 -188.830020
## Temperatura 5.22319 7.672575
## 10 % 90 %
## (Intercept) -425.708557 -240.0798
## Temperatura 5.658866 7.2369
¿Qué tan confiable es este modelo? Comparativa de datos reales vs datos predecidos
Los intervalos de confianza para la respuesta media y los intervalos de confianza para la respuesta se pueden obtener con el comando predict. Por ejemplo, el código a continuación estima, o calcula, y representa los dos tipos de intervalos (para el rango de temperaturas de 40 a 180 grados), los de predicción en rojo.
nuevas.temperaturas <- data.frame(Temperatura=seq(40,180))
#Gráfico de dispersión y recta
plot(tempre$Temperatura, tempre$Presión, xlab="Temperatura", ylab="Presión")
abline(regresion)
#Intervalos de confianza de la respuesta media
# ic (intervalo de confianza)
# ic es una matriz con tres columnas
#la primera es la predicción, las otras son los extremos del intervalo
ic <- predict(regresion, nuevas.temperaturas, interval="confidence")
lines(nuevas.temperaturas$Temperatura, ic[,2], lty=2) #limite inferior
lines(nuevas.temperaturas$Temperatura, ic[,3], lty=2) #limite superior
#lty = tipo de línea, formato, presentación
#Intervalos de predicción
ic <- predict(regresion, nuevas.temperaturas, interval="prediction")
lines(nuevas.temperaturas$Temperatura, ic[,2], lty=2, col="red") #limite inferior
lines(nuevas.temperaturas$Temperatura, ic[,3], lty=2, col="red") #limite superiorANOVA
Análisis de varianza
- La tabla de análisis de varianza se obtiene con el comando ANOVA
## Analysis of Variance Table
##
## Response: Presión
## Df Sum Sq Mean Sq F value Pr(>F)
## Temperatura 1 5539894 5539894 113.6 5.637e-13 ***
## Residuals 38 1853169 48768
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Conclusión
- El caso de la variables presión y temperatura, es un caso de correlación que sí implica causalidad, pues en la Ley Termodinámica de Gay Lussac, se establece que la presión de un volumen fijo de un gas, es directamente proporcional a su temperatura. El análisis desarrollado nos arroja un índice de correlación del 86.56%, en este dato pueden influir factores como el fluido con el que se está trabajando.
- Se elaboró un gráfico de pares, y una recta de mínimos cuadrados. Se hizo un análisis cuantitativo para calcular el nivel de inferencia del modelo de regresion lineal simple, con intervalos de confianza y predicción mostrados en una gráfica. (Fuera de los intervalos de confianza, el modelo no es tan bueno).
- Podemos observar como nuestro modelo de correlación lineal no es tan bueno, pues los datos reales nos arrojan un gráfico exponencial.