E1U1

Javier Salgueiro

07/10/2020

Examen de la primera unidad de competencia de la materia de probabilidad y estadística

¿Qué es la estadística y que aplicaciones tiene en ingeniería (según su ingeniería)?

La estadística es una ciencia que recolecta, analiza, describe y visualiza una serie de datos específicos para que sea más facil el poder interpretarlos. Yo estudio Ing. Electromecánica y la estadistica se puede aplicar en los comportamientos en cualquier tipo de desiño experimental, como por ejemplo el diseño de un circuito eléctrico.

Enliste y defina los tipos de variables usados en estadística, de 2 ejemplos de cada uno. Defina distribución de frecuencia y explique que es la distribución normal.

  1. Variables cuantitativas: Son todas aquellas que tienen un valor númerico, como por ejemplo la edad, el peso, la altura , numero de casos de covid-19, entre muchas otras. Estas variables se pueden clasificar en discretas y continuas.
  • Discretas: Estas solo pueden tomar valores contables.
  • Continuas: Estas pueden tomar cualquier valor real dentro de un intervalo.
  1. Variables cualitativas: Son todas aquellas que no tienen un valor númerico, por ejemplo el sexo, el número de esatdos, los colores, el grupo sanguíneo, entre muchas otras.

La distribución de frecuencia se puede representar mediante tablas o graficas. En ellas se encuentran los datos ordenados por sus clases y tipos de frecuencias.

La distribución normal se da cuando las medidas de tendencia central coiceden, formando así una campana totalmente simétrica al graficar los datos.

Estos datos son: Datos de pH y Temperatura de pozos de agua subterránea.

setwd("~/PYE1112ADITSON")
library(pacman)
p_load("readr","prettydoc","fdth","modeest","ggplot2","GGally")

#Importar tabla de detos de excel y guardarla en una variable
pozos <- read.csv("pozos.csv")

A) Ordene los datos de menor a mayor, indique el valor máximo / mínimo y el rango total

de datos.

#Se ordenan los datos de menor a mayor para el ph.
sort(pozos$PH)
##   [1] 6.1 6.3 6.4 6.4 6.4 6.4 6.4 6.4 6.4 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5
##  [19] 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.5 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6
##  [37] 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.6 6.7 6.7 6.7 6.7 6.7
##  [55] 6.7 6.7 6.7 6.7 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8
##  [73] 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8
##  [91] 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8
## [109] 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.8 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9
## [127] 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9
## [145] 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 6.9 7.0 7.0
## [163] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [181] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [199] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [217] 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0 7.0
## [235] 7.0 7.0 7.0 7.0 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1
## [253] 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.1 7.2 7.2
## [271] 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.2 7.3 7.3 7.3 7.3 7.3 7.3 7.4 7.4
## [289] 7.4 7.4 7.4 7.4 7.5
#Se ordenan los datos de menor a mayor para la temperatura.
sort(pozos$TEMP)
##   [1] 25.6 25.8 26.2 26.3 26.3 26.4 26.4 26.8 26.8 26.9 27.0 27.0 27.1 27.2 27.2
##  [16] 27.3 27.3 27.3 27.3 27.4 27.4 27.4 27.4 27.4 27.5 27.5 27.5 27.5 27.5 27.5
##  [31] 27.5 27.5 27.5 27.5 27.5 27.5 27.6 27.7 27.7 27.7 27.7 27.8 27.8 27.8 27.8
##  [46] 27.8 27.8 27.8 27.8 27.8 27.8 27.8 27.9 27.9 27.9 27.9 27.9 27.9 27.9 27.9
##  [61] 27.9 27.9 27.9 27.9 27.9 27.9 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0
##  [76] 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.0 28.1 28.1 28.1 28.2 28.2 28.2
##  [91] 28.2 28.2 28.2 28.2 28.2 28.2 28.2 28.2 28.2 28.3 28.3 28.3 28.3 28.3 28.3
## [106] 28.3 28.4 28.4 28.4 28.4 28.4 28.4 28.4 28.5 28.5 28.5 28.5 28.5 28.5 28.5
## [121] 28.5 28.5 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6 28.6
## [136] 28.6 28.6 28.6 28.6 28.6 28.6 28.7 28.7 28.7 28.7 28.7 28.7 28.7 28.7 28.7
## [151] 28.7 28.7 28.7 28.7 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8 28.8
## [166] 28.8 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9 28.9
## [181] 28.9 28.9 28.9 28.9 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0 29.0
## [196] 29.0 29.0 29.0 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.1 29.2
## [211] 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.2 29.3 29.3
## [226] 29.3 29.3 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.4 29.5 29.5
## [241] 29.5 29.5 29.5 29.5 29.5 29.5 29.5 29.6 29.6 29.6 29.7 29.7 29.8 29.8 29.8
## [256] 29.8 29.8 29.8 29.9 29.9 29.9 29.9 30.0 30.0 30.0 30.0 30.0 30.0 30.1 30.1
## [271] 30.1 30.1 30.2 30.2 30.2 30.3 30.3 30.3 30.3 30.4 30.5 30.6 30.8 30.9 31.1
## [286] 31.1 31.1 31.2 31.4 31.5 31.7 31.9 32.1
#Se obtiene el valor máximo y mínimo para el ph.
max(pozos$PH)
## [1] 7.5
min(pozos$PH)
## [1] 6.1
#Se obtiene el valor máximo y mínimo para la temperatura.
max(pozos$TEMP)
## [1] 32.1
min(pozos$TEMP)
## [1] 25.6
#Se obtiene el rango total para el ph.
rangoph <- max(pozos$PH)- min(pozos$PH)
rangoph
## [1] 1.4
#Se obtiene el rango total para la temperatura.
rangotemp <- max(pozos$TEMP)- min(pozos$TEMP)
rangotemp
## [1] 6.5
  1. Obtenga (el número de) los intervalos (o clases) usando la fórmula según Surges y el ancho de clase.
#Se obtiene el numero de clases usando la formula según Sturges para el ph.
nclass.Sturges(pozos$PH)
## [1] 10
#Se obtiene el numero de clases usando la formula según Sturges para la temperatura.
nclass.Sturges(pozos$TEMP)
## [1] 10
#Se obtiene el ancho de clase para el ph.
anchoph <- (rangoph/10)
anchoph
## [1] 0.14
#Se obtiene el ancho de clase para la temperatura.
anchotemp <- (rangotemp/10)
anchotemp
## [1] 0.65

C) Construya una tabla de frecuencias que incluya: límites de clases, frecuencia absoluta,

frecuencia relativa, frecuencia relativa porcentual, frecuencia acumulada y explique a detalle que refleja esta tabla.

#Se construye tabla de frecuencias para el ph.
distph <- fdt(pozos$PH, breaks = "Sturges")
distph
##   Class limits   f   rf rf(%)  cf  cf(%)
##  [6.039,6.193)   1 0.00  0.34   1   0.34
##  [6.193,6.346)   1 0.00  0.34   2   0.68
##    [6.346,6.5)   7 0.02  2.39   9   3.07
##    [6.5,6.653)  40 0.14 13.65  49  16.72
##  [6.653,6.807)  67 0.23 22.87 116  39.59
##  [6.807,6.961)  44 0.15 15.02 160  54.61
##  [6.961,7.114) 108 0.37 36.86 268  91.47
##  [7.114,7.268)  12 0.04  4.10 280  95.56
##  [7.268,7.421)  12 0.04  4.10 292  99.66
##  [7.421,7.575)   1 0.00  0.34 293 100.00
#Se construye tabla de frecuencias para la temperatura.
distemp <- fdt(pozos$TEMP, breaks = "Sturges")
distemp
##     Class limits  f   rf rf(%)  cf  cf(%)
##  [25.344,26.052)  2 0.01  0.68   2   0.68
##  [26.052,26.759)  5 0.02  1.71   7   2.39
##  [26.759,27.467) 17 0.06  5.80  24   8.19
##  [27.467,28.175) 63 0.22 21.50  87  29.69
##  [28.175,28.883) 79 0.27 26.96 166  56.66
##   [28.883,29.59) 81 0.28 27.65 247  84.30
##   [29.59,30.298) 28 0.10  9.56 275  93.86
##  [30.298,31.006)  9 0.03  3.07 284  96.93
##  [31.006,31.713)  7 0.02  2.39 291  99.32
##  [31.713,32.421)  2 0.01  0.68 293 100.00

En las tablas de frecuencia, la primera columna representa los limites de clases en total y el anco de cada clase que estarían en los renglones. La columna “f” representa la frecuencia absoluta, es decir, los datos que existen entre el rango de clase. La columna “rf” representa la frecuencia relativa, esta es el cociente entre la frecuencia absoluta de un determinado valor y el numero total de datos. La columna “rf%” es la frecuencia relativa porcentual y se obtiene multiplicando por 100 la rf. La columna “cf” es la frecuancia acumulada, es decir, se van sumando los datos anteriores de cada clase para así conocer la distribución de los datos en las clases. La columna “cf%” es la frecuencia acumulada porcentual, se calcula sumando sucesivamente los valores de la frecuencia relativa porcentual de los datos anteriores hasta llegar así al 100%.

D) Elabore un histograma, polígono de frecuencias, histograma de frecuencias acumuladas.

#Se elabora un histograma para el ph.
hist(pozos$PH)

#Se elabora un histograma para la temperatura.
hist(pozos$TEMP)

#Se elabora un polígono de frecuancias absolutas para ambas variables.
plot(distph, type ="fp")

plot(distemp, type ="fp")

#Se elabora un polígono de frecuancias relativas para ambas variables.
plot(distph, type ="rfp")

plot(distemp, type ="rfp")

#Se elabora un polígono de frecuancias acumuladas para ambas variables.
plot(distph, type ="cfp")

plot(distemp, type ="cfp")

#Se elabora un histograma de frecuancias acumuladas para ambas variables.
plot(distph, type ="cfh")

plot(distemp, type ="cfh")

E) Obtenga la media, mediana, moda e interprete los resultados.

#Se obtiene la media para ambas variables.
mean(pozos$PH)
## [1] 6.890444
mean(pozos$TEMP)
## [1] 28.69795
#Se obtiene la mediana para ambas variables.
median(pozos$PH)
## [1] 6.9
median(pozos$TEMP)
## [1] 28.7
#Se obtiene la moda para ambas variables.
mfv(pozos$PH, method="discrete")
## [1] 7
mfv(pozos$TEMP, method="discrete")
## [1] 28.6

Se puede oberservar que en las dos variables las medidas son muy cercanas entre si, y como la media es menor que la mediana entonces la distribución esta sesgada a la izquierda (negativamente).

F) Obtenga la varianza y la desviación estándar, interprete los resultados. ¿Pueden estas

medidas ser negativas?

#Se obtiene la varianza para ambas variables.
var(pozos$PH)
## [1] 0.04908645
var(pozos$TEMP)
## [1] 1.035407
#Se obtiene la desviación estándar para ambas variables.
sd(pozos$PH)
## [1] 0.2215546
sd(pozos$TEMP)
## [1] 1.017549

Se puede obersvar que la varianza y desviación estándar son muy cercanas al 0, por lo que los valores estan más concentrados alrededor de la media. Dado que estas medidas representan la distancia que hay entre los datos y estos del centro, por lo tanto no pueden ser negativas.

G) Elabore gráfico de caja y bigote

#Se elabora un gráfico de caja y bigote para el ph
boxplot(pozos$PH)

#Se elabora un gráfico de caja y bigote para 
boxplot(pozos$TEMP)

H) Elabora una gráfica de dispersión de pH versus temperatura, use ggplot aquí. En base a esta gráfica: ¿Considera que estas 2 variables están relacionadas?

#Se elabora una gráfica de dispersión de ph versus la temperatura.
ggplot(data = pozos)+
  geom_point(mapping = aes(x= TEMP, y= PH))

Ánalisis de regresión lineal simple

  • Resumen estadístico
summary(pozos)
##        PH            TEMP     
##  Min.   :6.10   Min.   :25.6  
##  1st Qu.:6.80   1st Qu.:28.0  
##  Median :6.90   Median :28.7  
##  Mean   :6.89   Mean   :28.7  
##  3rd Qu.:7.00   3rd Qu.:29.2  
##  Max.   :7.50   Max.   :32.1
  • Matriz de diagramas de dispersión
pairs(pozos)

  • Matriz de diagramas de coeficiente de correlación
cor(pozos)
##               PH        TEMP
## PH    1.00000000 -0.02029087
## TEMP -0.02029087  1.00000000
  • Prueba de correlación de pearson
cor.test(x=pozos$TEMP, y=pozos$PH, method = "pearson", digits=3)
## 
##  Pearson's product-moment correlation
## 
## data:  pozos$TEMP and pozos$PH
## t = -0.34621, df = 291, p-value = 0.7294
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
##  -0.13456554  0.09451642
## sample estimates:
##         cor 
## -0.02029087
ggpairs(pozos, lower=list(continuous="smooth"), diag=list(continuous="bar"), axisLabels = "none")
## Warning in check_and_set_ggpairs_defaults("diag", diag, continuous =
## "densityDiag", : Changing diag$continuous from 'bar' to 'barDiag'
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

  • Modelo de regresión lineal simple
regresion <- lm(PH~TEMP, data=pozos)
summary(regresion)
## 
## Call:
## lm(formula = PH ~ TEMP, data = pozos)
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.78955 -0.09220  0.01089  0.11089  0.59587 
## 
## Coefficients:
##              Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  7.017231   0.366448  19.149   <2e-16 ***
## TEMP        -0.004418   0.012761  -0.346    0.729    
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2219 on 291 degrees of freedom
## Multiple R-squared:  0.0004117,  Adjusted R-squared:  -0.003023 
## F-statistic: 0.1199 on 1 and 291 DF,  p-value: 0.7294
  • Ecuación de la recta de mínimos cuadrados

\[ y=-7.017231 - 0.004418x \]

  • Modelación de valores
nuevaspH <- data.frame(PH=seq(6,8))
nuevasTemp <- data.frame(TEMP=seq(25,32))
predict(regresion,nuevasTemp)
##        1        2        3        4        5        6        7        8 
## 6.906781 6.902363 6.897945 6.893527 6.889109 6.884691 6.880273 6.875855
  • Inferencia en el modelo de regresión lineal simple
confint(regresion)
##                   2.5 %     97.5 %
## (Intercept)  6.29600715 7.73845554
## TEMP        -0.02953383 0.02069782
confint(regresion, level=0.90)
##                     5 %       95 %
## (Intercept)  6.41255325 7.62190943
## TEMP        -0.02547524 0.01663924
  • Representación gráfica de la recta
regresion <- lm(PH~TEMP, data=pozos)
plot(pozos$TEMP, pozos$PH, col = "firebrick", pch = 19, ylab = "pH",
     xlab = "Temperatura", main = "PH ~ TEMP")
abline(regresion, col = 1)

  • Intervalos de confianza
ggplot(data = pozos, mapping = aes(x = TEMP, y = PH)) +
geom_point(color = "firebrick", size = 2) +
geom_smooth(method = "lm", se = TRUE, color = "black") +
labs(title = "PH ~ TEMP", x = "Temperatura", y = "pH") +
theme_bw() + theme(plot.title = element_text(hjust = 0.5)) 
## `geom_smooth()` using formula 'y ~ x'

  • Análisis de residuos
par(mfrow=c(1,2))
plot(regresion)

* Prueba de Shapiro-wilk

shapiro.test(regresion$residuals)
## 
##  Shapiro-Wilk normality test
## 
## data:  regresion$residuals
## W = 0.96474, p-value = 1.44e-06

Redacción

Primeramente al obersar el valor de correlación lineal, que es de -0.02029087, podríamos pensar que las variables no estan relacionadas, pero análisando a profundidad con las diferentes pruebas,e llegado a la conclusión de que estan relacionadas inversamente, dado que, cuando hay un incremento en la temperatura del agua, el ph disminuye, y de igual forma una disminución en la temperatura implica que el ph aumenete. Si bien el modelo es poco confiable, hay una gran causalidad, ya que cuando aumenta la temperatura, las moleculas de hidrogeno del agua tienden a separarse, causando así el aunmento del ph.