E1U2

Oscar de Jesús Roman Ruíz

26/11/2021

EXAMEN SEGUNDA UNIDAD DE COMPENTECIAS

Nombre: Oscar de Jesús Roman Ruíz Probabilidad y Estadística - 2021 ITSON

I. PREGUNTAS

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

La estadística es el estudio de los datos para obtener inferencias basadas en el cálculo de probabilidades, consiste en el analisis profundo de datos para llegar a conclusiones y predicciones. En ingeniería de software es aplicado a muchos sectores, en ciencia de datos es utilizada para el análisis de datos y en Inteligencia artificial se entrenan las IA conforme a datos para que logren aprender a tomar decisiones por si mismas, todo esto utilizando herramientas estadísticas para su aprendizaje.

Defina distribución de frecuencia y explique que es la distribución normal.

La distribución de frecuencia consiste en distribuir las frecuencias de un set de datos en limites de clase para tener un mejor orden de los datos con fin de analizarlso, una distribución de frecuncia normal se refiere a los datos que están distribuidos más cerca de la media, en forma de montaña.

II. CASO DE ESTUDIO POZOS

Tenemos los datos de pH y temperatura de pozos de agua subterranea, se elaborarán estos incisos 1 vez para pH y otra para Temperatura.

setwd("~/ESTADISTICA")
library(pacman) 
library(readr)
library(fdth)
## 
## Attaching package: 'fdth'
## The following objects are masked from 'package:stats':
## 
##     sd, var
library(DT)
library(readxl)
p_load("base64enc", "htmltools", "mime", "xfun", "prettydoc","readr", "knitr","DT","dplyr", "ggplot2","plotly", "gganimate","gifski","scales")
pozos <- read_excel("pozos.xlsx")
names(pozos)
## [1] "PH"   "TEMP"

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

-> pH

  • Datos ordenados (menor a mayor)
sort(pozos$PH, FALSE)
##   [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 para observar a simple vista el valor de sus extremos.

  • Valor máximo y mínimo
summary(pozos$PH)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    6.10    6.80    6.90    6.89    7.00    7.50

El valor máximo para PH es de: 7.50 como lo indíca el sumario estadístico y la lista ordenada.

Mientras que el valor mínimo para PH es de: 6.10.

Por lo tanto, el rango total de los datos de la columna de PH es de 6.10 a 7.50.

-> Temperatura

  • Datos ordenados (menor a mayor)
sort(pozos$TEMP, FALSE)
##   [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 ordenan las temperaturas de menor a mayor, se puede observar claramente el valor máximo y minimo a simple vista.

  • Valor máximo y mínimo
summary(pozos$TEMP)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##    25.6    28.0    28.7    28.7    29.2    32.1

El valor máximo para PH es de: 32.1 como lo indíca el sumario estadístico y la lista ordenada.

Mientras que el valor mínimo para PH es de: 25.6.

Por lo tanto, el rango total de los datos de la columna de TEMP es de 25.6 a 32.1.

B) Obtenga (el número de) los intervalos (o clases) usando la fórmula según Surges y el ancho de clase.

  • Numero de intervalos (pH)
pHIn = ceiling(log2(length(pozos$PH)) + 1)
pHIn
## [1] 10

El numero de intervalos para el pH según la formula de Sturges es de 10.

  • Numero de intervalos (pH)
tempIn = ceiling(log2(length(pozos$TEMP)) + 1)
tempIn
## [1] 10

El numero de intervalos para las temperaturas según la formula de Sturges es de 10.

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.

-> pH

  • Tabla de distribución de frecuencia
phTable <- fdt(pozos$PH)
phTable
##   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

Esta tabla representa las distribuciones de frecuencias para los datos de pH. La primera columna son los limites de la clase, que empiezan con el valor mínimo en la primera fila y terminan con el valor máximo en la ultima fila para el ph. En la segunda columna encontramos la frecuencia absoluta, entonces podemos interpretar que dentro de los limites de clase establecidos tenemos cierta cantidad de datos, definida por la frecuencia absoluta, por lo tanto, en el primer limite de clase de [6.039, 6.193) (no toma en cuenta el 6.193 ya que está entre parentesis), tenemos 1 único dato, para el segundo limite de clase tenemos 1, para el 3ero 7, para el cuarto 40 y de esta forma es interpretado. En la tercera columna se encuentra la frecuencia relativa, indica que tan representativos son los datos con respecto a su limite. Por ejemplo: en la primera columna obtenemos 0.00 ya que, tenemos solo 1 dato de pH dentro de dichos limites, por lo que es insignificante para el total de 293 datos, pero si tomamos en cuenta la séptima columna, tenemos en cambio 108 datos, que representan el 0.37 de todos los 293 datos y así podemos darnos una idea de que tanto representan dichas frecuencias con respecto al total de los datos. La cuarta columna indica la frecuencia relativa porcentual, que es exactamente lo mismo que la frecuencia relativa pero multiplicado por 100 para obtener porcentajes y visualizarlo mejor. En la quinta columna tenemos la frecuencia acumulada, se van acumulando las frecuencias absolutas conforme pasa al siguiente limite de clase. Finalmente en la sexta columna encontramos la frecuencia acumulada porcentual que representa el porcentaje acumulado de frecuencias para cada limite de clase.

-> Temperatura

  • Tabla de distribución de frecuencia
tempTable <- fdt(pozos$TEMP)
tempTable
##     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

Esta tabla representa las distribuciones de frecuencias para los datos de temperaturas La primera columna son los limites de la clase, que empiezan con el valor mínimo en la primera fila y terminan con el valor máximo en la ultima fila para las temperaturas. En la segunda columna encontramos la frecuencia absoluta, entonces podemos interpretar que dentro de los limites de clase establecidos tenemos cierta cantidad de datos, definida por la frecuencia absoluta, por lo tanto, en el primer limite de clase de [25.344, 26.052) (no toma en cuenta el 26.052 ya que está entre parentesis), tenemos 2 datos, para el segundo limite de clase tenemos 5, para el tercero 17, para el cuarto 63 y de esta forma es interpretado. En la tercera columna se encuentra la frecuencia relativa, indica que tan representativos son los datos con respecto a su limite. Por ejemplo: en la primera columna obtenemos 0.01 ya que, tenemos solo 2 datos de pH dentro de dichos limites, por lo que es casi insignificante para el total de 293 datos, pero si tomamos en cuenta la sexta columna, tenemos en cambio 81 datos, que representan el 0.28 de todos los 293 datos y así podemos darnos una idea de que tanto representan dichas frecuencias con respecto al total de los datos y cual es el limite de clase con más datos. La cuarta columna indica la frecuencia relativa porcentual, que es exactamente lo mismo que la frecuencia relativa pero multiplicado por 100 para obtener porcentajes y visualizarlo mejor. En la quinta columna tenemos la frecuencia acumulada, se van acumulando las frecuencias absolutas conforme pasa al siguiente limite de clase. Finalmente en la sexta columna encontramos la frecuencia acumulada porcentual que representa el porcentaje acumulado de frecuencias para cada limite de clase.

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

-> pH

  • Histograma
hist(pozos$PH, col = '#7F9BD4', main = 'Histograma de pH', xlab = 'Rango', ylab = 'Frecuencia', breaks = 20)

> El histograma de frecuencias absolutas para el pH representa de manera gráfica las frecuencias para cada limite de clase, podemos observar que los datos estan mas concentrados en la derecha poco antes del 7.0, por lo tanto los datos están concentrados cerca de la media de 6.89.

  • Polígono de frecuencias
phTabla <- fdt(pozos$PH)
plot(phTabla, type = "rfp", col = '#7F9BD4', main = 'Polígono de pH', xlab = 'Limites de clase', ylab = 'Frecuencia')

> En este poligono se observa como van aumentando las frecuencias de los datos conforme a la media, existe una mayor cantidad frecuencias de pH alrededor de su media de 6.89, pero teniendo más concurrencias en valores cercanos aun pH de 6.7 aproximadamente y sobretodo en pH de 7.0, donde se concentran la mayoria de los datos. Tiene un comportamiento peculiar pero no muy fuera de lo normal.

  • Histograma de frecuencias acumulado
phTabla <- fdt(pozos$PH)
plot(phTabla, type = "cfh", col = '#7F9BD4', main = 'Frecuencias acumuladas de pH', xlab = 'Limites de clase', ylab = 'Frecuencia')

> Representa las frecuencias acumuladas explicadas de manera gráfica.

Temperatura

  • Histograma
hist(pozos$TEMP, col = '#87A46C', main = 'Histograma de Temperatura', xlab = 'Rango', ylab = 'Frecuencia', breaks = 25)

> El histograma de frecuencias absolutas para las temperaturas representa de manera gráfica las frecuencias para cada limite de clase, podemos observar que los datos estan mas concentrados en el centro desde el 28.5 hasta el 29, muy cerca de la media de 28.7.

  • Polígono de frecuencias
tempTabla <- fdt(pozos$TEMP)
plot(tempTabla, type = "rfp", col = '#87A46C', main = 'Polígono de Temperatura', xlab = 'Limites de clase', ylab = 'Frecuencia')

> En este poligono se observa como van aumentando las frecuencias de los datos conforme a la media, existe una mayor cantidad frecuencias de temperatura en los pozos de agua subterranea cerca de la media de 28.6, por lo tanto se puede considerar que los datos siguen un comportamiento normal.

  • Histograma de frecuencias acumulado
tempTabla <- fdt(pozos$TEMP)
plot(tempTabla, type = "cfh", col = '#87A46C', main = 'Frecuencias acumuladas de Temperatura', xlab = 'Limites de clase', ylab = 'Frecuencia')

> Representa las frecuencias acumuladas explicadas de manera gráfica.

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

-> pH

  • Media
mean(pozos$PH)
## [1] 6.890444

El promedio de los valores para el ph de los pozos es de 6.89, por lo tanto este valor es el ph promedio del total de los pozos registrados (sumatoria de los datos / cantidad de datos).

  • Mediana
median(pozos$PH)
## [1] 6.9

La mediana de pH es 6.9, lo que significa que es el valor que se encuentra en la mitad de los datos para pH.

  • Moda
library(modeest)
## Registered S3 method overwritten by 'rmutil':
##   method         from
##   print.response httr
## 
## Attaching package: 'modeest'
## The following object is masked from 'package:fdth':
## 
##     mfv
mlv(pozos$PH, method = "mfv")
## [1] 7

El pH más repetido en los datos es de 7.0, entonces podemos establecer que la moda de pH para los pozos es 7.0 y es exactamente neutro.

-> Temperatura

  • Media
mean(pozos$TEMP)
## [1] 28.69795

El promedio de los valores para las temperaturas de los pozos es de 28.69, por lo tanto es la temperatura promedio que se registra para los pozos (sumatoria de las temperatura / cantidad de datos).

  • Mediana
median(pozos$TEMP)
## [1] 28.7

La mediana en las temperaturas es 28.7, lo que significa que es el valor que se encuentra en la mitad de los datos para temperaturas.

  • Moda
library(modeest)
mlv(pozos$TEMP, method = "mfv")
## [1] 28.6

La temperatura más repetida en los datos es de 28.6, entonces podemos establecer que la moda de temperaturas para los pozos es de 28.6.

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

-> pH

  • Varianza
var(pozos$PH)
## [1] 0.04908645
  • Desviación estándar
sd(pozos$PH)
## [1] 0.2215546

-> Temperatura

  • Varianza
var(pozos$TEMP)
## [1] 1.035407
  • Desviación estándar
sd(pozos$TEMP)
## [1] 1.017549

¿Pueden estas medidas ser negativas?

No, las medidas no pueden ser negativas ya que la desviación estandar es la raíz cuadrada de la varianza, la desviación estandar cercana a 0 indica que los datos están mas cerca de la media, pero no se pueden tener valores menores a 0.

G) Elabore gráfico de caja y bigote

-> pH

  • Gráfico de caja y bigotes
boxplot(pozos$PH, main = 'Gráfico de caja y bigotes PH', ylab = 'pH', col = '#7F9BD4')

> Podemos observar como los datos se encuentran mayormente concentrados en la media, teniendo solo unos pocos datos fuera de los rangos más frecuentados.

-> Temperatura

  • Gráfico de caja y bigotes
boxplot(pozos$TEMP, main = 'Gráfico de caja y bigotes TEMP', ylab = 'Temperatura', col = '#87A46C')

> Podemos observar como los datos se encuentran de igual manera concentrados cerca de su media de 28.6, pero se tienen algunos datos en los extremos, que representan las pequeñas esferas de color blanco.

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?

  • Gráfica de dispersion ph vs Temperatura.
dispersionPT <- ggplot(data = pozos, aes(x=TEMP,y=PH))+geom_point()
ggplotly(dispersionPT)

Podemos observar que los datos ciertamente son demasiados dispersos y no siguen alguna tendencia notable para definir si están relacionadas.

  • ¿Considera que estas 2 variables están relacionadas?

Concluyo que los datos no están relacionados al 100% ya que algunos están relacionados negativamente y positivamente.