Fundamentos estadísticos

Meyer Guevara Mora

2018-03-07


Fundamentos estadísticos

Histogramas de frecuencia

Ejecute los siguientes comandos:

set.seed(2457) 
#Ejemplos que vamos a utilizar
vect1<-rnorm(45, 3.4, 1.3) #Creando un vector de datos.
vect2 <-c(3, 5, 4, 8, 7, 0, 12)
vect3 <-c(14, 8, 3, -1, 0, 12, 12, 11)
fact1 <-rep(c("A", "B", "C", "D", "E"), times = 9)
#¿Cuántos datos estamos creando?

Uno de los primeros aspectos en el trabajo de estadística es el analizar los datos que tenemos disponibles. Durante el diseño experimental formulamos la manera en que nuestro experimento se va a realizar, y consideramos los métodos estadísticos con los cuales vamos a darle respuesta a nuestros objetivos (si esto procede). En la fase de colecta de información, empezamos a construir bases de datos que nos van a permitir optimizar el proceso de manejo de la información.

Ya que tenemos algunos datos en nuestra base, podemos empezar a realizar el Análisis Exploratorio en el cual comenzamos a observar patrones o condiciones específicas, las cuales podríamos resolver experimental o modificando nuestra estrategia de análisis estadístico. Uno de las primeros aspectos que debemos realizar es el análisis de la distribución de frecuencias, el cual resume de forma gráfica o en tabla algunos aspectos de nuestras variables.

Para poder verificar la distribución de frecuencias de una variable en nuestra base de datos, debemos utilizar el paquete fdth, disponible en el entorno R (Recuerde que solo se instala una ocasión). En el paquete fdth se encuentra la función fdt. Revise en la función fdt las opciones disponibles

library(fdth)
?fdth

En el momento que se construye un histograma de frecuencias se debe tener algún criterio para el cálculo de la cantidad de intervalos de clase que vamos utilizar, por lo cual se puede utilizar la Regla de Sturges: \(k= 1 + 3.322(log10n)\). La función fdt también permite utilizar otras reglas para establecer la cantidad de intervalos, por ejemplo, “Scott” o “FD”. Además, es importante calcular la amplitud de los intervalos, lo cual se logra con la función \(w= R/K\); donde R es la diferencia entre la observación más pequeña y la más grande. En la práctica esto es más sencillo con fdt, la cual tambíen nos resume la frecuencia acumulada y relativa en una única tabla.

Algunas opciones gráficas que existen para los histogramas de frecuencia son los siguientes:

par(mfrow=c(2,2)) # particiona mi ventana grafica en 3x2.
dist <- fdt(vect1,breaks="Sturges") #Calcula las frecuencias ; X es la variable (vector) que vamos analizar.
hist(vect1, breaks = "Sturges") 
plot(dist, type="cfh")
plot(dist, type="cfp")
plot(dist, type="fh")

## Medidas de tendencia central

El otro aspecto elemental es comprender las medidas de tendencia central o de dispersión de una variable. Las medidas de tendencia central son:

  • Media aritmética: conocida como promedio. Calculada a partir de la suma de todas las observaciones de un conjunto de datos y dividiendo entre el número de observaciones. Esta medida de tendencia central es importante, dado que será la que se evalúe en muchos test estadísticos que veremos más adelante.

La media aritmética se puede calcular para la muestra: \(\chi=\sum x/n\) La media aritmética para la población: \(\mu =\sum x/N\)

Las principales propiedades de la media aritmética son 1. Definida de modo inequívoco, fórmula generalizada. 2. Es única: una media para cada conjunto datos. 3. Valor influído por las observaciones del conjunto (valores extremos, outliers).

En el sistema de R, la media aritmetica se calcula por medio de la función mean ( )

  • Mediana: Valor que divide a un conjunto de datos en dos partes iguales. Se calcula ordenando los datos de menor a mayor y aplicando las siguientes fórmulas para datos impares y pares (respectivamente):

Impares: \(Mediana=X_{n+1}/2\) n= número de observaciones y n+1/2 es el subíndice de X

Pares: \(^{X{n/2}} + ^{X{n/2+1}}/2\) n/2 y n/2 +1 son los subíndices para identificar los valores intermedios.

Las propiedades de la mediana son las siguientes: 1. Única: solo existe una mediana para el conjunto de datos. 2. Simple: fácil de calcular. 3. No se afecta por los valores extremos.

En el sistema R, se calcula mediante la función median( )

  • Moda: es el elemento que ocurre con mayor frecuencia. Esta es muy utilizada para datos cualitativos.

En el sistema R, no hay una función para esto. Se debe utilizar el paquete modeest y la función mfv

NOTA!: En R ya existen algunos paquetes que traen por “default” algunas funciones útiles para trabajar. En este caso está “stats”. Para observar las funciones que incluye ejecute el siguiente comando:

library(help="stats")
?median # me permite ver que aspectos requiere la función.

o

library(help="base")

Intente ver otras funciones y los aspectos que utiliza.

## Medidas de Dispersión

Otra de las medidas importantes en la estadística es la dispersión de los datos, la cual explica la forma de la curva de distribución de los datos. Por ejemplo, observe el siguiente gráfico: En este caso, ambos conjuntos de datos tienen la misma media, sin embargo, difieren en la dispersión de los datos, lo cual se demuestra en la forma de la curva.

  • Rango: está relacionado con las puntuaciones más grandes y pequeñas. La ecuación que representa el rango es la \(Rango(exclusivo)= X_{L} - X_{S}\); donde \(X_{L}\) y \(X_{S}\) son las puntuaciones más grandes y pequeñas. En R se ejecuta mediante el comando range ()

  • Varianza: utiliza las desviaciones como base de cálculo, pero las eleva al cuadrado. Es muy útil por cuanto va formar parte de análisis estadísticos que veremos posteriormente (e.g. ANOVA). Estima la dispersión de los datos respecto a la media. La ecuación es la siguiente; \(S^2=\sum (x{i}- \chi )^2 / n-1\) y se calcula con var ( ).

  • Grados de libertad (n-1): La suma de las desviaciones de los valores individuales con respecto a su media es igual a 0. Si se conocen los valores de n-1 de las desviaciones a partir de la media, entonces se conoce n ésimo valor, ya que queda determinado a la restricción de que n nunca puede sumar 0. El valor n-1 se utiliza para muestras, mientras que para la población utilizo N. (Tomado de Bioestadística, Daniel)

Muestra Población
\(S^2=\sum (x{i}- \chi )^2 / n-1\) \(S^2=\sum (x{i}- \chi )^2 / N\)
  • Desviación estándar: Es la raíz cuadrada de la varianza, y permite tener una unidad “mas natural”, para lograr interpretar la dispersión de los datos. En otras palabras, lo muestra en su unidad original. En R se utiliza la función sd().
Muestra Población
\(S=\sqrt{\sum (x{i}- \chi )^2 / n-1}\) \(S=\sqrt{\sum (x{i}- \chi )^2 / n-1}\)
  • Coeficiente de variación: En ocasiones, comparar la dispersión de dos conjuntos de datos puede ser erróneo, por ejemplo, variables con unidades diferentes. En este caso es mejor utilizar el coeficiente de variación. La fórmula es \(CV=(S/\chi)100\)

Otras medidas importantes para entender el comportamiento de los datos son el sesgo y la curtosis. El primero indica como agrupan los datos hacia un lado u otro, y el segundo, hace referencia a la forma “puntiaguda” de la curva.

Otras funciones útiles para el resumen de los datos son las siguientes funciones:

summary(vect1)

o

tapply(vect1, fact1, mean) #Calcula la media ¿Cómo ocurre esto? Analice los datos que se utilizan.
tapply(vect1, fact1, sd) #Calcula la desviación estándar

Funciones gráficas.

La creación de gráficos es muy importante en el lenguaje estadístico. Una buena imagen resume de mejor forma los resultados de nuestros análisis. En el desarrollo de cualquier documento científico debemos utilizar tablas o funciones para representar nuestros hallazgos. Para lograr la generación de gráficos existen dos opciones en el entorno de R. La utilización de una u otra va depender del gusto del investigador.

En la primera opción, tenemos el sistema de base gráfica de R. Los parámetros que se requieren para su ejecución se pueden revisar con el siguiente comando:

?plot

Esta forma de generar los datos puede ser muy compleja. Para complementar como utilizar este estilo puede acceder al link de RCOOKBOOK. Puede intentar explorar en la web con otras páginas (Una de las grandes ventajas de la comunidad R!)

La segunda opción es el uso del paquete llamado ggplot2. RECUERDE QUE DEBE INSTALAR EL PAQUETE!

Este paquete tiene la ventaja de que pertenece al grupo de Tydiverse (comentado en guías anteriores), y por lo tanto utiliza una gramática sencilla. En el siguiente GGPLOT2 tiene acceso a todas las opciones que ofrece este paquete.

Para iniciar el trabajo con este paquete, debemos tener la información organizada en forma de data frame, con la estructura que hemos visto en las guías anteriores, y luego empezamos a construir nuestro gráfico por capas. En la primera capa debemos adicionar la información base sobre la cual vamos a trabajar. En este ejemplo vamos a utilizar datos que están previamente cargados en el entorno R.

Primero vamos a crear un dataframe para practicar:

df <- data.frame(
  gp = factor(rep(letters[1:3], each = 10)),
  y = rnorm(30)
)

Si utiliza la función str(df) verá que creamos un dataframe con 30 dados y un factor de tres niveles. Ahora vamos a crear el gráfico base de ggplot:

base <- ggplot(df, aes(gp, y)) # se puede omitir la creación de la base si se ejecuta en una sola línea 
base #También podemos llamar con print (base)

Como verá este crea los ejes de nuestro gráfico. A partir de este punto debemos empezar a adicionar las capas que deseamos, como por ejemplo, un gráfico de puntos:

base +  geom_point() 

Otro ejemplo, pero con un gráfico de barras. En este caso estamos utilizando la base de datos mpg, la cual ya está incluída en el paquete GGPLOT2. RECUERDE REVISAR LA ESTRUCTURA DE LA BASE DE DATOS PARA COMPRENDER DE QUE SE TRATA!

g <- ggplot(mpg, aes(class))
g + geom_bar()

En este otro caso vamos a utilizar la base de datos mpg, la cual está disponible en ggplot2. Vamos a crear un boxplot ATENCIÓN:Algunas bases de datos están disponibles únicamente cuando se llama el paquete necesario

str(mpg) #note la importancia de asignar la variable hwy como factor!
p <- ggplot(mpg, aes(class, hwy))
p + geom_boxplot()

Ejemplo práctico

Análisis de caso: Optimización de la producción de anticuerpos monoclonales in vivo (Adrion et al, 1984). Revise el documento que se le está proporcionando.

En este caso, vamos a suponer que el experimento se efectuó con 5 repeticiones.

A partir de esto responda a las preguntas que se van a formular en clase.

—-FIN—-