Regresión lineal simple

Variables correlacionadas, presión y temperatura

Importar

Paquetes

library(prettydoc)

Datos

Datos obtenidos del Manual de Laboratorio de Termodinámica ITSON, Agua Saturada - Tabla de Temperaturas, Tabla A.4

tempre <- read.csv("TemperaturaPresion.csv",header=TRUE)
names(tempre)
## [1] "Temperatura" "Presión"

Ley de Gay Lussac

Visualizar

  • Gráfico de correlación o gráfico de pares

Temperatura (°C), Presión (kPa)

head(tempre)
##   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
pairs(tempre)

Modelar

Grado de correlación lineal

  • Matriz de coeficientes de correlación
#Cuantificar el grado de correlación lineal
cor(tempre)
##             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

regresion <- lm(Presión ~ Temperatura, data=tempre) #lm, lineal model
summary(regresion)
## 
## 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

nuevas.temperaturas <- data.frame(Temperatura=seq(40,90))
predict(regresion, nuevas.temperaturas)
##          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)

confint(regresion) #level=0.95
##                  2.5 %      97.5 %
## (Intercept) -476.95837 -188.830020
## Temperatura    5.22319    7.672575
confint(regresion, level=0.80)
##                    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 superior

ANOVA

Análisis de varianza

  • La tabla de análisis de varianza se obtiene con el comando ANOVA
anova(regresion)
## 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.