Grados de Liberdad

number of independent pieces of information we have

Entre mÔs datos tengamos mÔs piezas de información tendremos. Cada calculo, por ejemplo la media, estÔn usando una pieza de información independiente.

En estadística, grados de libertad de un estadístico calculado en base a n datos, se refiere al número de cantidades independientes que se necesitan en su cÔlculo, menos el número de restricciones que unen a las observaciones y el estadístico. Simbólicamente se representa por gl.

En matemƔticas no hay grados de libertad, en economƭa hay muchos, por eso el ceteris paribus

TamaƱo del efecto

Hace alusión a la importancia de las diferencias dada la variabilidad de los mismos, con alta variabilidad diferencias significativas pueden deberse a variabilidad en la muestra (error tipo II)

Corrección de Bessel

Consiste en el uso de n āˆ’ 1 en lugar de n en la fórmula de la varianza muestral y la desviación tĆ­pica muestral (siendo n el nĆŗmero de observaciones de una muestra). Corrige el sesgo estadĆ­stico en la estimación de la varianza poblacional, y algunos (pero no todos) los sesgos en la estimación de la desviación estĆ”ndar poblacional.

Esto sucede cuando la media muestral no es exactamente la poblacional.

# bessel<-NULL
simbessel<-NULL
simnobessel<-NULL
set.seed(1)
pob<-rnorm(1000,5,10)
for (n in c(20,30,40,50,60)){
for(i in 1:500){
muestra<-sample(pob,n,replace = FALSE)

bessel<-var(muestra)
nobessel<-var(muestra)*((length(muestra)-1)/length(muestra))

simbessel<-rbind(simbessel,c(n,"bessel", bessel))
simnobessel<-rbind(simnobessel,c(n,"nobessel", nobessel))


# pop.var <- function(x){var(x)*(length(x)-1)/length(x)}
# por.var(muestra)
}}

sim<-rbind(simbessel,simnobessel)
sim<-data.frame(sim)
names(sim)<-c("n","metodo","stat")
head(sim)
##    n metodo             stat
## 1 20 bessel 120.224102348763
## 2 20 bessel 145.649218537388
## 3 20 bessel 101.162463527616
## 4 20 bessel 133.222927529988
## 5 20 bessel 121.746557925012
## 6 20 bessel   60.35282897507
sim$stat<-as.numeric(as.character(sim$stat))

library(ggplot2)

p <- ggplot(sim, aes(n,stat,fill=metodo))
p + geom_boxplot() 

La fuente del sesgo

Supongamos que la media de cierta población es 2050, pero el estadístico no la conoce. Por lo tanto, la estima basado en una pequeña muestra elegida al azar de entre la población:

\[\displaystyle 2051,\quad 2053,\quad 2055,\quad 2050,\quad 2051\]

Podemos calcular la media muestral:

\[{\displaystyle {\frac {1}{5}}\left(2051+2053+2055+2050+2051\right)=2052}\]

Esto puede servir como un estimador insesgado de la media poblacional, desconocida. Ahora, nos enfrentamos al problema de estimar la varianza poblacional. O sea, de estimar el promedio entre el cuadrado de las desviaciones de 2050. Si supiƩramos que la media poblacional es de 2050, entonces podrƭamos proceder de la siguiente forma:

\[{\displaystyle {\begin{aligned}{}&{\frac {1}{5}}\left[(2051-2050)^{2}+(2053-2050)^{2}+(2055-2050)^{2}+(2050-2050)^{2}+(2051-2050)^{2}\right]\\=\;&{\frac {36}{5}}=7.2\end{aligned}}}\]

Pero nuestro estimador de la media poblacional es la media muestral 2052, no 2050. Por ende, sólo podemos hacer:

\[{\displaystyle {\begin{aligned}{}&{\frac {1}{5}}\left[(2051-2052)^{2}+(2053-2052)^{2}+(2055-2052)^{2}+(2050-2052)^{2}+(2051-2052)^{2}\right]\\=\;&{\frac {16}{5}}=3.2\end{aligned}}}\]

El estimador de la varianza poblacional usando la media muestral, Āæes siempre menor que la verdadera varianza poblacional? SĆ­, excepto cuando la media muestral sea igual a la media poblacional.

Distribuciones

Distribución t

La distribución de Student fue descrita en 1908 por William Sealy Gosset. Gosset trabajaba en una fÔbrica de cerveza, Guinness, que prohibía a sus empleados la publicación de artículos científicos debido a una difusión previa de secretos industriales. De ahí que Gosset publicase sus resultados bajo el seudónimo de Student.

Existe una T no estandarizada, con tres paramétros, uno de localizacíón \(\mu\), uno de escala \(\sigma\) y los grados de libertad.

x <- seq(-5, 5, length=100)
hx <- dnorm(x)

degf <- c(1:20)
# colors <- c("red", "blue", "darkgreen", "gold", "black")
palette <- colorRampPalette(colors=c("#0000FF", "#FF0000"))
colors <- palette(20)


labels<-  c("df=1", "df=5", "df=10", "df=15","df=20", "normal")

plot(x, hx, type="l", lty=2, xlab="x value",
  ylab="Density", main="Comparación de distribuciones")

for (i in 1:20){
  lines(x, dt(x,degf[i]), lwd=2, col=colors[i])
}

legend("topright", inset=.05, title="Distribuciones",
  labels, lwd=2, lty=c(1, 1, 1, 1, 1,2), col=c(colors[c(1,5,10,15,20)],"black"))

\(\chi^2\) cuadrado

La distribución \(\chi^2\) tiene muchas aplicaciones en inferencia estadĆ­stica. La mĆ”s conocida es la de la denominada prueba χ² utilizada como prueba de independencia y como prueba de bondad de ajuste y en la estimación de varianzas. Pero tambiĆ©n estĆ” involucrada en el problema de estimar la media de una población normalmente distribuida y en el problema de estimar la pendiente de una recta de regresión lineal, a travĆ©s de su papel en la distribución t de Student.

x <- seq(-5, 30, length=100)
hx <- dnorm(x)

degf <- c(1:20)
# colors <- c("red", "blue", "darkgreen", "gold", "black")
palette <- colorRampPalette(colors=c("#000000", "#0000FF"))
colors <- palette(20)


labels<-  c("df=1", "df=5", "df=10", "df=15","df=20", "normal")

plot(x, hx, type="l", lty=2, xlab="x value",
  ylab="Density", main="Comparación de distribuciones")

for (i in 1:20){
  lines(x, dchisq(x,degf[i]), lwd=2, col=colors[i])
}

legend("topright", inset=.05, title="Distribuciones",
  labels, lwd=2, lty=c(1, 1, 1, 1, 1,2), col=colors[c(1,5,10,15,20,0)])

F

Una variable aleatoria de distribución F se construye como el siguiente cociente:

\[{\displaystyle F={\frac {U_{1}/d_{1}}{U_{2}/d_{2}}}}\] donde

U1 y U2 siguen una distribución chi-cuadrado con d1 y d2 grados de libertad respectivamente, y U1 y U2 son estadísticamente independientes.

La distribución F tendrÔ grados dos parÔmetros, los grados de libertad del numerador y del denominador.

curve(expr = df(x = x, df1 = 3, df2 = 10),
      xlab = "", ylab = "", main = "Función de densidad F fijando gl2 = 10",
      lwd = 2, col = 1, xlim = c(0, 4),
      ylim = c(0, 1))

for (i in 1:5) {
  curve(expr = df(x = x, df1  = c(5, 15, 30, 60, 80)[i], 
                  df2=10),
        lwd = 2, col = (2:6)[i], add = TRUE)
}  
legend(x = "topright", legend = c("df1 = 3", "df1 = 5",
                                  "df1 = 15", "df1 = 30",
                                  "df1 = 60", "df1 = 80"),
       lwd = 2, col = 1:6)

# Plot 2: Fix df1 and changing df2
curve(expr = df(x = x, df1 = 2, df2 = 3),
      xlab = "", ylab = "", main = "Función de densidad F fijando gl1 = 2",
      lwd = 2, col = 1, xlim = c(0, 4),
      ylim = c(0, 1))

for (i in 1:5) {
  curve(expr = df(x = x, df1  = 2, 
                  df2=c(5, 15, 30, 60, 80)[i]),
        lwd = 2, col = (2:6)[i], add = TRUE)
} 
legend(x = "topright", legend = c("df2 = 3", "df2 = 5",
                                  "df2 = 15", "df2 = 30",
                                  "df2 = 60", "df2 = 80"),
       lwd = 2, col = 1:6)

Gamma

# Plot 1: Fix shape and changing rate
curve(expr = dgamma(x = x, shape = 2, rate = 2),
      xlab = "", ylab = "", main = "Gamma PDFs with r = 2",
      lwd = 2, col = 1, xlim = c(0, 2),
      ylim = c(0, 8))

for (i in 1:5) {
  curve(expr = dgamma(x = x, shape = 2, 
                      rate = c(3, 5, 10, 15, 20)[i]),
        lwd = 2, col = (2:6)[i], add = TRUE)
}

legend(x = "topright", legend = c("Rate = 2", "Rate = 3",
                                  "Rate = 5", "Rate = 10",
                                  "Rate = 15", "Rate = 20"),
       lwd = 2, col = 1:6)

curve(expr = dgamma(x = x, shape = 2, rate = 2),
      xlab = "", ylab = "", main = "Gamma PDFs with lambda = 2",
      lwd = 2, col = 1, xlim = c(0, 20),
      ylim = c(0, 0.8))

for (i in 1:5) {
  curve(expr = dgamma(x = x, shape = c(3, 5, 10, 15, 20)[i], 
                      rate = 2),
        lwd = 2, col = (2:6)[i], add = TRUE)
}
legend(x = "topright", legend = c("Shape = 2", "Shape = 3",
                                  "Shape = 5", "Shape = 10",
                                  "Shape = 15", "Shape = 20"),
       lwd = 2, col = 1:6)