Utilizar funciones de una distribución T Student para calcular función de densidad, probabilidades e identificar valores de t e intervalo de confianza.
En el sustento teórico, se da a conocer un panorama de la importancia de la distribución T Student comparando la campana de gauss de una distribución normal estĆ”ndar y distribuciones t; se identifica la fórmula de densidad t y se mencionan las funciones de paquete base de R: dt(), pt(), qt y rt() y la función xpt() y visualize.t de la librerĆa mosaic y visualize() para graficar T Student y para el tratamiento de este tipo de distribuciones. . [@t_distribution_t_nodate]
De igual forma el caso ofrece visualización de T Student mediante grĆ”ficos programados usando funciones de la librerĆa ggplot2().
En el desarrollo, se resuelven e interpretan algunos ejercicios con datos bajo la distribución T Student,, se identifican intervalos de confianza con de una distribución T Student.
Se cargan librerĆas usadas a lo largo del caso.
library(dplyr)
library(mosaic)
library(ggplot2) # Para grƔficos
library(cowplot) #ImÔgenes en el mismo renglón
library(visualize)
options(scipen=999) # Notación normal
source ("https://raw.githubusercontent.com/rpizarrog/probabilidad-y-estad-stica/master/2023/funciones/funciones%20para%20disribuciones%20de%20probabilidad.R")
Existe la fórmula para calcular el valor de t en la distribuciones T Student.. Se usa la siguiente fórmula para transformar distribuciones normales a t.
\[ t = \frac{(\bar{x}-\mu)}{s / \sqrt{n}} = \frac{\text{diferencia a probar}}{\text{ee =error estƔndar}} \]
\[ \bar{x} = \text{media muestral} \\ \mu = \text{media poblacional} \\ s = \text{desviación estÔndar de la muestra} \\ n = \text{número de elementos de la muestra} \]
Para muestras aleatorias de tamaño \(n\) desde una población normal[@mendenhall2010].
El numerador representa la diferencia a probar y el denominador la desviación estÔndar de la diferencia llamado también Error EstÔndar.
En esta fórmula \(t\) representa al valor estadĆstico que se estarĆ” buscando \(\bar{x}\) es el promedio de la variable analizada de la muestra, y \(\mu\)es el promedio poblacional de la variable a estudiar.
En el denominador se tiene a \(s\) como representativo de la desviación estÔndar de la muestra y \(n\) el tamaño de ésta.
La distribución t es mÔs útil para tamaños muestrales pequeños, cuando la desviación estÔndar de la población no se conoce o ambos en comparación con la distribución normal estÔndar.
La T Student tiene estas caracterĆsticas:
Tiene forma de montĆculo o campana de gauss y es simĆ©trica alrededor de \(t = 0\), igual que \(z\) la normal estĆ”ndar.
Es mĆ”s variable que \(z\), con ācolas mĆ”s pesadasā; esto es, la curva \(t\) no aproxima al eje horizontal con la misma rapidez que \(z\). Esto es porque el estadĆstico \(t\) abarca dos cantidades aleatorias, \(\bar{x}\) y \(s\), en tanto que el estadĆstico \(z\) tiene sólo la media muestral, \(\bar{x}\). Ver curvas de T Student y Normal EstĆ”ndar \(z\).
La forma de la distribución \(t\) depende del tamaño muestral \(n\). A medida que \(n\) aumenta, la variabilidad de \(t\) disminuye porque la estimación \(s\) de \(\sigma\) estÔ basada en mÔs y mÔs información.
Cuando \(n\) sea infinitamente grande, las distribuciones \(t\) y \(z\) son idƩnticas. [@mendenhall2010].
Al igual que otras distribuciones como la binomial, Poisson uniforme, normal, entre otras, se disponen de las funciones dt(), pt(), qt() y rt() para el tratamiento de distribuciones T Student.
El nĆŗmero de grados de libertad es igual al tamaƱo de la muestra \(n\) (nĆŗmero de observaciones independientes) menos 1 . [@estadĆstica2016]
\[ gl = df = (n ā 1) \\ \therefore \\ df = \text{grados de libertad} \\ n = \text{total de elementos de la muestra de t} \]
El divisor \((n-1)\) en la fórmula para la varianza muestral \(s^2 = \sum(\frac{x_i-\bar{x}}{n-1})\) se denomina número de grados de libertad (df) asociado con \(s^2\) determina la forma de la distribución \(t\). El origen del término grados de libertad es teórico y se refiere al número de desviaciones independientes elevadas al cuadrado en \(s^2\) existentes para estimar \(\sigma^2\).
Estos grados de libertad pueden cambiar para diferentes aplicaciones y como especifican la distribución t correcta a usar, es necesario recordar que hay que calcular los grados de libertad correctos para cada aplicación. [@mendenhall2010].
Si la muestra tiene un valor de \(t\) en el rango del nivel de confianza entonces se acepta la hipótesis de lo contrario de rechaza.
Calcular el valor de t.
Se aplica una prueba de autoestima a 25 personas quienes obtienen una calificación promedio de 62.1 con una desviación estÔndar de 5.83. Se sabe que el valor correcto de la prueba debe ser mayor a 60. Calcular el valor de t.
\[ n=25; \bar{x}=62.1; s=5.83; \mu=60 \]
n <- 25; media.m <- 62.1; desv.m <- 5.83; media.p <- 60
t <- f.devolver.t(media.muestra = media.m, media.pob = media.p, desv.muestra = desv.m, n = n)
t
## [1] 1.801029
Se tiene 1.8010 como valor de t pero ¿qué significa ese valor?.
En la grĆ”fica siguiente significa el punto que hace la diferencia entre el color morado y amarillo y se interpreta para comparar con un punto crĆtico y evaluar intervalos e hipótesis.
xpt <- xpt(q = t , df = n-1, xlab = "t's")
xpt
## [1] 0.957861
El valor de xpt= 0.957861 es el Ɣrea bajo la curva a un valor de t de 1.8010 o sea 95.78%
Representa el Ɣrea bajo la curva desde su parte izquierda hasta el punto 1.8010.
pt(q = 1.8010 , df = 24)
## [1] 0.9578586
Se obtiene mediante función qt() de R el valor del punto crĆtico al 95% de confianza. Puede ser para cualquier nivel de confianza 0.90, 0.95, 0.99 o cualquier otro.
Al igual que en distribución normal de z se obtiene \(\alpha = 1 - 0.95\) y el valor critico serĆa \(\alpha/2\).
t.critico <- abs(qt(p = (1 - 0.95) / 2, df = n-1))
t.critico
## [1] 2.063899
Si el valor de t \(t = \frac{(\bar{x}-\mu)}{s / \sqrt{n}} = \frac{\text{diferencia a probar}}{\text{ee =error estÔndar}}\) estÔ dentro mayor y menor que el valor de t.critico o que estÔ dentro de la región de aceptación, entonces se interpreta que estÔ dentro de un intervalo de confianza o región de aceptación en relación a la curva y se acepta una tentativa hipótesis de lo contrario cae en región de no aceptación y se rechaza. Se verÔn las pruebas de hipótesis en casos mÔs adelante.
Se utiliza función visualize() de librerĆa previamente instalada
visualize.t(stat = c(-t.critico, t.critico), df = 24, section = "tails") +
abline(v = t, col = "red", lwd = 3, lty = 2) +
text(0, 0.2, expression(0.95), col = "black")
## integer(0)
Se presenta una muestra pequeña de 28 valores, se generan valores de una secuencia alrededor de cero, esto se hace porque la distribución T Student, los valores de la variable aleatoria \(x\) se centran con media igual a cero \(0\) y por supuesto desviación igual a \(1\).
Se construyen grƔficas:
g1 es una distribución normal estÔndar,
g2 distribución t student con 27 grados de libertad,
g3 t student con 5 grados de libertad y
Se visualizan las tres grÔficas con una forma de campana o gauss, simétricas, solo que la distribución \(t\) se achata en relación a la distribución normal estÔndar \(z\) y se observa diferencia de dispersión con los grados de libertad en las grÔficas \(t\).
# Grafica Normal Z con media igual a 0 y desv igual a 1
n <- 25
x <- seq(from = -3, to = 3, length.out = n)
media <- 0 #, round(mean(x),2)
desv <- 1 #round(sd(x), 2)
dens.z <- dnorm(x = x, mean = media, sd = desv)
tabla <- data.frame(x = x, y = dens.z)
#tabla.normal
g1 <- ggplot(data = tabla, aes(x = x, y = dens.z)) +
geom_point(colour = "red") +
geom_line(colour = 'blue') +
ggtitle("Normal EstƔndar(Z)", subtitle = paste("media = ", media, "sd=", desv)) +
labs(x = "Z's", y= "Densidad")
# Distribución T Aproximada a Distribución t con 24 grados de libertad
denst.24 <- dt(x = x, df = n - 1)
# Se vuelve a generar la tabla
tabla <- data.frame(x = x, y = denst.24)
g2 <- ggplot(data = tabla, aes(x = x, y = denst.24)) +
geom_point(colour = "red") +
geom_line(colour = 'green') +
ggtitle("T Student", subtitle = paste(n-1, " grados de libertad")) +
labs(x = "t's", y= "Densidad")
# Distribución T Aproximada a Distribución t con 5 grados de libertad
denst.5 <- dt(x = x, df = 5)
# Se vuelve a generar la tabla nuevamente
tabla <- data.frame(x = x, y = denst.5)
g3 <- ggplot(data = tabla, aes(x = x, y = denst.5)) +
geom_point(colour = "red") +
geom_line(colour = 'yellow') +
ggtitle("T Student", subtitle = paste(5, " grados de libertad")) +
labs(x = "t's", y= "Densidad")
plot_grid(g1, g2, g3, nrow = 1, ncol = 3)
Construyendo una tabla con las tres distribuciones incluyendo los valores de \(z's; t's\) y de las densidades juntas
# GrƔficas juntas con una misma tabla
tabla <- data.frame(x, dens.z, denst.24, denst.5)
g4 <- ggplot(data = tabla)
g4 <- g4 + geom_line(aes(x= x, y = dens.z), colour = "blue")
g4 <- g4 + geom_line(aes(x= x, y = denst.24), colour = "green")
g4 <- g4 + geom_line(aes(x= x, y = denst.5), colour = "yellow")
g4 <- g4 + ggtitle("Normal StƔndar(Z) y T Student", subtitle = paste("media = 0, sd = 1; ", (n-1)," y 5", " grados de libertad") )
g4 <- g4 + labs(x = "Z's y t's", y= "Densidad")
g4
\[ IC = \bar{x} \pm t \cdot \frac{S}{\sqrt{n}} \]
Determinar el intervalo de confianza con el valor real de t (t critico). El valor al 95% de los datos al rededor de la media, el resto 5% se reparte a ambos lados de la curva.
El valor de t.critico se calcula con la función qt() de la distribución t student()
\[ \alpha = (1 - 95\%) / 2 \\ \alpha = (0.05) / 2 = 0.025 \]
paste("n=", n)
## [1] "n= 25"
confianza <- 0.95
t.a <- qt(p = (1 - confianza) / 2, df = n-1) # dos colas
t.a
## [1] -2.063899
t.b <- qt(p = (1 - confianza) / 2, df = n-1, lower.tail = FALSE)
t.b
## [1] 2.063899
# Tomar cualquiera de las dos t t.a o t.b en su valor absoluto
t <- abs(t.b)
visualize.t(stat = c(-t, t), df = n-1, section = "tails") +
text(0, 0.2, expression("95%"), col = "red")
## integer(0)
paste("Media muestra = ", media.m)
## [1] "Media muestra = 62.1"
paste("Desv. muestra", desv.m)
## [1] "Desv. muestra 5.83"
print("Intervalo de confianza al 95%")
## [1] "Intervalo de confianza al 95%"
paste("t.critico",t.critico)
## [1] "t.critico 2.06389856162803"
li <- media.m - t * (desv.m /sqrt(n) )
ls <- media.m + t * (desv.m /sqrt(n) )
print("intervalo")
## [1] "intervalo"
intervalo <- c(li, ls)
intervalo
## [1] 59.69349 64.50651
El intervalo de confianza 59.6934943, 64.5065057 sirve para evaluar si la media de la población estÔ en dicho intervalo de tal forma que se acepta o se rechaza una tentativa hipótesis en relación a la región o Ôrea de aceptación o si estÔ en el intervalo de confianza.
Se presentan varios ejercicios relacionados con al distribución T Student.
Un Gerente de mall desea estimar la cantidad media que gastan los clientes que visitan el centro comercial. Una muestra de 20 clientes revela las siguientes cantidades: \(48.16, 42.22, 46.82, 51.45, 23.78, 41.86, 54.86, 37.92, 52.64, 48.59, 50.82, 46.94, 61.83, 61.69, 49.17, 61.46, 51.35, 52.68, 58.84, 43.88\)
¿CuÔl es la mejor estimación de la media poblacional ?. Determine un intervalo de confianza de 95%.
cantidades <- c(48.16, 42.22, 46.82, 51.45, 23.78, 41.86, 54.86, 37.92, 52.64, 48.59, 50.82, 46.94, 61.83, 61.69, 49.17, 61.46, 51.35, 52.68, 58.84, 43.88)
media.m <- round(mean(cantidades),4)
desv.m <- round(sd(cantidades),)
n <- length(cantidades)
confianza <- 0.95
tabla <- data.frame(variables = c("n", "Grados libertad", "Media muestra", "Desv.Std muestra", "Media Pob.", "Confianza"), datos = c(n, (n-1), media.m, desv.m, NA, confianza))
tabla
## variables datos
## 1 n 20.000
## 2 Grados libertad 19.000
## 3 Media muestra 49.348
## 4 Desv.Std muestra 9.000
## 5 Media Pob. NA
## 6 Confianza 0.950
t <- qt(p = (1 - confianza) / 2, df = n-1) # dos colas
t <- abs(t)
t
## [1] 2.093024
li <- media.m - t * (desv.m /sqrt(n) )
ls <- media.m + t * (desv.m /sqrt(n) )
print("intervalo")
## [1] "intervalo"
intervalo <- c(li, ls)
intervalo
## [1] 45.13587 53.56013
La mejor estimación de una media poblacional es que tenga un valor entre 45.1358703 y 53.5601297 con un 95% de confianza.
visualize.t(stat = c(-t, t), df = n-1, section = "tails") +
text(0, 0.2, expression("95%"), col = "red")
## integer(0)
Un fabricante de llantas desea investigar la durabilidad de sus productos. Una muestra de \(10\) llantas para recorrer 50000 millas reveló una media muestral de \(0.32\) pulgadas de cuerda restante con una desviación estÔndar de \(0.09\) pulgadas. [@lind2015].
Construya un intervalo de confianza de \(95%\) para la media poblacional.
SerĆa razonable que el fabricante concluyera que despuĆ©s de 50000 millas la cantidad media poblacional de cuerda restante es de \(0.30\) pulgadas?
\[ n=10; \bar{x} = 0.32; S = 0.09; confianza = 95\%; \mu = 0.30 \]
media.m <- 0.32
desv.m <- 0.09
n <- 10
media.p = 0.30
confianza = 0.95
tabla <- data.frame(variables = c("n", "Grados libertad", "Media muestra", "Desv.Std muestra", "Media Pob.", "Confianza"), datos = c(n, (n-1), media.m, desv.m, media.p, confianza))
tabla
## variables datos
## 1 n 10.00
## 2 Grados libertad 9.00
## 3 Media muestra 0.32
## 4 Desv.Std muestra 0.09
## 5 Media Pob. 0.30
## 6 Confianza 0.95
t <- qt(p = (1 - confianza) / 2, df = n-1) # dos colas
t <- abs(t)
t
## [1] 2.262157
li <- media.m - t * (desv.m /sqrt(n) )
ls <- media.m + t * (desv.m /sqrt(n) )
print("intervalo")
## [1] "intervalo"
intervalo <- c(li, ls)
intervalo
## [1] 0.2556179 0.3843821
El intervalo de confianza con valores entre 0.2556179 y 0.3843821 con un 95% de confianza se interpreta que el fabricante a un 95% de confianza puede estar seguro de que la profundidad media de las cuerdas oscila entre 0.2556179 y 0.3843821. Como el valor de la media es 0.3 es posible a un 95% que la media de la población de 0.3 esté dentro de la región de confianza.
visualize.t(stat = c(-t, t), df = n-1, section = "tails") +
text(0, 0.2, expression("95%"), col = "red")
## integer(0)
Se ha obtenido una muestra de \(15\) vendedores de una Editorial para estimar el valor medio de las ventas por trabajador en la Empresa. La media y la desviación de la muestra ( en miles de euros ) son \(5\) y \(1.464\), respectivamente.
Se pide deducir el intervalo de confianza al 90%
media.m <- 5
desv.m <- 1.464
n <- 15
confianza <- 0.90
tabla <- data.frame(variables = c("n", "Grados libertad", "Media muestra", "Desv.Std muestra", "Media Pob.", "Confianza"), datos = c(n, (n-1), media.m, desv.m, NA, confianza))
tabla
## variables datos
## 1 n 15.000
## 2 Grados libertad 14.000
## 3 Media muestra 5.000
## 4 Desv.Std muestra 1.464
## 5 Media Pob. NA
## 6 Confianza 0.900
t <- qt(p = (1 - confianza) / 2, df = n-1) # dos colas
t <- abs(t)
t
## [1] 1.76131
li <- media.m - t * (desv.m /sqrt(n) )
ls <- media.m + t * (desv.m /sqrt(n) )
print("intervalo")
## [1] "intervalo"
intervalo <- c(li, ls)
intervalo
## [1] 4.334219 5.665781
El intervalo de confianza con valores entre 4.3342192 y 5.6657808 con un 90% de confianza se interpreta que la media de la población debe estar en ese intervalo.
visualize.t(stat = c(-t, t), df = n-1, section = "tails") +
text(0, 0.2, expression("90%"), col = "red")
## integer(0)