summary(cars)
## speed dist
## Min. : 4.0 Min. : 2.00
## 1st Qu.:12.0 1st Qu.: 26.00
## Median :15.0 Median : 36.00
## Mean :15.4 Mean : 42.98
## 3rd Qu.:19.0 3rd Qu.: 56.00
## Max. :25.0 Max. :120.00
#Ejercicio bateos vs runs
#Datos
equipos <- c("Texas","Boston","Detroit","Kansas","St.","New_S.","New_Y.",
"Milwaukee","Colorado","Houston","Baltimore","Los_An.","Chicago",
"Cincinnati","Los_P.","Philadelphia","Chicago","Cleveland","Arizona",
"Toronto","Minnesota","Florida","Pittsburgh","Oakland","Tampa",
"Atlanta","Washington","San.F","San.I","Seattle")
numero_bateos <- c(5659, 5710, 5563, 5672, 5532, 5600, 5518, 5447, 5544, 5598,
5585, 5436, 5549, 5612, 5513, 5579, 5502, 5509, 5421, 5559,
5487, 5508, 5421, 5452, 5436, 5528, 5441, 5486, 5417, 5421)
runs <- c(855, 875, 787, 730, 762, 718, 867, 721, 735, 615, 708, 644, 654, 735,
667, 713, 654, 704, 731, 743, 619, 625, 610, 645, 707, 641, 624, 570,
593, 556)
datos <- data.frame(equipos,numero_bateos,runs)
head(datos)
## equipos numero_bateos runs
## 1 Texas 5659 855
## 2 Boston 5710 875
## 3 Detroit 5563 787
## 4 Kansas 5672 730
## 5 St. 5532 762
## 6 New_S. 5600 718
#Representacion grafica de las observaciones
library(ggplot2)
ggplot(data = datos, mapping = aes(x = numero_bateos, y = runs)) +
geom_point(color = "firebrick", size = 2) +
labs(title = 'Diagrama de dispersion', x = 'numero de bateos') +
theme_bw() +
theme(plot.title = element_text(hjust = 0.5))
#Correlacion y significancia de la correlación
#Lo que hizo la profe
cor.test(x = datos$numero_bateos, y = datos$runs, method = "pearson")
##
## Pearson's product-moment correlation
##
## data: datos$numero_bateos and datos$runs
## t = 4.0801, df = 28, p-value = 0.0003388
## alternative hypothesis: true correlation is not equal to 0
## 95 percent confidence interval:
## 0.3209675 0.7958231
## sample estimates:
## cor
## 0.610627
#?Es adecuado Pearson??Por que?
#?Tiene sentido generar un MRLS?
#Correlacion y significancia de la correlación
# X, Y son los datos, selecciona bien el X
# Calcular el coeficiente de correlación de Pearson
X <- numero_bateos
Y <- runs
r <- cor(X, Y)
# Número de observaciones
n <- length(X)
# Calcular el estadístico t
t_statistic <- (r * sqrt(n - 2)) / sqrt(1 - r^2)
# Calcular los grados de libertad
df <- n - 2
# Calcular el valor p para la prueba de hipótesis (prueba t de dos colas)
p_value <- 2 * (1 - pt(abs(t_statistic), df))
# Imprimir resultados
cat("Coeficiente de correlación de Pearson (r):", r, "\n")
## Coeficiente de correlación de Pearson (r): 0.610627
cat("Estadístico t:", t_statistic, "\n")
## Estadístico t: 4.080136
cat("Valor p:", p_value, "\n")
## Valor p: 0.0003388351
# Hipótesis para la prueba de correlación de Pearson:
# H0: No hay correlación lineal significativa (rho = 0)
# H1: Hay correlación lineal significativa (rho ≠ 0)
# Si el valor p es menor que el nivel de significancia (alpha), se rechaza H0.
# Si el valor p es mayor que alpha, no se rechaza H0.
# Decisión basada en el valor p
alpha <- 0.05 # Nivel de significancia
if (p_value < alpha) {
cat("Se rechaza la hipótesis nula: Existe una correlación significativa.\n")
} else {
cat("No se rechaza la hipótesis nula: No hay evidencia suficiente de correlación significativa.\n")
}
## Se rechaza la hipótesis nula: Existe una correlación significativa.
#Modelo de regresion lineal simple
modelo_lineal <- lm(runs ~ numero_bateos, datos)
# lm() devuelve el valor de la variable y para x=0 (interseccion) junto
# con la pendiente de la recta.
# Para ver la informacion del modelo se requiere summary().
summary(modelo_lineal)
##
## Call:
## lm(formula = runs ~ numero_bateos, data = datos)
##
## Residuals:
## Min 1Q Median 3Q Max
## -125.58 -47.05 -16.59 54.40 176.87
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -2789.2429 853.6957 -3.267 0.002871 **
## numero_bateos 0.6305 0.1545 4.080 0.000339 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 66.47 on 28 degrees of freedom
## Multiple R-squared: 0.3729, Adjusted R-squared: 0.3505
## F-statistic: 16.65 on 1 and 28 DF, p-value: 0.0003388
#Son los parametros significativamente distintos de cero? Tiene importancia en el modelo? #Que indica el R^2? El R^2 indica qué tan bien se ajusgta un modelo de regresión lineal a los datos observados, a este R^2 se le denomina coeficiente de determinación. Si este coeficiente de determinación es igual o mayor al 70% significa qye el modelo es aceptable. Si este R^2 es bastante cercano a 1 indica que el modelo es muy bueno para predecir y ajustarse a los datos.
#¿Es significativo el modelo?, ¿se puede aceptar?, ¿en que estadistico te basas? Supongamos que tenemos un modelo de regresión lineal simple:
\[Y = \beta_0 + \beta_1 X + \epsilon\]
Aquí, Y es la variable dependiente, X es la variable independiente, \(\beta_0\) es el intercepto, \(beta_1\) es el coeficiente de la pendiente, y \(\epsilon\) es el término de error.
# Cargar librerías necesarias
library(knitr)
# Crear un data frame con los valores
tabla <- data.frame(
Cálculo = c("Número de Observaciones (n)", "Número de Variables Independientes (k)",
"Suma de Cuadrados Total (SST)", "Suma de Cuadrados de Regresión (SSR)",
"Suma de Cuadrados Residual (SSE)", "Estadístico F", "Valor p de F", "Decisión sobre el Modelo"),
Fórmula = c("-", "-",
"$$\\sum_{i=1}^{n}(Y_i - \\bar{Y})^2$$",
"$$\\sum_{i=1}^{n}(\\hat{Y}_i - \\bar{Y})^2$$",
"$$\\sum_{i=1}^{n}(Y_i - \\hat{Y}_i)^2$$",
"$$\\frac{SSR/k}{SSE/(n-k-1)}$$", "$$1 - F(k, n-k-1)$$",
"Si $p_v < alpha$, rechazar $H_0$; si no, no rechazar"),
Valor = c("n (Ejemplo: 10)", "k (Ejemplo: 1)",
"SST", "SSR", "SSE", "F", "p_v", "Significativo o No significativo")
)
# Imprimir la tabla en formato HTML
kable(tabla, format = "html", align = "l", caption = "Tabla de Cálculos y Fórmulas de Regresión Lineal")
| Cálculo | Fórmula | Valor |
|---|---|---|
| Número de Observaciones (n) |
|
n (Ejemplo: 10) |
| Número de Variables Independientes (k) |
|
k (Ejemplo: 1) |
| Suma de Cuadrados Total (SST) | \[\sum_{i=1}^{n}(Y_i - \bar{Y})^2\] | SST |
| Suma de Cuadrados de Regresión (SSR) | \[\sum_{i=1}^{n}(\hat{Y}_i - \bar{Y})^2\] | SSR |
| Suma de Cuadrados Residual (SSE) | \[\sum_{i=1}^{n}(Y_i - \hat{Y}_i)^2\] | SSE |
| Estadístico F | \[\frac{SSR/k}{SSE/(n-k-1)}\] | F |
| Valor p de F | \[1 - F(k, n-k-1)\] | p_v |
| Decisión sobre el Modelo | Si \(p_v < alpha\), rechazar \(H_0\); si no, no rechazar | Significativo o No significativo |