2/5/23
Representar visualmente distribución normal, distribución Z y distribución t Student con ggplot2 y visualize.
\[ f(x) = \frac{\frac{\gamma(gl + 1)}{2}}{\sqrt(gl \cdot \pi)\cdot \gamma(gl/2)} \cdot (1 + \frac{t^2}{gl})^{\frac{-(gl+1)}{2}} \therefore \]
\[ f(x) = \frac{\frac{gamma(gl + 1)}{2}}{\sqrt(gl \cdot \pi)\cdot gamma(gl/2)} \cdot (1 + \frac{t^2}{gl})^{\frac{-(gl+1)}{2}} \therefore \]
La función gamma en r se calcula mediante gamma() que asocia con el concepto factorial a los números reales y complejos. Es una integral … MMMmmm
\[ \gamma(z) = \int\limits_{0}^{\infty}t^{(z-1)}\cdot e^{-t}dt \]
¿Cuál es el valor de la densidad para un valor de t igual 0 en una t student con una muestra de 25 observaciones?
Más fácil y amigable
¿Cuál es el valor de la densidad para un valor de t igual -1 en una t student con una muestra de 25 observaciones?
Manualmente usando fórmula de densidad t student
Más fácil y amigable
Ahora bien varios valores para distintos valores de t entre negativos y positivos a partir de una secuencia desde \(-3\) a \(3\) con saltos de \(0.5\).
[1] -3.0 -2.5 -2.0 -1.5 -1.0 -0.5 0.0 0.5 1.0 1.5 2.0 2.5 3.0
[1] "Calculando manualmente con función gamma()"
f_dens_t <- gamma((gl + 1) / 2) / ((sqrt(gl * pi)) * gamma(gl / 2)) * (1 + t^2/gl)^(-(gl + 1) / 2)
f_dens_t [1] 0.007372313 0.021875639 0.057484744 0.128798749 0.237016120 0.346841620
[7] 0.394809388 0.346841620 0.237016120 0.128798749 0.057484744 0.021875639
[13] 0.007372313
Inicializando algunos datos
Valores de x y densidad con respecto a la distribución normal
xs <- rnorm(n = n, mean = media, sd = desv.std)
datos1 <- data.frame(x = xs, f.x = dnorm(x = xs, mean = media, sd = desv.std))
datos1 x f.x
1 79.58108 0.07950890
2 75.08528 0.04921949
3 70.62466 0.01375552
4 79.06928 0.07841803
5 76.83257 0.06528268
6 85.45399 0.04401187
7 75.43136 0.05255867
8 85.00820 0.04831479
9 78.00367 0.07367562
10 77.65938 0.07150799
11 81.63481 0.07563557
12 77.93627 0.07327349
13 82.81018 0.06813127
14 83.31679 0.06403032
15 76.98551 0.06652889
16 83.49189 0.06252166
17 82.97923 0.06681064
18 82.26046 0.07203739
19 84.48372 0.05337294
20 82.86108 0.06773906
21 77.94173 0.07330653
22 78.52836 0.07640626
23 86.09287 0.03797460
24 81.22056 0.07744621
25 77.77424 0.07226202
Se visualiza la densidad de cada valor de x
Valores de Z y densidad
zs <- sort(f.devolver.z(x = xs, media = media, desv = desv.std))
datos2 <- data.frame(x = zs, f.x = dnorm(x = zs, mean = 0, sd = 1))
datos2 x f.x
1 -1.87506732 0.06877759
2 -0.98294375 0.24609744
3 -0.91372727 0.26279335
4 -0.63348570 0.32641340
5 -0.60289728 0.33264444
6 -0.46812305 0.35753997
7 -0.44515196 0.36131011
8 -0.41274690 0.36636743
9 -0.41165301 0.36653266
10 -0.39926660 0.36837809
11 -0.29432715 0.38203129
12 -0.18614466 0.39209017
13 -0.08378436 0.39754448
14 0.24411143 0.38723105
15 0.32696208 0.37817787
16 0.45209183 0.36018696
17 0.56203647 0.34065637
18 0.57221651 0.33869530
19 0.59584645 0.33405320
20 0.66335826 0.32015161
21 0.69837769 0.31260832
22 0.89674396 0.26686472
23 1.00163971 0.24157396
24 1.09079746 0.22005933
25 1.21857396 0.18987301
Se visualiza la densidad de la normal Z . Cada valor de Z y su densidad en el eje de las x y la densidad en el eje de las y
Utilizar los valores de t en el eje de las xs con los mismos valores z en el eje de las x. Lo que varía es la densidad y por consecuencia la probabilidad acumulada.
x f.x
1 -1.87506732 0.07148845
2 -0.98294375 0.24106109
3 -0.91372727 0.25748287
4 -0.63348570 0.32089653
5 -0.60289728 0.32717893
6 -0.46812305 0.35240674
7 -0.44515196 0.35624488
8 -0.41274690 0.36140071
9 -0.41165301 0.36156930
10 -0.39926660 0.36345285
11 -0.29432715 0.37742253
12 -0.18614466 0.38775330
13 -0.08378436 0.39336875
14 0.24411143 0.38275875
15 0.32696208 0.37347365
16 0.45209183 0.35510099
17 0.56203647 0.33527563
18 0.57221651 0.33329186
19 0.59584645 0.32860106
20 0.66335826 0.31459597
21 0.69837769 0.30702312
22 0.89674396 0.26150120
23 1.00163971 0.23662751
24 1.09079746 0.21563069
25 1.21857396 0.18641744
Los valores de t en el eje de las x y la densidad de t Student en el eje de las y
curve(dnorm(x), from = min(zs), to = max(zs), lty = 1, xlab = "Valores de z", ylab = "Densidad Z", main = "Comparación de distribuciones")
legend("topleft", legend = "Distribución normal estándar Z", lty = 1)
lines(x = ts, dt(ts, df = n-1), lty = 2, col = "red")
legend("topright", legend = "Distribución t de Student", lty = 2, col = "red", bty = "n")Normal z al 50%
t student al 50%
¿Cuál es la probabilidad acumulada de t a la izquierda cuando t vale 0?
¿Cuál es la probabilidad acumulada de t a la dereha cuando t vale 0?
¿Cuál es la probabilidad acumulada para un valor de t = 1 por la derecha a una muestra de 25?
¿Cuál es la probabilidad acumulada para un valor de t = 1 por la izquierda a una muestra de 25?
Los valores de t (variable aleatoria) se comportan igual que los valores de t con media igual a 0 y los valores dispersos alrededor de 0.
La curva de la distribución t es mas achatada con respeto a la distribución Z.
Si son diferentes curvas entonces lo que cambia son los valores de la densidad entre la distribución Z y la distribución t Student.
Y si cambian los valores de la densidad por consecuencia cambiarán sus probabilidades o áreas bajo la curva.
Aunque los valores en el eje x son los mismos para ambas distribuciones, la densidad de probabilidad acumulada puede variar entre ellas, especialmente en los extremos de la distribución. Sin embargo, la ubicación y el ordenamiento de los valores en el eje x deberían ser los mismos para ambas distribuciones. https://chat.openai.com/
Con respecto a la desviación estándar. La distribución normal estándar (z) tiene una desviación estándar de 1, ya que esta distribución está estandarizada para tener una media de cero y una desviación estándar de uno.
Por otro lado, la distribución t de Student tiene una desviación estándar que depende del tamaño de la muestra (n).
Para estimar intervalos de confianza
Para contrastar hipótesis
¿Cómo obtener un valor de t de una t student?; usando qt()
Este valor t es el punto crítico en donde están los intervalos de confianza, izquierda, derecha o ambas.
[1] -1.317836 -1.710882 -2.492159
[1] 1.317836 1.710882 2.492159
[1] -1.710882 -2.063899 -2.796940
[1] 1.710882 2.063899 2.796940
tabla_confianza <- data.frame(confianza = confianza, t1.izq = t1.izq, t2.der = t2.der, t.ambas.izq, t.ambas.der)
tabla_confianza confianza t1.izq t2.der t.ambas.izq t.ambas.der
1 0.90 -1.317836 1.317836 -1.710882 1.710882
2 0.95 -1.710882 1.710882 -2.063899 2.063899
3 0.99 -2.492159 2.492159 -2.796940 2.796940
El valor de la probabilidad y/o intervalo de confianza estará por encima (derecha) del área sombreada.
“lower” es izquierda
t1 = tabla_confianza$t1[1]
visualize.t(stat = c(t1), df = gl, section = "lower") +
text(0, 0.2, expression("90%"), col = "red") integer(0)
El valor de la probabilidad y/o intervalo de confianza estará por debajo (izquierda) del área sombreada.
“upper” es derecha
t2 = tabla_confianza$t2[1]
visualize.t(stat = c(t2), df = gl, section = "upper") +
text(0, 0.2, expression("90%"), col = "red") integer(0)
“tails” es ambas colas
t1 = tabla_confianza$t.ambas.izq[1]
t2 = tabla_confianza$t.ambas.der[1]
visualize.t(stat = c(t1, t2), df = gl, section = "tails")+
text(0, 0.2, expression("90%"), col = "red") integer(0)
El valor de la probabilidad y/o intervalo de confianza estará por encima (derecha) del área sombreada.
“lower” es izquierda
t1 = tabla_confianza$t1[2]
visualize.t(stat = c(t1), df = gl, section = "lower") +
text(0, 0.2, expression("95%"), col = "red") integer(0)
El valor de la probabilidad y/o intervalo de confianza estará por debajo (izquierda) del área sombreada.
“upper” es derecha
t2 = tabla_confianza$t2[2]
visualize.t(stat = c(t2), df = gl, section = "upper") +
text(0, 0.2, expression("95%"), col = "red") integer(0)
“tails” es ambas colas
t1 = tabla_confianza$t.ambas.izq[2]
t2 = tabla_confianza$t.ambas.der[2]
visualize.t(stat = c(t1, t2), df = gl, section = "tails")+
text(0, 0.2, expression("95%"), col = "red") integer(0)
El valor de la probabilidad y/o intervalo de confianza estará por encima (derecha) del área sombreada.
“lower” es izquierda
t1 = tabla_confianza$t1[3]
visualize.t(stat = c(t1), df = gl, section = "lower") +
text(0, 0.2, expression("99%"), col = "red") integer(0)
El valor de la probabilidad y/o intervalo de confianza estará por debajo (izquierda) del área sombreada.
“upper” es derecha
t2 = tabla_confianza$t2[3]
visualize.t(stat = c(t2), df = gl, section = "upper") +
text(0, 0.2, expression("99%"), col = "red") integer(0)
“tails” es ambas colas
t1 = tabla_confianza$t.ambas.izq[3]
t2 = tabla_confianza$t.ambas.der[3]
visualize.t(stat = c(t1, t2), df = gl, section = "tails")+
text(0, 0.2, expression("99%"), col = "red") integer(0)
Se puede obtener cualquier valor de t cola izquierda o derecha o ambas a cualquier nivel de confianza y cualquier valor de n
¿cuáles son los valores de t a dos colas (derecha e izquierda) con un nivel de confianza a un 98% en un muestra de n = 30, es decir gl = (n-1) = 29 ?
confianza_str = paste(confianza * 100, "%")
visualize.t(stat = c(t1, t2), df = gl, section = "tails")+
text(0, 0.2, confianza_str , col = "red") integer(0)
¿cuáles son los valores de t a dos colas (derecha e izquierda) con un nivel de confianza a un 99% en un muestra de n = 30, es decir gl = (n-1) = 29 ?
confianza_str = paste(confianza * 100, "%")
visualize.t(stat = c(t1, t2), df = gl, section = "tails")+
text(0, 0.2, confianza_str, col = "red") integer(0)
¿cuáles son los valores de t a dos colas (derecha e izquierda) con un nivel de confianza a un 95% en un muestra de n = 30, es decir gl = (n-1) = 29 ?
confianza_str = paste(confianza * 100, "%")
visualize.t(stat = c(t1, t2), df = gl, section = "tails") +
text(0, 0.2, confianza_str, col = "red") integer(0)
¿cuáles son los valores de t a dos colas (derecha e izquierda) con un nivel de confianza a un 90% en un muestra de n = 30, es decir gl = (n-1) = 29 ?
confianza_str = paste(confianza * 100, "%")
visualize.t(stat = c(t1, t2), df = gl, section = "tails")+
text(0, 0.2, confianza_str, col = "red") integer(0)
¿cuál es el valor de t por la derecha con un nivel de confianza a un 90% en un muestra de n = 30, es decir gl = (n-1) = 29 ?
confianza_str = paste(confianza * 100, "%")
visualize.t(stat = c(t2), df = gl, section = "upper") +
text(0, 0.2, confianza_str, col = "red") integer(0)
¿cuál es el valor de t por la izquierda con un nivel de confianza a un 95% en un muestra de n = 30, es decir gl = (n-1) = 29 ?
confianza_str = paste(confianza * 100, "%")
visualize.t(stat = c(t1), df = gl, section = "lower")+
text(0, 0.2, confianza_str, col = "red") integer(0)