Skip to content

Medición de Datos

Published: at 12:00 AM

Medición de Datos

Tipos de Variables

Implementación en Python

Ejercicio

  1. Clasifique los siguientes variables como número, texto o valor lógico.

a. 'palabra'

b. 3.5

c. 3,5

d. True

e. 1

f. 1/2

g. 'uno'

Conceptos Estadísticos

Video de ésta sección: https://youtu.be/45V4GQMG75c

Medidas de tendencia central

https://youtu.be/45V4GQMG75c

Ejercicios

Un promedio sobre un conjunto pequeño de datos

Supongamos que tenemos la siguiente muestra de un conjunto de datos:

x = [1,5,1,1,1]

Vamos a hacer cálculos sobre ésta muestra, sin usar las funciones estadísticas del softare). Halle los valores de las medidas de tendencia central: moda, mediana, media.

Ahora un promedio sobre un conjunto más grande

Comencemos por generar un conjunto de datos.

import random as ran
ran.seed(8)
lista = [ran.choice([1,2,3,4,5,6]) for x in range(100)]

No es necesario que entendamos a profundidad ese código ahora. Pero le invito a que intente describir qué obtuvimos con éstas instrucciones antes de leer mi explicación.

.

.

.

OK, tenemos una lista de 100 números, donde los elementos son los números enteros del 1 al 6, elegidos al azar.

Ahora, usando Python, intentemos calcular las medidas de tendencia central.1

Medidas de variabilidad

Videos de ésta sección en: https://youtu.be/TnChXWqAQN0

Ejercicios

Sobre la muestra pequeña

Supongamos que tenemos la siguiente muestra de un conjunto de datos:

x = [1,5,1,1,1]

Vamos a hacer cálculos sobre ésta muestra, sin usar las funciones estadísticas del softare. Halle los valores de las medidas de variabilidad: Rango, Varianza, Desviación estándar.2

Sobre el conjunto más grande

Ahora tome de nuevo la lista que habíamos calculado anteriormente y calcule los estadísticos de variabilidad.3

Medidas de Localización

Percentiles Muestrales

Puede ver el libro de González páginas 124 a 133.

El percentil muestral PαP_{\alpha} es un valor mayor o igual que al menos α\alpha por ciento de los datos y menor que al menos 100α100 − \alpha por ciento de los datos.

La posición del percentil α\alpha, es: α100(n+1)\frac{\alpha}{100} (n+1). Los datos ordenados son:

X:{x1,x2,...,xn}X : \{x_{1},x_{2},...,x_{n}\}

El valor es una interpolación lineal entre los dos valores. Si la parte entera de la posición es rr y la fraccionaria es ff, entonces va entre xrx_r y xr+1x_{r+1}, así:

Pα=xr+f(xr+1xr)P_{\alpha} = x_{r} + f\cdot(x_{r+1} - x_{r})

Ejemplo, tiempos de espera

En una ventanilla de servicio al cliente se tienen los siguientes tiempos de espera en minutos:

12 19 13 3 7 3 3 3
7 7 4 6 10 9 21 12 3 10 3 4

Si los ordenamos tenemos:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
3 3 3 3 3 3 4 4 6 7 7 7 9 10 10 12 12 13 19 21

Calcule el P90P_{90}

Respuesta: primero necesitamos la posición y luego el valor:

Medidas de forma y Simetría

Coeficiente de Simetría

g1=1ns3i=1n(xix)3g_1 = \frac{1}{n \cdot s^3} \sum_{i=1}^{n} \left(x_i - \overline{x}\right)^3

Gráfica con los diferentes tipos de sesgo. Arriba sale una distribuición que tiene un pico a la izquierda y aun valle a la derecha, con el título "sesgo positivo". Luego aparece una simétrica, con forma gaussiana, similar a una campana, y dice "acampanada (normal)". A la derecha hay una gráfica con una parte plana a su izquierda y un pico a suderecha y dice "sesgo negativo (a la izquierda)"

En Excel

COEFICIENTE.ASIMETRIA

En LibreOffice

COEFICIENTE.ASIMETRIA.P

Ejemplo

De nuevo, trabajaremos con un conjunto grande de números que vamos a generar en Python. Llamémosle dist1:

import numpy as np
np.random.seed(22)
dist1 = np.array([np.random.poisson(2) for x in range(1000)])

En Python podemos calcular la asimetría con la función skew de la librería scipy.

import scipy.stats as stats
import statistics as st	
asimetria = stats.skew(dist1)

Curtosis

g2=1ns4i=1n(xix)43g_2 = \frac{1}{n \cdot s^4} \sum_{i=1}^{n} \left(x_i - \overline{x}\right)^4 -3

The KaTeX stylesheet is not loaded! KaTeX stylesheet version:

Solución ejercicios

Footnotes

  1. Para el promedio se puede hacer la suma, contar los elementos, y luego hacer la división:

    suma = sum(lista)
    nelementos = len(lista)
    promedio = suma/nelementos
    print(promedio)
    

    También se podría hacer con una función. Por ejemplo, usando la librería statistics:

    import statistics as st
    promedio = st.mean(lista)
    print(promedio)
    

    Para la mediana podemos ordenar la lista y luego tomar los elementos de la mitad. En este caso el número de elementos es par, entonces tomamos el n/2n/2 y el siguiente:

    lista.sort()
    elementon = lista[int(nelementos/2)]
    elmentonmasuno = lista[int(nelementos/2)+1]
    mediana = (elementon + elementonmasuno)/2
    print(mediana)
    

    Para la moda podemos imprimir los valores y contar las repeticiones:

    print(lista)
    

    O usando la librería:

    moda = st.mode(lista)
    print(moda)
    
  2. Primero el rango. En este caso el valor máximo es 5 y el mínimo es 1, luego la resta es 4. Si queremos hacerlo con un código:

    maxx = max(x)
    minx = min(x)
    rango = maxx - minx
    print(rango)
    

    Para la varianza podemos hacer dos cálculos. Primero podemos usar la fórmula directamente, restándo a cada elemento de la lista el promedio de la lista, elevando los resultados al cuadrado y finalmente sumando:

    valores = np.array(x)
    promedios = np.mean(x)*np.ones(len(x))
    restas = valores - promedios
    restascuadrado = restas**2
    sumarc = np.sum(restascuadrado)
    varianza = sumarc/(len(x)-1)
    print(varianza)
    

    Podemos comparar usando el comando variance de la librería st, que corresponde a la varianza muestral:

    print(st.variance(x))
    

    Luego, para la desviación estándar podemos calcular la raíz de la varianza:

    print(varianza**0.5)
    

    o usar el comando stdev de la librería statistics:

    print(st.stdev(x))
    
  3. En este caso se puede usar una estratégia (y un código) similar al del ejercicio anterior. Sabemos que el conjunto tiene valores entre el 1 el 6, por lo tanto el rango será 5. O, de nuevo:

    maximo = max(lista)
    minimo = min(lista)
    rango = maximo - minimo
    print(rango)
    

    Para la varianza y la desviación estándar son cálculos similares a los del apartado anterior.


Previous Post
Instalar Jupyter Notebook
Next Post
Micro Currículo: Estadística para Análisis de datos 2025 S2