Objetivo

Elaborar un documento markdown que describa la relación entre dos variables numéricas de publications y rank de una muestra del conjunto de datos universidades determinando la dispersión de los datos con diagrama de dispersión, la covarianza, la correlación de Pearson y la regresión lineal simple que servirá para simular predicciones de la variable dependiente rank.

Descripción

Desarrollo

Cargar librerías

library(ggplot2)
library(readr)
library(dplyr)
library(knitr)
library(DT)
library(mosaic)
library(PerformanceAnalytics) # Para coorelaciones gráficas

Cargar funciones preparadas

source("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20dispersion%20correlacion%20regresion.R", encoding = "UTF-8")

Cargar datos

datos_bruto <- read.csv("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/datos/universidades_clean.csv", encoding = "UTF-8", stringsAsFactors = TRUE)
str(datos_bruto)
## 'data.frame':    300 obs. of  17 variables:
##  $ X.1            : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ 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 83 88 60 204 133 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 ...

Transformar datos

Seleccionar solo las variables de interés publications y rank

Ejecutar esta instrucciones para limpiar los datos y dejar solo las variable de interés

  • publications_Variable x independiente
  • rank: variabel y dependiente
datos <- select(datos_bruto, publications, rank)
str(datos)
## 'data.frame':    300 obs. of  2 variables:
##  $ publications: int  89633 99086 36231 97754 74922 82676 25757 107676 36150 80596 ...
##  $ rank        : int  150 61 83 88 60 204 133 49 193 76 ...

Determinar una muestra del 20%

Cada equipo decide el valor de la semilla random, por ejemplo 2023, ustedes pongan los cuatro o tres últimos dígitos de su número de control o el de uno de ustedes

set.seed(1999)
muestra <- datos[sample(x = 1:nrow(datos), size = round(nrow(datos) * 0.20), replace = FALSE), ]
muestra
##     publications rank
## 164       155482   34
## 36         92538   87
## 50        478072    1
## 178        60512  185
## 298        95497   56
## 203        96816   69
## 152        99036  107
## 173        56979  176
## 46         41162  136
## 42         41512   94
## 291       147171   44
## 71         63164  116
## 140        46247  168
## 256        50562   76
## 228        54930  126
## 271        87773   92
## 108        49900   13
## 226       145451   57
## 58        138093   52
## 19         37571   79
## 4          97754   88
## 15        166908   77
## 40         60237  152
## 17         66210  172
## 277        76861  184
## 10         80596   76
## 242        63169   40
## 258       166488   65
## 127        53153  152
## 154        46084   83
## 196        61271  161
## 124        60687   91
## 293        42794  109
## 252        64274  154
## 290        49351  156
## 289        44145  234
## 180        72332  122
## 136        44721  138
## 8         107676   49
## 149       125528   68
## 2          99086   61
## 28         45569   41
## 72         65006  165
## 91         99156  166
## 146        75882   42
## 77        144724   47
## 263       261987   16
## 85         64302  201
## 111        51655  173
## 131       101800  119
## 239       241392   10
## 130        68575  100
## 122       105481  165
## 21        205011    9
## 163       241635    5
## 116       138535  104
## 172       260850    7
## 31        110482   83
## 84         99798  136
## 82        115115  198

¿De cuántos registros es la muestra?

Determinar la covarianza

Convarianza entre publications y rank ¿Cuál es el valor de la covarianza ?

cov<- datos[,1:2]
cov(datos)
##              publications         rank
## publications   3522304522 -1890356.818
## rank             -1890357     3115.698

Determinar la correlación

Correlación \(r\) entre publications y rank ¿Cuál es el valor de la correlación de Pearson y cómo se interpreta?

cor(datos)
##              publications       rank
## publications    1.0000000 -0.5706275
## rank           -0.5706275  1.0000000

Diagrama de dispresión

Diagrama de dispersión entre publications y rank ¿Cómo se observa el diagrama de dispersión de las dos variables x publications e y rank?

modelo=lm(data = datos_bruto,formula=publications ~ rank)
f_diag.dispersion(datos)

Regresión

Construir el modelo de regresión entre publications y rank ¿Cuáles son los estadísticos del modelos de regresión: summary(modelo)

modelo <- lm(data = datos_bruto, formula = publications ~ rank)
modelo
## 
## Call:
## lm(formula = publications ~ rank, data = datos_bruto)
## 
## Coefficients:
## (Intercept)         rank  
##    160086.8       -606.7

Valor del R Square

¿Cuál es el valor del estadístico R Square en el modelo de regresión construído y cómo se interpreta?

cor(datos)^2
##              publications      rank
## publications    1.0000000 0.3256157
## rank            0.3256157 1.0000000
resumen=summary(modelo)
resumen
## 
## Call:
## lm(formula = publications ~ rank, data = datos_bruto)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -115734  -27672     334   22493  318592 
## 
## Coefficients:
##              Estimate Std. Error t value            Pr(>|t|)    
## (Intercept) 160086.80    5844.92   27.39 <0.0000000000000002 ***
## rank          -606.72      50.58  -11.99 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 48820 on 298 degrees of freedom
## Multiple R-squared:  0.3256, Adjusted R-squared:  0.3234 
## F-statistic: 143.9 on 1 and 298 DF,  p-value: < 0.00000000000000022
resumen$r.squared
## [1] 0.3256157

Coeficientes a y b

\[ Y = a + b \cdot x \]

Coeficientes \(a\) y \(b\) de la fórmula de regresión lineal simple ¿Cuál es el valor de los coeficientes?

coeficiente = coef(modelo)
a <- round(modelo$coefficients[1], 4)
b <- round(modelo$coefficients[2], 4)
paste ("Coeficienets abcisa publications= ", a, " pendiente rank = ", b)
## [1] "Coeficienets abcisa publications=  160086.8008  pendiente rank =  -606.7202"

Linea de tendencia

¿Cómo se observa la lónea de tendencia?

f_linea_tendencia_reg_lineal(datos,modelo)

Predicciones

x <- 100
pred0 <- a + b * x
paste("La predicción es en el lugar o ranking: ", round(pred0, 4))
## [1] "La predicción es en el lugar o ranking:  99414.7808"

¿Cuál es la predicción del ranking (rank) para un valor de publications igual a 15000?

x <- 15000
pred1 <- a + b * x
paste("La predicción es en el lugar o ranking: ", round(pred1, 4))
## [1] "La predicción es en el lugar o ranking:  -8940716.1992"

¿Cuál es la predicción del ranking (rank) para un valor de publications igual a 20000?

x <- 20000
pred2 <- a + b * x
paste("La predicción es en el lugar o ranking: ", round(pred2, 4))
## [1] "La predicción es en el lugar o ranking:  -11974317.1992"

¿Cuál es la predicción del ranking (rank) para un valor de publications igual a 25000?

x <- 250000
pred3 <- a + b * x
paste("La predicción es en el lugar o ranking: ", round(pred3, 4))
## [1] "La predicción es en el lugar o ranking:  -151519963.1992"

R Square

cor(datos)^2
##              publications      rank
## publications    1.0000000 0.3256157
## rank            0.3256157 1.0000000
resumen=summary(modelo)
resumen
## 
## Call:
## lm(formula = publications ~ rank, data = datos_bruto)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -115734  -27672     334   22493  318592 
## 
## Coefficients:
##              Estimate Std. Error t value            Pr(>|t|)    
## (Intercept) 160086.80    5844.92   27.39 <0.0000000000000002 ***
## rank          -606.72      50.58  -11.99 <0.0000000000000002 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 48820 on 298 degrees of freedom
## Multiple R-squared:  0.3256, Adjusted R-squared:  0.3234 
## F-statistic: 143.9 on 1 and 298 DF,  p-value: < 0.00000000000000022
resumen$r.squared
## [1] 0.3256157

Intrepretación

La interpretación de este caso comienza con el planteamiento de los datos de las distintas universidades seleccionadas para poder realizar la relación que tienen en base al lugar que ocupan en el entorno que fueron tomadas en cuenta y las publicaciones que realizan acerca de distintos estudios que realizan. Como resultados se presentará la covarianza, correlación de Pearson, al igual que un modelo de regresión lineal que tendrá consigo la implementación de la línea de tendencia en base a los datos ya mencionados anteriormente.

¿El modelo es eficiente por encima del 60% en Multiple R Suqare? , ¿se acepta o se descarta?

R= nuestro modelo no supera el porcentaje minimo de 60% para ser eficiente, pues solo llego a 32%, con lo cual queda descartado.

significa La rlacion entre las publicaciones que realiza cada universidad junto con el lugar que tiene designado en el ranking.

significa se diferencia la covarianza por que la correlacion es estandarizada y el rango es de -1 a 1.

significan el valor del coeficiente b representa la pendiente hacia arriba o hacia abajo y a representa la abcisa.

cuando x es 100:“La predicción es en el lugar o ranking: 99414.7808”

cuando x es 15000:“La predicción es en el lugar o ranking: -8940716.1992”

cuando x es 20000:“La predicción es en el lugar o ranking: -11974317.1992”

cuando x es 25000:“La predicción es en el lugar o ranking: -151519963.1992”