A continuación se presenta el objetivo general de la práctica:
A continuación, se presenta los objetivos específicos que tiene la siguiente práctica:
Cargar O Construir Los Datos
Determinar La Covarianza, La Correlación Y El Diagrama De Dispersión De Cada Uno De Los Ejercicios Propuestos
Realizar la Interpretación De La Práctica Correspondiente.
Nota: Se Presentan Ejercicios Relacionados Con Datos De Llamadas Y Ventas, Daos De Jugadores De Fifa, Calificaciones De Matemática E Inglés Y Datos De Ranking De Universidades.
La probabilidad y la estadística están relacionadas en una forma importante. La probabilidad se emplea como herramienta; permite que se evalúe la confiabilidad de las conclusiones acerca de la población cuando tenga sólo información muestral.
Por otra parte, la probabilidad indica el grado de certidumbre o certeza de un suceso o fenómeno estudiado, en la investigación científica existen muchos fenómenos en los cuales es necesario determinar la probabilidad de que un evento ocurra o dejen de ocurrir, para lo cual el estudio de este campo, es necesario.
Además tiene aplicaciones muy importantes en investigación; dado que es base para la inferencia estadística que permite el estudio de muestras con el objetivo de inferir o extrapolar características de estas a una población.
La definición propia de una variables estadísticas es la siguiente, de acuerdo con los estipulado por Enciclopedia en su sitio web (2022):
Una variable estadística es una característica de una muestra o población de datos que puede adoptar diferentes valores.
Cuando hablamos de variable estadística estamos hablando de una cualidad que, generalmente adopta forma numérica. Por ejemplo, la altura de Juan es de 180 centímetros. La variable estadística es la altura y está medida en centímetros.
Claro que no todas las variables estadísticas son iguales y, por supuesto, no todas se pueden (en principio) expresar en forma de número.
Aunque hay decenas de tipos de variables estadísticas, por norma general podemos encontrarnos dos tipos de variables:
Variable Cuantitativa: Son variables que se expresan numéricamente.
Variable Continua: Toman un valor infinito de valores entre un intervalo de datos. El tiempo que tarda un corredor en completar los 100 metros lisos.
Variable Discreta: Toman un valor finito de valores entre un intervalo de datos. Número de helados vendidos.
Variable Cualitativa: Son variables que se expresan, por norma general, en palabras.
Variable Ordinal: Expresa diferentes niveles y orden.
Variable Nominal: Expresa un nombre claramente diferenciado. Por ejemplo el color de ojos puede ser azul, negro, castaño, verde, etc.
La covarianza es el valor a través del cual se refleja en qué cuantía don variables cualesquiera varían de forma conjunta respecto de sus medias aritméticas. Así, esta medida nos permite conocer cómo se comportan las variables en cuestión respecto de otras variables. Es decir, ¿qué hace la variable X cuando Y aumenta? ¿y cuándo Y disminuye? ¿y si Y se mantiene estable y constante?
La covarianza puede adquirir valores negativos y positivos, y además puede adquirir valores iguales a 0. ¿Cómo se han de interpretar estos resultados? Veámoslo:
Cuando la covarianza es menor que 0: en este caso, hay una relación negativa, de forma que X e Y son dos variables inversamente proporcionales la una respecto de la otra. En palabras más sencillas: cuando la variable Y aumenta, la variable X disminuye.
Cuando la covarianza es mayor que 0: en este caso, hay una relación positiva, de forma que X e Y son dos variables directamente proporcionales la una respecto de la otra. En otras palabras más sencillas de entender: cuando la variable X aumenta, la variable Y también lo hace.
Cuando la covarianza adquiere un valor igual a 0: en este caso, la relación entre una variable y otra variable es inexistente, lo que quiere decir que la covarianza será igual que 0 independientemente de que cualquiera de las dos variables aumente o disminuya.
La covarianza se establece como una medida descriptiva de la asociación entre dos variables \(x\) e \(y\). [@anderson2008].
\[ S_{xy} = \frac{\sum(x_i - \bar{x}) \cdot (y_i - \bar{y})}{n - 1} \]
Se necesitan dos variable de interés:
Se requiere la media de la variable \(x\)
Se requiere la media de la variable \(y\)
Se necesita el número de observaciones del conjunto de datos. \(n\)
El coeficiente de correlación de Pearson es una prueba que mide la relación estadística entre dos variables continuas. Si la asociación entre los elementos no es lineal, entonces el coeficiente no se encuentra representado adecuadamente.
El coeficiente de correlación puede tomar un rango de valores de +1 a -1. Un valor de 0 indica que no hay asociación entre las dos variables. Un valor mayor que 0 indica una asociación positiva. Es decir, a medida que aumenta el valor de una variable, también lo hace el valor de la otra. Un valor menor que 0 indica una asociación negativa; es decir, a medida que aumenta el valor de una variable, el valor de la otra disminuye.
Para llevar a cabo la correlación de Pearson es necesario cumplir lo siguiente:
La escala de medida debe ser una escala de intervalo o relación.
Las variables deben estar distribuida de forma aproximada.
La asociación debe ser lineal. No debe haber valores atípicos en los datos.
La covarianza muestral dividida entre el producto de las desviaciones estándar de cada variable de interés identifica la correlación entre dos variables
\[ r = \frac{S_{xy}}{S_x \cdot S_y} \]
El coeficiente de correlación del producto–momento de Pearson para datos muestrales (llamado coeficiente de correlación muestral) se calcula dividiendo la covarianza muestral entre el producto de la desviación estándar muestral de \(x\) por la desviación estándar muestral de \(y\).
De acuerdo a Hernández Sampiere (2014), los valores del coeficiente de correlación de Pearson se interpreta de la siguiente manera:
El coeficiente de correlación va desde -1 hasta +1. Los valores cercanos a -1 o a +1 corresponden a una relación lineal fuerte. Entre más cercano a cero sea el valor de la correlación, más débil es la relación lineal[@anderson_estadistica_2008].
En los siguientes ejercicios también se utilizan funciones de paquetes predeterminados de lenguaje de R para una mejor comprensión de la distribución binomial.
# Importación De Los Paquetes Y Librerías Necesarias Para La Realización De La Práctica
library(ggplot2)
library(readr)
library(dplyr)
library(knitr)
library(DT)
library(mosaic)
library(PerformanceAnalytics) # Para coorelaciones gráficas
# Acomodo Del Tipo De Notación Para El Muestro De Los Valores Obtenidos
options(scipen=999) # Notación normal
# options(scipen=1) # Notación científica
source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20dispersion%20correlacion%20regresion.R", encoding = "UTF-8")
##
## Attaching package: 'cowplot'
## The following object is masked from 'package:mosaic':
##
## theme_map
Se necesita implementar una semilla para la generación de valores aleatorios, ya qwue, en alguna actividad será necesario hacer uso de estos.
# Implementación De Una Semilla Aleatoria
set.seed(2023)
Se trata de emular las ventas que hace una empresa en razón de la cantidad de llamadas que hacen vía teléfónica sus empleados. Se construyen dos vectores, el primero denota el número de llamadas que hace un vendedor vía telefónica para que le adquieran un producto, y la columna tres refleja las ventas de ese vendedor.
# Inicializando Los Valores para La Práctica
vendedores <- paste("V",1:15, sep="")
llamadas <- c(96, 40, 104, 128, 164, 76, 72, 80 , 36, 84, 180, 132, 120, 44, 84)
ventas <- c(41, 41, 51, 60, 61, 29, 39, 50, 28, 43, 70, 56, 45, 31, 30)
datos <- data.frame(vendedores, llamadas, ventas)
datos
## vendedores llamadas ventas
## 1 V1 96 41
## 2 V2 40 41
## 3 V3 104 51
## 4 V4 128 60
## 5 V5 164 61
## 6 V6 76 29
## 7 V7 72 39
## 8 V8 80 50
## 9 V9 36 28
## 10 V10 84 43
## 11 V11 180 70
## 12 V12 132 56
## 13 V13 120 45
## 14 V14 44 31
## 15 V15 84 30
\[ S_{xy} = \frac{\sum(x_i - \bar{x}) \cdot (y_i - \bar{y})}{n - 1} \]
Se construye una tabla para determinar la covarianza manualmente.
tabla <- data.frame(x = llamadas, y = ventas, x.med = mean(llamadas), y.med=mean(ventas))
tabla <- cbind(tabla, xi.menos.x.med = tabla$x-mean(tabla$x))
tabla <- cbind(tabla, yi.menos.y.med = tabla$y-mean(tabla$y))
tabla <- cbind(tabla, prod = tabla$xi.menos.x.med * tabla$yi.menos.y.med)
tabla <- rbind(tabla, apply(tabla, 2, sum))
tabla[nrow(tabla), c(1:6)] <- '*'
kable(tabla)
| x | y | x.med | y.med | xi.menos.x.med | yi.menos.y.med | prod |
|---|---|---|---|---|---|---|
| 96 | 41 | 96 | 45 | 0 | -4 | 0 |
| 40 | 41 | 96 | 45 | -56 | -4 | 224 |
| 104 | 51 | 96 | 45 | 8 | 6 | 48 |
| 128 | 60 | 96 | 45 | 32 | 15 | 480 |
| 164 | 61 | 96 | 45 | 68 | 16 | 1088 |
| 76 | 29 | 96 | 45 | -20 | -16 | 320 |
| 72 | 39 | 96 | 45 | -24 | -6 | 144 |
| 80 | 50 | 96 | 45 | -16 | 5 | -80 |
| 36 | 28 | 96 | 45 | -60 | -17 | 1020 |
| 84 | 43 | 96 | 45 | -12 | -2 | 24 |
| 180 | 70 | 96 | 45 | 84 | 25 | 2100 |
| 132 | 56 | 96 | 45 | 36 | 11 | 396 |
| 120 | 45 | 96 | 45 | 24 | 0 | 0 |
| 44 | 31 | 96 | 45 | -52 | -14 | 728 |
| 84 | 30 | 96 | 45 | -12 | -15 | 180 |
| * | * | * | * | * | * | 6672 |
\[ S_{xy} = \frac{\sum(x_i - \bar{x}) \cdot (y_i - \bar{y})}{n - 1} \therefore \\ covarianza = S_{xy} = \frac{6672}{n-1} = \frac{6672}{14} = 476.5714 \]
n <- nrow(datos)
numerador <- sum((datos$llamadas - mean(datos$llamadas)) * (datos$ventas - mean(datos$ventas)))
# numerador ; sum(tabla$prod)
denominador <- n - 1
covarianza <- numerador / denominador
covarianza
## [1] 476.5714
Se manda llamar función previamente programada en las para visualizar diagrama de dispersión
# Construcción De Los Diagramas De Dispersión
f_diag.dispersion(data.frame(llamadas, ventas))
\[ correlación = r = \frac{covarianza}{S_x \cdot S_y} = \frac{476.5714}{42.7618\cdot12.88964}=\frac{476.5714}{551.1843}=0.8646318 \]
\[ S_{xy}\text{ es la covarianza muestral previamente calculada} \\ S_x \text{ es la desviación std. de la variable x} \\ S_y \text{ es la desviación std. de la variable y} \\ S_x\cdot S_y \text { es el producto de ambas desviaciones} \]
prod.dispersion = sd(datos$llamadas) * sd(datos$ventas)
prod.dispersion
## [1] 551.1843
r <- covarianza / prod.dispersion
r
## [1] 0.8646318
Se determina la covarianza y la correlación con funciones de los paquete base de R y R Studio. La función cov() determina la covarianza de un conjunto de datos de dos variables numéricas y cor() calcula la correlación; de manera natural la correlación que se genera con la función de cor() es la de Pearson.
Las variables cov y r identifican a la covarianza y la correlación de Pearson respectivamente y deben ser los mismos valores que aquellos que se calcularon manualemnte arriba.
covarianza <- cov(x = datos$llamadas, y = datos$ventas, )
r <- cor(x = datos$llamadas, y = datos$ventas)
covarianza; r
## [1] 476.5714
## [1] 0.8646318
Se visualiza la correlación entre dos variables de interés usando chart.Correlation de la librería PerformanceAnalytics.
chart.Correlation(datos[,2:3], histogram = TRUE)
Se cargan datos de dirección de internet
# Importando Los Datos Necesarios Para El Ejercicio
datos.bruto <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/datos/players_20.csv", stringsAsFactors = TRUE, encoding = "UTF-8")
str(datos.bruto)
## 'data.frame': 18278 obs. of 104 variables:
## $ sofifa_id : int 158023 20801 190871 200389 183277 192985 192448 203376 177003 209331 ...
## $ player_url : Factor w/ 18278 levels "https://sofifa.com/player/101317/michael-ratajczak/20/159586",..: 397 5124 2497 3676 1537 2765 2674 4267 1088 5356 ...
## $ short_name : Factor w/ 17354 levels "A. Abdallah",..: 9768 3205 12703 7899 4500 8740 11808 16595 9778 11643 ...
## $ long_name : Factor w/ 18218 levels "A. Benjamin Chiamuloira Paes",..: 9904 3292 12557 7423 4443 9252 10715 16632 10336 12149 ...
## $ age : int 32 34 27 26 28 28 27 27 33 27 ...
## $ dob : Factor w/ 6142 levels "01/01/1983","01/01/1984",..: 4738 833 840 1230 1228 5551 5888 1539 1779 2945 ...
## $ height_cm : int 170 187 175 188 175 181 187 193 172 175 ...
## $ weight_kg : int 72 83 68 87 74 70 85 92 66 71 ...
## $ nationality : Factor w/ 162 levels "Afghanistan",..: 6 122 19 135 13 13 58 109 35 44 ...
## $ club : Factor w/ 698 levels " SSV Jahn Regensburg",..: 228 353 463 64 507 401 228 389 507 389 ...
## $ overall : int 94 93 92 91 91 91 90 90 90 90 ...
## $ potential : int 94 93 92 93 91 91 93 91 90 90 ...
## $ value_eur : int 95500000 58500000 105500000 77500000 90000000 90000000 67500000 78000000 45000000 80500000 ...
## $ wage_eur : int 565000 405000 290000 125000 470000 370000 250000 200000 340000 240000 ...
## $ player_positions : Factor w/ 643 levels "CAM","CAM, CDM",..: 545 621 345 227 351 12 227 56 156 575 ...
## $ preferred_foot : Factor w/ 2 levels "Left","Right": 1 2 2 2 2 2 2 2 2 1 ...
## $ international_reputation : int 5 5 5 3 4 4 3 3 4 3 ...
## $ weak_foot : int 4 4 5 3 4 5 4 3 4 3 ...
## $ skill_moves : int 4 5 5 1 4 4 1 2 4 4 ...
## $ work_rate : Factor w/ 9 levels "High/High","High/Low",..: 8 2 3 9 3 1 9 9 1 3 ...
## $ body_type : Factor w/ 10 levels "Akinfenwa","C. Ronaldo",..: 5 2 6 7 7 7 7 7 4 8 ...
## $ real_face : Factor w/ 2 levels "No","Yes": 2 2 2 2 2 2 2 2 2 2 ...
## $ release_clause_eur : int 195800000 96500000 195200000 164700000 184500000 166500000 143400000 150200000 92300000 148900000 ...
## $ player_tags : Factor w/ 84 levels "","#Acrobat",..: 27 74 75 1 72 38 1 83 35 73 ...
## $ team_position : Factor w/ 30 levels "","CAM","CB",..: 27 16 2 7 16 21 7 10 21 27 ...
## $ team_jersey_number : int 10 7 10 13 7 17 1 4 10 11 ...
## $ loaned_from : Factor w/ 317 levels "","1. FC Heidenheim 1846",..: 1 1 1 1 1 1 1 1 1 1 ...
## $ joined : Factor w/ 1761 levels "","01/01/1998",..: 73 639 245 969 88 1705 83 19 97 86 ...
## $ contract_valid_until : int 2021 2022 2022 2023 2024 2023 2022 2023 2020 2023 ...
## $ nation_position : Factor w/ 27 levels "","CAM","CB",..: 1 14 15 7 12 19 27 9 1 24 ...
## $ nation_jersey_number : int NA 7 10 1 10 7 22 4 NA 10 ...
## $ pace : int 87 90 91 NA 91 76 NA 77 74 93 ...
## $ shooting : int 92 93 85 NA 83 86 NA 60 76 86 ...
## $ passing : int 92 82 87 NA 86 92 NA 70 89 81 ...
## $ dribbling : int 96 89 95 NA 94 86 NA 71 89 89 ...
## $ defending : int 39 35 32 NA 35 61 NA 90 72 45 ...
## $ physic : int 66 78 58 NA 66 78 NA 86 66 74 ...
## $ gk_diving : int NA NA NA 87 NA NA 88 NA NA NA ...
## $ gk_handling : int NA NA NA 92 NA NA 85 NA NA NA ...
## $ gk_kicking : int NA NA NA 78 NA NA 88 NA NA NA ...
## $ gk_reflexes : int NA NA NA 89 NA NA 90 NA NA NA ...
## $ gk_speed : int NA NA NA 52 NA NA 45 NA NA NA ...
## $ gk_positioning : int NA NA NA 90 NA NA 88 NA NA NA ...
## $ player_traits : Factor w/ 922 levels "","Acrobatic Clearance",..: 112 687 787 334 165 718 920 203 19 113 ...
## $ attacking_crossing : int 88 84 87 13 81 93 18 53 86 79 ...
## $ attacking_finishing : int 95 94 87 11 84 82 14 52 72 90 ...
## $ attacking_heading_accuracy: int 70 89 62 15 61 55 11 86 55 59 ...
## $ attacking_short_passing : int 92 83 87 43 89 92 61 78 92 84 ...
## $ attacking_volleys : int 88 87 87 13 83 82 14 45 76 79 ...
## $ skill_dribbling : int 97 89 96 12 95 86 21 70 87 89 ...
## $ skill_curve : int 93 81 88 13 83 85 18 60 85 83 ...
## $ skill_fk_accuracy : int 94 76 87 14 79 83 12 70 78 69 ...
## $ skill_long_passing : int 92 77 81 40 83 91 63 81 88 75 ...
## $ skill_ball_control : int 96 92 95 30 94 91 30 76 92 89 ...
## $ movement_acceleration : int 91 89 94 43 94 77 38 74 77 94 ...
## $ movement_sprint_speed : int 84 91 89 60 88 76 50 79 71 92 ...
## $ movement_agility : int 93 87 96 67 95 78 37 61 92 91 ...
## $ movement_reactions : int 95 96 92 88 90 91 86 88 89 92 ...
## $ movement_balance : int 95 71 84 49 94 76 43 53 93 88 ...
## $ power_shot_power : int 86 95 80 59 82 91 66 81 79 80 ...
## $ power_jumping : int 68 95 61 78 56 63 79 90 68 69 ...
## $ power_stamina : int 75 85 81 41 84 89 35 75 85 85 ...
## $ power_strength : int 68 78 49 78 63 74 78 92 58 73 ...
## $ power_long_shots : int 94 93 84 12 80 90 10 64 82 84 ...
## $ mentality_aggression : int 48 63 51 34 54 76 43 82 62 63 ...
## $ mentality_interceptions : int 40 29 36 19 41 61 22 89 82 55 ...
## $ mentality_positioning : int 94 95 87 11 87 88 11 47 79 92 ...
## $ mentality_vision : int 94 82 90 65 89 94 70 65 91 84 ...
## $ mentality_penalties : int 75 85 90 11 88 79 25 62 82 77 ...
## $ mentality_composure : int 96 95 94 68 91 91 70 89 92 91 ...
## $ defending_marking : int 33 28 27 27 34 68 25 91 68 38 ...
## $ defending_standing_tackle : int 37 32 26 12 27 58 13 92 76 43 ...
## $ defending_sliding_tackle : int 26 24 29 18 22 51 10 85 71 41 ...
## $ goalkeeping_diving : int 6 7 9 87 11 15 88 13 13 14 ...
## $ goalkeeping_handling : int 11 11 9 92 12 13 85 10 9 14 ...
## $ goalkeeping_kicking : int 15 15 15 78 6 5 88 13 7 9 ...
## $ goalkeeping_positioning : int 14 14 15 90 8 10 88 11 14 11 ...
## $ goalkeeping_reflexes : int 8 11 11 89 8 13 90 11 9 14 ...
## $ ls : Factor w/ 95 levels "","30+2","31+2",..: 94 95 89 1 88 86 1 60 76 89 ...
## $ st : Factor w/ 95 levels "","30+2","31+2",..: 94 95 89 1 88 86 1 60 76 89 ...
## $ rs : Factor w/ 95 levels "","30+2","31+2",..: 94 95 89 1 88 86 1 60 76 89 ...
## $ lw : Factor w/ 108 levels "","25+2","27+2",..: 108 106 107 1 106 104 1 64 100 105 ...
## $ lf : Factor w/ 104 levels "","26+2","27+2",..: 104 103 102 1 101 100 1 65 94 101 ...
## $ cf : Factor w/ 104 levels "","26+2","27+2",..: 104 103 102 1 101 100 1 65 94 101 ...
## $ rf : Factor w/ 104 levels "","26+2","27+2",..: 104 103 102 1 101 100 1 65 94 101 ...
## $ rw : Factor w/ 108 levels "","25+2","27+2",..: 108 106 107 1 106 104 1 64 100 105 ...
## $ lam : Factor w/ 104 levels "","27+2","28+2",..: 104 101 103 1 102 101 1 64 99 100 ...
## $ cam : Factor w/ 104 levels "","27+2","28+2",..: 104 101 103 1 102 101 1 64 99 100 ...
## $ ram : Factor w/ 104 levels "","27+2","28+2",..: 104 101 103 1 102 101 1 64 99 100 ...
## $ lm : Factor w/ 101 levels "","27+2","30+2",..: 101 99 100 1 100 99 1 62 95 98 ...
## $ lcm : Factor w/ 89 levels "","31+2","32+2",..: 88 80 82 1 84 89 1 64 89 80 ...
## $ cm : Factor w/ 89 levels "","31+2","32+2",..: 88 80 82 1 84 89 1 64 89 80 ...
## $ rcm : Factor w/ 89 levels "","31+2","32+2",..: 88 80 82 1 84 89 1 64 89 80 ...
## $ rm : Factor w/ 101 levels "","27+2","30+2",..: 101 99 100 1 100 99 1 62 95 98 ...
## $ lwb : Factor w/ 99 levels "","30+2","31+2",..: 65 59 61 1 61 84 1 88 92 70 ...
## $ ldm : Factor w/ 99 levels "","28+2","29+2",..: 60 51 51 1 55 84 1 95 92 63 ...
## $ cdm : Factor w/ 99 levels "","28+2","29+2",..: 60 51 51 1 55 84 1 95 92 63 ...
## $ rdm : Factor w/ 99 levels "","28+2","29+2",..: 60 51 51 1 55 84 1 95 92 63 ...
## $ rwb : Factor w/ 99 levels "","30+2","31+2",..: 65 59 61 1 61 84 1 88 92 70 ...
## [list output truncated]
Son 18278 observaciones o registros y 104 variables.
Se seleccionan dos variables numéricas de interés, height_cm y weight_kg; se modifican los nombres de variables o columnas en el conjunto de datos y se muestran los primeros 10 y últimos 10 registros.
datos <- datos.bruto %>%
select(height_cm, weight_kg)
colnames(datos) <- c("altura", "peso")
datatable(datos, caption = "Jugadores FIFA")
Se muestran los estadísticos descriptivos principales de datos
summary(datos)
## altura peso
## Min. :156.0 Min. : 50.00
## 1st Qu.:177.0 1st Qu.: 70.00
## Median :181.0 Median : 75.00
## Mean :181.4 Mean : 75.28
## 3rd Qu.:186.0 3rd Qu.: 80.00
## Max. :205.0 Max. :110.00
f_diag.dispersion(datos)
chart.Correlation(datos, histogram = TRUE)
## Warning in par(usr): argument 1 does not name a graphical parameter
r <- cor(x = datos$altura, y = datos$peso)
r
## [1] 0.7688164
La correlación de las variables peso y estatura o estatura y peso es de 0.7688 y se interpreta como positiva considerable.
Se solicita al alumno identificar un archivo CSV con dos variables numéricas de interés, que se puedan importar o simular en R y construir un diagrama de dispersión con las dos variables de interés \(x, y\)
Se construye un conjunto de datos de 100 alumnos con calificaciones de asignaturas de matemáticas e inglés y se hace diagrama de dispersión
# Construyendo Los Datos Para El Ejercicio Correspondiente
matematicas <- sort(rnorm(n = 100, mean = 80, 5))
ingles <- sort(rnorm(n = 100, mean = 80, sd = 8))
datos <- data.frame(matematicas, ingles)
datatable(datos, caption = "Calificaciones")
Las variables de interés son calificaciones de matemáticas e inglés
summary(datos)
## matematicas ingles
## Min. :69.67 Min. : 63.51
## 1st Qu.:77.30 1st Qu.: 77.31
## Median :79.69 Median : 82.03
## Mean :80.34 Mean : 81.67
## 3rd Qu.:83.49 3rd Qu.: 86.04
## Max. :93.68 Max. :101.64
f_diag.dispersion(datos)
Se observa que hay mucha relación entre calificaciones de matemática e inglés. Los datos fueron simulados y ordenados de menor a menor, buscando precisamente que las calificaciones bajas de matemáticas se parecieran a las calificaciones bajas de matemáticas y viceversa.
cov(datos$matematicas, datos$ingles)
## [1] 36.92511
cor(datos)
## matematicas ingles
## matematicas 1.0000000 0.9926894
## ingles 0.9926894 1.0000000
chart.Correlation(datos, histogram = TRUE )
Existe una correlación muy fuerte entre calificaciones de matemáticas e inglés.
Es un conjunto de datos de las 300 mejores universades del mundo. El enlace de la descarga origen está en el portal de kaggle: https://www.kaggle.com/datasets/aneesayoub/world-universities-ranking-2022.
Aquí los datos preparados para este ejercicio
# Local
# datos_bruto <- read.csv("../datos/Top 300 universities of World.csv", encoding = "UTF-8", stringsAsFactors = TRUE)
# Con url
datos <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/datos/world%20ranking%20universities.csv", encoding = "UTF-8", stringsAsFactors = TRUE)
Las variables del conjunto de datos. Son 300 observaciones y 13 variables de las cuales sólo interesan dos variables: publication y ranking.
publication y publications significan la cantidad en miles de publicaciones técnico científica que produce la universidad. Es decir, resultados de investigaciones.
acceptance_num es el valor numérico de aceptación de la univesidad, en un porcentaje de 0 a 100 pero en valor numérico y no %.
El ranking y/o rank en valor numérico es la jerarquía de la universidad, el ranking con valor 1 es la más alta jerarquía.
datatable(datos, caption = "Ranking Universidades")
La estructura de los datos
str(datos)
## 'data.frame': 300 obs. of 16 variables:
## $ X : int 1 2 3 4 5 6 7 8 9 10 ...
## $ name : Factor w/ 300 levels "Aarhus University",..: 1 2 3 4 5 6 7 8 9 10 ...
## $ world_ranking : Factor w/ 200 levels "","#1 of 14,131",..: 59 159 1 188 1 1 1 145 106 175 ...
## $ region_ranking : Factor w/ 200 levels "","#1 of 1,756",..: 101 108 1 115 1 1 1 96 200 126 ...
## $ country_ranking: Factor w/ 198 levels "","#1 of 101",..: 59 118 1 128 1 1 1 102 193 134 ...
## $ region : Factor w/ 6 levels "Africa","Asia",..: 3 3 5 5 3 2 5 3 3 5 ...
## $ country : Factor w/ 34 levels "Argentina","Australia",..: 17 29 34 6 17 18 34 14 33 34 ...
## $ city.state : Factor w/ 153 levels "Aarhus","Adelaide",..: 141 140 150 99 38 64 102 7 39 144 ...
## $ acceptance_rate: Factor w/ 87 levels "","1%","10%",..: 8 1 50 80 4 48 60 1 51 1 ...
## $ publication : Factor w/ 300 levels "100,167","100,238",..: 272 296 113 293 236 255 98 18 112 250 ...
## $ website : Factor w/ 295 levels "auburn.edu","bc.edu",..: 120 119 1 117 219 3 2 6 124 123 ...
## $ phone_no : Factor w/ 297 levels "","+1 (204) 474 8880",..: 96 285 209 137 39 265 256 253 273 212 ...
## $ address : Factor w/ 300 levels "1 Gwanak-ro, Gwanak-gu\n Seoul, Seoul, 151-742 \nSouth Korea",..: 205 275 247 167 152 213 30 217 195 215 ...
## $ rank : int 150 61 NA 88 NA NA NA 49 193 76 ...
## $ publications : int 89633 99086 36231 97754 74922 82676 25757 107676 36150 80596 ...
## $ acceptance_num : int 15 NA 57 86 11 55 67 NA 58 NA ...
Las variables de interés. Se seleccionan dos variables de interés: accepance_num, publications y el ranking y/o rank en valor numérico de la universidad
datos_a_visualizar <- datos %>%
select(publications, acceptance_num)
Se presentan los dos diagramas de dispersión de la relación de variables pares: entre publications y acceptance_num ; luego publications y rank.
Se construyen dos gráficas g1 y g2 y se presentan en el mismo renglón.
g1 <- f_diag.dispersion(select(datos, publications, acceptance_num))
g2 <- f_diag.dispersion(select(datos, publications, rank))
plot_grid(g1, g2)
## Warning: Removed 76 rows containing missing values (`geom_point()`).
## Warning: Removed 101 rows containing missing values (`geom_point()`).
Como se analizó en el caso 22 no observa visualmente una relación importante entre las variables pubications y acceptance_num pero si una relación negativa entre pubications y rank en el conjunto de datos de ranking de universidades.
publications y acceptance_num, quintando los valores NA
cov(x = datos$publications, y = datos$acceptance_num, use="complete.obs")
## [1] 94763.35
publications y rank quitando los registros con NA
cov(x = datos$publications, y = datos$rank, use="complete.obs")
## [1] -2789143
cor(x = datos$publications, y = datos$acceptance_num, use="complete.obs")
## [1] 0.1215602
cor(x = datos$publications, y = datos$rank, use="complete.obs")
## [1] -0.7706753
chart.Correlation(datos[,c('publications','acceptance_num', 'rank')], histogram = TRUE )
En este caso se representó un histograma para una serie de datos simulados que representan precisamente variables aleatorias continuas.
Las variables de interés. Se seleccionan dos variables de interés: accepance_num, publications y el ranking y/o rank en valor numérico de la universidad
datos_a_visualizar <- datos %>%
select(publications, acceptance_num)
Se presentan los dos diagramas de dispersión de la relación de variables pares: entre publications y acceptance_num ; luego publications y rank.
Se construyen dos gráficas g1 y g2 y se presentan en el mismo renglón.
g1 <- f_diag.dispersion(select(datos, publications, acceptance_num))
g2 <- f_diag.dispersion(select(datos, publications, rank))
plot_grid(g1, g2)
## Warning: Removed 76 rows containing missing values (`geom_point()`).
## Warning: Removed 101 rows containing missing values (`geom_point()`).
Como se analizó en el caso 22 no observa visualmente una relación importante entre las variables pubications y acceptance_num pero si una relación negativa entre pubications y rank en el conjunto de datos de ranking de universidades.
publications y acceptance_num, quintando los valores NA
cov(x = datos$publications, y = datos$acceptance_num, use="complete.obs")
## [1] 94763.35
publications y rank quitando los registros con NA
cov(x = datos$publications, y = datos$rank, use="complete.obs")
## [1] -2789143
cor(x = datos$publications, y = datos$acceptance_num, use="complete.obs")
## [1] 0.1215602
cor(x = datos$publications, y = datos$rank, use="complete.obs")
## [1] -0.7706753
chart.Correlation(datos[,c('publications','acceptance_num', 'rank')], histogram = TRUE )
En este caso se representó un histograma para una serie de datos simulados.
La covarianza y la correlación son medidas que indican la relación entre dos variables. La covarianza mide si ambas variables varían en la misma dirección (covarianza positiva) o en dirección opuesta (covarianza negativa). La correlación, por otro lado, mide tanto la fuerza como la dirección de la relación lineal entre dos variables. La correlación varía entre -1 y +1, mientras que la covarianza varía de negativo a infinito positivo. La correlación es una función de la covarianza.
La covarianza es un valor que indica el grado de variación conjunta de dos variables aleatorias respecto a sus medias. Es el dato básico para determinar si existe una dependencia entre ambas variables y además es el dato necesario para estimar otros parámetros básicos, como el coeficiente de correlación.
El coeficiente de correlación es una medida que indica el grado de relación lineal entre dos variables. El coeficiente de correlación varía entre -1 y +1. Un valor de -1 indica una correlación negativa perfecta, un valor de 0 indica que no hay correlación y un valor de +1 indica una correlación positiva perfecta.
Levine, D. M. (2010) Estadística para administración y economía. (7ª. ed.) México : Pearson Educación.
Mendenhall, W. (2010). Introducción a la Probabilidad y Estadística. (13ª. ed.) México: Cengage Learning.
Montgomery, D. C. (2011). Probabilidad y estadística aplicadas a la ingeniería. (2ª. ed.) México : Limusa: Wiley.
Quezada, L. (2010). Estadística para ingenieros. México : Empresa Editora Macro.