---
title: "Medidas de forma"
pagetitle: "Medidas de forma"
open-graph:
description: "Desarrolla asimetría y curtosis como medidas de forma de una distribución, partiendo de un ejemplo de tiempos de espera en una cafetería."
twitter-card:
description: "Desarrolla asimetría y curtosis como medidas de forma de una distribución, partiendo de un ejemplo de tiempos de espera en una cafetería."
description: "Desarrolla asimetría y curtosis como medidas de forma de una distribución, partiendo de un ejemplo de tiempos de espera en una cafetería."
author: "Diego Villalba"
date: today
lang: es
format:
html:
toc: true
toc-depth: 3
number-sections: true
code-fold: true
code-tools: true
code-summary: "Mostrar código"
fig-align: center
theme: cosmo
pdf:
toc: true
toc-depth: 3
number-sections: true
execute:
echo: true
warning: false
message: false
cache: false
jupyter: python3
bibliography: [referencias_eda.bib, ../../references.bib]
crossref:
fig-title: "Figura"
tbl-title: "Tabla"
eq-prefix: "Ec."
---
## El problema: mismo centro y escala, distinta experiencia
Una cafetería registró el tiempo de espera, en minutos, de sus primeros cinco
clientes durante dos mañanas:
| Mañana | Tiempos de espera ordenados |
|:---:|:---|
| A | $0,\ 2,\ 3,\ 4,\ 6$ |
| B | $2,\ 2,\ 2,\ 2,\ 7$ |
En ambas mañanas, la espera media es de tres minutos:
$$
\bar x_A=\frac{0+2+3+4+6}{5}=3,
\qquad
\bar x_B=\frac{2+2+2+2+7}{5}=3.
$$
También comparten el mismo segundo momento central,[^momento-central] que en
este capítulo calcularemos con divisor $n$:
$$
\begin{aligned}
m_{2,A}
&=\frac{(-3)^2+(-1)^2+0^2+1^2+3^2}{5}=4,\\
m_{2,B}
&=\frac{(-1)^2+(-1)^2+(-1)^2+(-1)^2+4^2}{5}=4.
\end{aligned}
$$
Por tanto, ambas tienen escala $\sqrt{m_2}=2$ minutos. Sin embargo, no
cuentan la misma historia:
- en A, los tiempos se reparten de manera simétrica alrededor de 3;
- en B, cuatro clientes esperan 2 minutos y uno espera 7: hay una extensión
hacia la derecha.
La localización y la variabilidad no determinan la geometría de una
distribución.[^distribucion] Para distinguir estas mañanas necesitamos estudiar
su **forma**: simetría, dirección de las colas, frecuencia de observaciones
alejadas y número de agrupamientos o modos [@tukey1977eda; @nist2012handbook].
::: {.callout-note appearance="minimal"}
### Una idea que servirá como brújula
Trasladar todos los datos cinco minutos o convertir minutos a segundos cambia
la localización o la escala, pero no debería cambiar la forma. En contraste,
mover una sola observación hacia un extremo sí puede cambiarla.
:::
## Aprender a mirar la forma
### Simetría y asimetría
Una distribución es **simétrica alrededor de $c$** si las desviaciones a la
izquierda y a la derecha de $c$ tienen el mismo comportamiento. En una
distribución continua,[^continua] esto significa que su densidad satisface
$f(c-t)=f(c+t)$ para todo $t$ donde esté definida. En datos finitos, la idea
se aprecia al ordenar los valores y comparar pares equidistantes del centro.
En la mañana A,
$$
(0,2,3,4,6)-3=(-3,-1,0,1,3).
$$
Cada desviación negativa tiene una contraparte positiva. En la mañana B,
$$
(2,2,2,2,7)-3=(-1,-1,-1,-1,4),
$$
de modo que una desviación positiva larga compensa cuatro desviaciones
negativas cortas. Diremos que B tiene **asimetría a la derecha** o positiva.
La cola indica la dirección de la asimetría, no el lado donde se acumulan más
observaciones.[^cola]
Es común usar la posición relativa de media y mediana como pista. En B,
$\bar x=3>\operatorname{Med}(x)=2$, porque el 7 atrae a la media hacia la
derecha. No es un teorema universal: distribuciones complejas pueden violar
esa regla. La forma debe inspeccionarse gráficamente y no inferirse solo a
partir de dos resúmenes.
### Colas y observaciones alejadas
Las **colas** describen lo que ocurre lejos de la región central. Dos
distribuciones simétricas pueden compartir media y varianza y, aun así, asignar
probabilidades muy diferentes a resultados extremos. Esto importa cuando se
estudian tiempos de espera inusuales, pérdidas, fallas o anomalías.
En una muestra pequeña no puede observarse literalmente el comportamiento
infinito de una cola. Sí pueden verse señales: máximos muy separados, cuantiles
extremos,[^cuantil] sensibilidad de los momentos altos y desviaciones en un
gráfico Q--Q. Hablar de “colas pesadas” a partir de cinco datos debe entenderse
como una hipótesis para investigar, no como una conclusión definitiva.
### Modos y mezclas
Un **modo** es una región de alta frecuencia o densidad.[^modo] Una distribución
con dos concentraciones visibles es bimodal. Esto puede ocurrir, por ejemplo,
si se mezclan pedidos sencillos y pedidos que requieren preparación especial.
La bimodalidad no equivale a asimetría: una distribución puede ser bimodal y
simétrica.
::: {.callout-important appearance="minimal"}
### La forma tiene varias dimensiones
Asimetría, colas y modalidad responden preguntas distintas. Ningún número
único reconstruye toda la distribución. Las medidas complementan al histograma,
al diagrama de puntos, a la ECDF y al gráfico Q--Q; no los sustituyen.
:::
## Del dibujo al cálculo: la mañana B
Trabajaremos a mano con
$$
x=(2,2,2,2,7),\qquad n=5,\qquad \bar x=3.
$$
La tabla organiza todas las operaciones. Las potencias impares conservan el
signo de la desviación; las pares lo eliminan.
| $x_i$ | $d_i=x_i-\bar x$ | $d_i^2$ | $d_i^3$ | $d_i^4$ |
|---:|---:|---:|---:|---:|
| 2 | -1 | 1 | -1 | 1 |
| 2 | -1 | 1 | -1 | 1 |
| 2 | -1 | 1 | -1 | 1 |
| 2 | -1 | 1 | -1 | 1 |
| 7 | 4 | 16 | 64 | 256 |
| **Suma** | **0** | **20** | **60** | **260** |
### Por qué el cubo detecta dirección
El tercer momento central es
$$
m_3=\frac1n\sum_{i=1}^{n}(x_i-\bar x)^3
=\frac{60}{5}=12.
$$
Las desviaciones a la izquierda aportan números negativos y las de la derecha,
positivos. Además, el cubo da mucho más peso a $4$ que a $1$:
$4^3=64$. El signo positivo concuerda con la extensión hacia la derecha.
El valor 12 está en minutos cúbicos y cambiaría al convertir unidades. Para
obtener una medida sin unidades se divide por la escala al cubo:
$$
g_1=\frac{m_3}{m_2^{3/2}}
=\frac{12}{4^{3/2}}
=\frac{12}{8}=1.5. \tag{1}
$$
En la mañana A, los cubos se cancelan por pares:
$$
(-3)^3+(-1)^3+0^3+1^3+3^3=0,
$$
por lo que $g_1=0$. Así logramos distinguir dos conjuntos que tenían la
misma media y la misma escala.
### Por qué la cuarta potencia detecta alejamiento
El cuarto momento central de B es
$$
m_4=\frac1n\sum_{i=1}^{n}(x_i-\bar x)^4
=\frac{260}{5}=52.
$$
Como la cuarta potencia siempre es no negativa, no mide dirección. Su efecto
es amplificar las observaciones alejadas: la desviación $4$ aporta
$4^4=256$, mientras que cada desviación de magnitud $1$ aporta solo 1.
La **curtosis de Pearson** estandariza con la varianza al cuadrado:
$$
b_2=\frac{m_4}{m_2^2}
=\frac{52}{4^2}=3.25. \tag{2}
$$
La distribución normal tiene curtosis poblacional 3. Por eso también se usa
el **exceso de curtosis de Fisher**:
$$
g_2=b_2-3=3.25-3=0.25. \tag{3}
$$
Restar 3 solo cambia el punto de referencia; no cambia la información. En
particular, “curtosis 3” y “exceso 0” describen la misma referencia normal.
::: {.callout-warning appearance="minimal"}
### Curtosis no significa simplemente “altura del pico”
La curtosis es el promedio de la **cuarta potencia de las desviaciones
estandarizadas**. Por ello responde con fuerza a observaciones alejadas y al
comportamiento de las colas. La altura central puede cambiar también, pero no
existe una correspondencia única entre “pico alto” y curtosis alta. Interpretar
la curtosis solo como apuntamiento puede llevar a conclusiones equivocadas.
:::
## Formalización mediante momentos
Sea $X$ una variable aleatoria numérica[^variable-aleatoria] con media
$\mu=\mathbb E[X]$. Cuando las esperanzas existen, se distinguen:
$$
\text{momento respecto al origen:}
\qquad \mu'_r=\mathbb E[X^r],
$$
$$
\text{momento central:}
\qquad \mu_r=\mathbb E[(X-\mu)^r]. \tag{4}
$$
Los primeros momentos centrales ayudan a leer la construcción:
- $\mu_1=0$, porque las desviaciones respecto de la media se compensan;
- $\mu_2=\sigma^2$, la varianza poblacional;
- $\mu_3$ conserva dirección, pero depende de la unidad al cubo;
- $\mu_4$ pondera intensamente el alejamiento y depende de la unidad a la
cuarta potencia.
Si $0<\sigma^2<\infty$, los momentos estandarizados tercero y cuarto son
$$
\gamma_1=\frac{\mu_3}{\sigma^3},
\qquad
\beta_2=\frac{\mu_4}{\sigma^4},
\qquad
\gamma_2=\beta_2-3. \tag{5}
$$
$\gamma_1$ es la asimetría poblacional, $\beta_2$ la curtosis de Pearson y
$\gamma_2$ el exceso de Fisher. Si la variable es constante, $\sigma=0$ y
estas razones no están definidas: no se debe reportar cero como si hubiese una
forma estimable.
### Propiedades que aclaran la interpretación
Si $Y=a+bX$, con $b\neq0$, entonces
$$
\mu_r(Y)=b^r\mu_r(X),
\qquad
\sigma_Y=|b|\sigma_X.
$$
Por tanto,
$$
\gamma_1(Y)=\operatorname{sign}(b)\gamma_1(X),
\qquad
\beta_2(Y)=\beta_2(X). \tag{6}
$$
Sumar una constante o cambiar de minutos a segundos con un factor positivo no
altera asimetría ni curtosis. Reflejar el eje, $b<0$, invierte el signo de la
asimetría y conserva la curtosis.
Si una distribución es simétrica y su tercer momento existe, entonces
$\mu_3=0$. El recíproco es falso: asimetría cero no garantiza simetría. Por
ejemplo, la muestra
$$
(0,0,0,4,5,5,7)
$$
tiene media 3 y suma de cubos centrados
$$
3(-3)^3+1^3+2(2^3)+4^3=-81+1+16+64=0,
$$
pero no es simétrica alrededor de 3.
La curtosis poblacional satisface $\beta_2\ge1$, siempre que la varianza sea
positiva y el cuarto momento finito. Se obtiene de
$$
\mathbb E[(X-\mu)^4]
\ge \left(\mathbb E[(X-\mu)^2]\right)^2.
$$
No hay una cota superior universal: una probabilidad pequeña colocada muy
lejos del centro puede hacer crecer el cuarto momento de manera drástica.
### Población, muestra y convenciones de software
Para una colección observada usamos los momentos descriptivos
$$
m_r=\frac1n\sum_{i=1}^{n}(x_i-\bar x)^r,
\qquad
g_1=\frac{m_3}{m_2^{3/2}},
\qquad
g_2=\frac{m_4}{m_2^2}-3. \tag{7}
$$
Si los datos se consideran una muestra de una población, existen correcciones
para reducir el sesgo del estimador.[^estimador] Una convención frecuente es
$$
G_1=\frac{\sqrt{n(n-1)}}{n-2}g_1,
\qquad n>2, \tag{8}
$$
$$
G_2=\frac{n-1}{(n-2)(n-3)}
\left[(n+1)g_2+6\right],
\qquad n>3. \tag{9}
$$
Para la mañana B, $g_1=1.5$ y $g_2=0.25$, mientras que las versiones
corregidas dan $G_1\approx2.2361$ y $G_2=5$. La diferencia es grande porque
$n=5$. Paquetes distintos pueden usar definiciones distintas; el resultado
debe acompañarse de la convención y el tamaño muestral [@joanes1998skewness].
::: {.callout-note appearance="minimal"}
Las correcciones no convierten cinco observaciones en evidencia abundante.
Reducen cierto sesgo bajo un modelo de muestreo, pero las medidas de orden alto
siguen siendo inestables en muestras pequeñas.
:::
## Laboratorio interactivo: cambiar la forma
El laboratorio parte de la mañana B. Mueva cada observación o compare los
escenarios preparados. Observe que “simétrica” y “asimétrica a la derecha”
tienen la misma media y la misma desviación, mientras que “misma forma, otra
escala” conserva $g_1$ y $g_2$ aunque duplica la desviación estándar.
::: {.content-visible when-format="html"}
```{=html}
<div id="shape-wait-lab" class="shape-lab" aria-labelledby="shape-lab-title">
<style>
#shape-wait-lab { --ink:#172033; --muted:#64748b; --line:#cbd5e1; --blue:#2563eb; --orange:#d97706; margin:1.25rem 0 1.75rem; color:var(--ink); }
#shape-wait-lab .lab-shell { border:1px solid var(--line); border-radius:12px; padding:1rem; background:#fff; }
#shape-wait-lab .lab-title { font-weight:700; margin:0 0 .25rem; }
#shape-wait-lab .lab-intro { color:#475569; margin:0 0 1rem; }
#shape-wait-lab .lab-layout { display:grid; grid-template-columns:minmax(250px,.9fr) minmax(320px,1.2fr); gap:1.2rem; align-items:start; }
#shape-wait-lab .control-row { display:grid; grid-template-columns:3.8rem 1fr 2.5rem; gap:.55rem; align-items:center; margin:.45rem 0; }
#shape-wait-lab input[type="range"] { width:100%; }
#shape-wait-lab .scenario-row { display:flex; flex-wrap:wrap; gap:.4rem; margin:.8rem 0; }
#shape-wait-lab button { border:1px solid #94a3b8; background:#fff; color:var(--ink); border-radius:6px; padding:.35rem .55rem; cursor:pointer; }
#shape-wait-lab button:hover, #shape-wait-lab button:focus { border-color:var(--blue); outline:none; }
#shape-wait-lab .metrics { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; margin-top:.8rem; }
#shape-wait-lab .metric { background:#f6f8fb; border-radius:8px; padding:.55rem .65rem; }
#shape-wait-lab .metric span { display:block; color:var(--muted); font-size:.8rem; }
#shape-wait-lab .metric strong { font-size:1.08rem; font-variant-numeric:tabular-nums; }
#shape-wait-lab .formula-live { margin-top:.7rem; padding:.65rem .75rem; background:#f8fafc; border-left:4px solid var(--blue); font-variant-numeric:tabular-nums; }
#shape-wait-lab svg { width:100%; height:auto; display:block; }
#shape-wait-lab .legend { display:flex; gap:1rem; flex-wrap:wrap; color:#475569; font-size:.84rem; justify-content:center; }
#shape-wait-lab .swatch { display:inline-block; width:1.2rem; height:.18rem; margin-right:.3rem; vertical-align:.2rem; }
@media (max-width:760px) { #shape-wait-lab .lab-layout { grid-template-columns:1fr; } }
</style>
<div class="lab-shell">
<p id="shape-lab-title" class="lab-title">Explorador de forma de cinco tiempos de espera</p>
<p class="lab-intro">Cada control mueve una observación. La línea azul es la media y la naranja discontinua es la mediana.</p>
<div class="lab-layout">
<div>
<div data-controls></div>
<div class="scenario-row" aria-label="Escenarios preparados">
<button type="button" data-values="0,2,3,4,6">Simétrica</button>
<button type="button" data-values="2,2,2,2,7">Cola derecha</button>
<button type="button" data-values="0,5,5,5,5">Cola izquierda</button>
<button type="button" data-values="2,2,2,2,12">Misma forma, otra escala</button>
<button type="button" data-values="1,1,3,5,5">Bimodal</button>
</div>
<div class="metrics" aria-live="polite">
<div class="metric"><span>Media</span><strong data-mean></strong></div>
<div class="metric"><span>Mediana</span><strong data-median></strong></div>
<div class="metric"><span>Desviación √m₂</span><strong data-sd></strong></div>
<div class="metric"><span>Asimetría g₁</span><strong data-skew></strong></div>
<div class="metric"><span>Curtosis b₂</span><strong data-kurt></strong></div>
<div class="metric"><span>Exceso g₂</span><strong data-excess></strong></div>
</div>
<div class="formula-live" data-formula></div>
</div>
<div>
<svg data-plot viewBox="0 0 650 330" role="img" aria-label="Diagrama de puntos de los tiempos de espera"></svg>
<div class="legend"><span><i class="swatch" style="background:#2563eb"></i>media</span><span><i class="swatch" style="background:#d97706;border-top:2px dashed #d97706;background:none"></i>mediana</span></div>
</div>
</div>
</div>
</div>
<script>
(() => {
const root=document.getElementById('shape-wait-lab'); if(!root)return;
const controls=root.querySelector('[data-controls]'), defaults=[2,2,2,2,7];
defaults.forEach((v,i)=>{const row=document.createElement('label');row.className='control-row';row.innerHTML=`<span>Cliente ${i+1}</span><input type="range" min="0" max="12" step="1" value="${v}" data-x="${i}"><output data-out="${i}">${v}</output>`;controls.appendChild(row);});
const inputs=[...root.querySelectorAll('[data-x]')], svg=root.querySelector('[data-plot]'), NS='http://www.w3.org/2000/svg';
const sx=x=>55+(x/12)*550;
const add=(tag,attrs,text='')=>{const e=document.createElementNS(NS,tag);Object.entries(attrs).forEach(([k,v])=>e.setAttribute(k,v));e.textContent=text;svg.appendChild(e);return e;};
const setText=(key,value)=>root.querySelector(`[data-${key}]`).textContent=value;
function update(){
const x=inputs.map((el,i)=>{const v=+el.value;root.querySelector(`[data-out="${i}"]`).value=v;return v;}), n=x.length;
const sorted=[...x].sort((a,b)=>a-b), mean=x.reduce((a,b)=>a+b,0)/n, median=sorted[Math.floor(n/2)], d=x.map(v=>v-mean);
const m=r=>d.reduce((s,v)=>s+v**r,0)/n, m2=m(2), sd=Math.sqrt(m2), skew=m2>0?m(3)/m2**1.5:NaN, kurt=m2>0?m(4)/m2**2:NaN, excess=kurt-3;
setText('mean',mean.toFixed(2));setText('median',median.toFixed(2));setText('sd',sd.toFixed(2));setText('skew',Number.isFinite(skew)?skew.toFixed(3):'no definida');setText('kurt',Number.isFinite(kurt)?kurt.toFixed(3):'no definida');setText('excess',Number.isFinite(excess)?excess.toFixed(3):'no definido');
root.querySelector('[data-formula]').textContent=Number.isFinite(skew)?`g₁ = ${skew.toFixed(3)}; g₂ = ${excess.toFixed(3)}. Compare siempre estos números con el diagrama.`:'Todos los valores coinciden: m₂ = 0 y las medidas estandarizadas no están definidas.';
svg.replaceChildren();
for(let t=0;t<=12;t+=2){add('line',{x1:sx(t),x2:sx(t),y1:35,y2:275,stroke:'#e2e8f0','stroke-width':'1'});add('text',{x:sx(t),y:302,'text-anchor':'middle',fill:'#475569','font-size':'13'},t);}
add('line',{x1:55,x2:605,y1:275,y2:275,stroke:'#64748b','stroke-width':'2'});
add('line',{x1:sx(mean),x2:sx(mean),y1:38,y2:275,stroke:'#2563eb','stroke-width':'3'});
add('line',{x1:sx(median),x2:sx(median),y1:38,y2:275,stroke:'#d97706','stroke-width':'3','stroke-dasharray':'8 6'});
const used={};sorted.forEach((v,i)=>{used[v]=(used[v]||0)+1;const cy=250-(used[v]-1)*38;add('circle',{cx:sx(v),cy,r:'13',fill:'#16835f',stroke:'#fff','stroke-width':'2'});add('text',{x:sx(v),y:cy+4,'text-anchor':'middle',fill:'#fff','font-size':'10'},i+1);});
add('text',{x:330,y:326,'text-anchor':'middle',fill:'#475569','font-size':'13'},'Tiempo de espera (minutos)');
}
inputs.forEach(el=>el.addEventListener('input',update));
root.querySelectorAll('[data-values]').forEach(btn=>btn.addEventListener('click',()=>{btn.dataset.values.split(',').forEach((v,i)=>inputs[i].value=v);update();}));
update();
})();
</script>
```
:::
::: {.content-visible unless-format="html"}
La versión HTML incluye un laboratorio para mover cinco tiempos de espera. Los
escenarios principales se resumen aquí:
| Escenario | Datos | Media | $\sqrt{m_2}$ | $g_1$ | $b_2$ | $g_2$ |
|:---|:---|---:|---:|---:|---:|---:|
| Simétrica | $0,2,3,4,6$ | 3 | 2 | 0 | 2.05 | -0.95 |
| Cola derecha | $2,2,2,2,7$ | 3 | 2 | 1.50 | 3.25 | 0.25 |
| Cola izquierda | $0,5,5,5,5$ | 4 | 2 | -1.50 | 3.25 | 0.25 |
| Misma forma, otra escala | $2,2,2,2,12$ | 4 | 4 | 1.50 | 3.25 | 0.25 |
| Bimodal | $1,1,3,5,5$ | 3 | 1.7889 | 0 | 1.25 | -1.75 |
Los dos primeros escenarios tienen la misma media y escala, pero distinta
forma. El segundo y el cuarto tienen distinta media y escala, pero los mismos
momentos estandarizados.
:::
## Curtosis y colas: una comparación controlada
Para aislar la forma, compare tres modelos simétricos con media 0 y varianza 1:
| Distribución | Exceso de curtosis | Comportamiento cualitativo de las colas |
|:---|---:|:---|
| Normal estándar | $0$ | decrecimiento rápido, proporcional a $e^{-x^2/2}$ en la densidad |
| Laplace estandarizada | $3$ | decrecimiento exponencial en $\lvert x\rvert$ |
| $t$ de Student con 5 grados de libertad, estandarizada | $6$ | decrecimiento polinómico |
Las tres son simétricas y tienen la misma varianza. La diferencia está en
cuánta probabilidad conservan lejos del centro. La $t_5$ genera extremos con
mayor frecuencia que la normal; esto se refleja en una curtosis mayor. La
comparación funciona porque estamos examinando familias completas, no porque
la curtosis permita reconstruir por sí sola todas sus colas.
::: {.callout-warning appearance="minimal"}
Dos distribuciones pueden tener la misma curtosis y formas diferentes. Además,
si $\mathbb E[(X-\mu)^4]$ no existe, la curtosis poblacional es infinita o no
está definida, aunque un programa siempre produzca algún número finito para
una muestra finita.
:::
## Gráficos que completan las medidas
### Histograma, densidad y ECDF
El histograma muestra acumulaciones, huecos y posibles modos, pero cambia con
el ancho y origen de los intervalos. Una estimación de densidad suaviza la
forma y depende de un parámetro de suavizado. La función de distribución
empírica (ECDF)[^ecdf] evita intervalos y conserva cada observación, aunque los
modos son menos visibles.
Conviene observar más de una representación. Una asimetría numérica elevada
puede provenir de una cola gradual, de un solo dato erróneo o de mezclar dos
grupos; las acciones analíticas serían distintas.
### Gráfico Q--Q
Un gráfico Q--Q enfrenta los cuantiles observados con los cuantiles de una
distribución de referencia.[^qq] Si los datos son compatibles con una versión
trasladada y escalada de esa referencia, los puntos siguen aproximadamente
una recta. La pendiente refleja escala y el intercepto localización; curvaturas
sistemáticas revelan diferencias de forma.
En un Q--Q normal:
- separación fuerte en ambos extremos sugiere colas distintas de la normal;
- una desviación más intensa en un solo extremo sugiere asimetría;
- escalones o grupos pueden revelar redondeo, discreción o mezclas.
La rectitud no demuestra normalidad, sobre todo con pocas observaciones. Es una
comprobación visual que debe acompañarse de conocimiento del proceso y tamaño
muestral.
## Transformar cambia la forma y la pregunta
Para datos estrictamente positivos con asimetría derecha, una transformación
logarítmica puede comprimir valores grandes:
$$
y_i=\log(x_i).
$$
Esto puede facilitar una visualización o estabilizar relaciones
multiplicativas, pero el análisis deja de estar en la escala original. Una
diferencia de una unidad en $\log x$ representa una razón multiplicativa en
$x$, no una diferencia aditiva.
Las transformaciones monótonas[^monotona] preservan el orden, pero no preservan
distancias, media, varianza, asimetría ni curtosis. Por ello no se debe
“normalizar” una variable automáticamente solo para reducir $g_1$. Antes hay
que preguntar:
1. ¿La nueva escala tiene sentido para el fenómeno?
2. ¿Los ceros y valores negativos están tratados explícitamente?
3. ¿La transformación se aprende y aplica dentro del mismo *pipeline*?
4. ¿Las predicciones pueden regresar a la escala original sin introducir una
interpretación engañosa?
## Implementación reproducible
La función siguiente hace explícita la convención de momentos con divisor
$n$. También calcula las correcciones de las Ecs. 8 y 9 para mostrar por qué
dos bibliotecas pueden entregar cifras distintas.
```{python}
import numpy as np
import pandas as pd
def medidas_forma(valores):
x = np.asarray(valores, dtype=float)
if x.ndim != 1 or x.size == 0 or not np.isfinite(x).all():
raise ValueError("Se requiere un vector no vacío de valores finitos.")
n = x.size
media = x.mean()
desviaciones = x - media
m2 = np.mean(desviaciones**2)
m3 = np.mean(desviaciones**3)
m4 = np.mean(desviaciones**4)
if m2 == 0:
g1 = g2 = G1 = G2 = np.nan
else:
g1 = m3 / m2**1.5
g2 = m4 / m2**2 - 3
G1 = np.sqrt(n * (n - 1)) / (n - 2) * g1 if n > 2 else np.nan
G2 = ((n - 1) / ((n - 2) * (n - 3))
* ((n + 1) * g2 + 6)) if n > 3 else np.nan
return pd.Series({
"n": n,
"media": media,
"mediana": np.median(x),
"sqrt(m2)": np.sqrt(m2),
"g1_momentos": g1,
"G1_corregida": G1,
"b2_Pearson": g2 + 3 if np.isfinite(g2) else np.nan,
"g2_exceso": g2,
"G2_corregido": G2,
})
escenarios = {
"Simétrica": [0, 2, 3, 4, 6],
"Cola derecha": [2, 2, 2, 2, 7],
"Cola izquierda": [0, 5, 5, 5, 5],
"Misma forma, otra escala": [2, 2, 2, 2, 12],
"Bimodal": [1, 1, 3, 5, 5],
}
resumen_forma = pd.DataFrame({
nombre: medidas_forma(datos)
for nombre, datos in escenarios.items()
}).T
resumen_forma.round(4)
```
### Las formas completas detrás de los momentos
Las funciones de distribución empírica siguientes utilizan los mismos cinco
escenarios de la tabla. Los escalones permiten comprobar dónde se acumulan o
se separan sus observaciones.
```{python}
import plotly.express as px
from IPython.display import HTML, display
def mostrar_plotly(figura):
"""Incrusta Plotly sin cargar una segunda versión de MathJax."""
display(HTML(figura.to_html(
full_html=False,
include_plotlyjs="cdn",
include_mathjax=False,
)))
forma_larga = pd.DataFrame([
{"Escenario": nombre, "Valor": valor}
for nombre, valores in escenarios.items()
for valor in valores
])
fig = px.ecdf(
forma_larga,
x="Valor",
facet_col="Escenario",
facet_col_wrap=3,
markers=True,
title="Mismo centro o escala no implica la misma forma",
)
fig.for_each_annotation(lambda a: a.update(text=a.text.split("=")[-1]))
fig.update_layout(showlegend=False)
mostrar_plotly(fig)
```
::: {.callout-important appearance="minimal"}
### Del cálculo al programa
El algoritmo necesita primero la media y después las potencias de las
desviaciones. La estandarización divide $m_3$ por $m_2^{3/2}$ y $m_4$ por
$m_2^2$. En datos reales se debe definir antes cómo tratar valores faltantes,
ponderaciones y grupos; eliminarlos silenciosamente cambia la distribución
analizada.
:::
## Qué implica la forma en minería de datos
| Situación | Por qué importa la forma | Acción razonable |
|:---|:---|:---|
| Imputación | La media se desplaza hacia colas largas. | Comparar media, mediana y distribución por grupos antes de imputar. |
| Detección de anomalías | Una regla basada en desviaciones estándar confunde colas pesadas con errores. | Usar cuantiles o métodos robustos y validar con el contexto. |
| Modelos lineales | La normalidad suele concernir a errores o residuos, no a cada predictor. | Revisar residuos y especificación del modelo; no transformar por rutina. |
| $k$-means y distancias | Extremos y escalas dominan distancias euclidianas. | Estandarizar y considerar escalamiento robusto; la estandarización no elimina asimetría. |
| Árboles | Las divisiones por umbrales toleran transformaciones monótonas del predictor. | Aun así, revisar colas, soporte escaso y posibles errores de medición. |
| Mezclas | Dos modos pueden representar subpoblaciones con mecanismos distintos. | Estratificar, añadir variables explicativas o modelar la mezcla. |
Estandarizar mediante $z_i=(x_i-\bar x)/s$ centra y cambia la escala, pero,
por la Ec. 6, no vuelve simétrica una variable. **Estandarizar** y
**normalizar en el sentido de hacer normal una distribución** no son la misma
operación.
## Guía de lectura
| Pregunta | Herramienta principal | Precaución |
|:---|:---|:---|
| ¿Hacia qué lado se extiende la distribución? | Histograma/ECDF y $g_1$ | $g_1=0$ no demuestra simetría. |
| ¿Hay más observaciones extremas que en una referencia? | Q--Q, cuantiles extremos y curtosis | La curtosis no describe por sí sola toda la cola ni el pico. |
| ¿Hay uno o varios grupos? | Histograma, densidad y comparación por grupos | Asimetría y curtosis no determinan modalidad. |
| ¿Conviene transformar? | Gráficos antes/después y sentido sustantivo de la escala | La transformación cambia la pregunta y debe formar parte del *pipeline*. |
| ¿Puedo comparar software? | Definición, $n$, tratamiento de faltantes | Distinguir Pearson/Fisher y momento/corrección muestral. |
## Puente al caso BigMart
El capítulo práctico [Medidas de forma en Big Mart Sales](2-5-forma_bigmart.qmd)
traslada esta secuencia a variables comerciales:
1. observar primero la distribución y sus posibles subgrupos;
2. comparar centro y escala sin confundirlos con forma;
3. calcular asimetría y curtosis documentando la convención;
4. inspeccionar colas con gráficos y cuantiles;
5. evaluar transformaciones por su significado, no solo por reducir una cifra.
Los datos cambian, pero la pregunta permanece: **¿qué estructura oculta una
media y una desviación estándar?**
## Ejercicios formativos
1. **Cálculo completo.** Para $x=(1,1,1,3,4)$, calcule $\bar x$, $m_2$,
$m_3$, $m_4$, $g_1$, $b_2$ y $g_2$. Interprete los signos antes de
usar software y luego verifique con `medidas_forma`.
2. **Reflexión.** Construya la variable $y=10-x$ a partir del ejercicio
anterior. Prediga qué ocurrirá con media, desviación, $g_1$ y $g_2$, y
compruébelo mediante la Ec. 6.
3. **Cero no significa simetría.** Verifique que
$(0,0,0,4,5,5,7)$ tiene $g_1=0$. Dibuje sus puntos y explique por qué no
es simétrica.
4. **Mismo centro y escala.** Compruebe manualmente que las mañanas A y B
comparten media y $m_2$. Proponga una tercera muestra de cinco valores con
media 3 y $m_2=4$, pero con otra forma.
5. **Curtosis no es pico.** Simule 10,000 observaciones de una normal, una
Laplace con escala $1/\sqrt2$ y una $t_5$ multiplicada por
$\sqrt{3/5}$. Compare varianza, exceso de curtosis, histogramas y Q--Q.
6. **Modalidad.** Construya una muestra simétrica y bimodal. Muestre que su
asimetría puede ser cero y explique qué información no captura $g_1$.
7. **Decisión de transformación.** Elija una variable positiva con asimetría
derecha. Compare la escala original y $\log(x)$. Describa qué cambia en
la interpretación de una diferencia de una unidad y justifique cuál escala
usaría en un modelo.
## Referencias {.unnumbered}
::: {#refs}
:::
[^momento-central]: Un **momento central de orden $r$** es el promedio de las desviaciones respecto de la media elevadas a la potencia $r$. El orden 2 mide dispersión; los órdenes 3 y 4 participan en medidas de forma.
[^distribucion]: Una **distribución** describe qué valores puede tomar una variable y con qué frecuencia o probabilidad aparecen. En una muestra se observa una versión finita de esa estructura.
[^continua]: Una variable **continua** puede tomar valores en intervalos. Su densidad representa concentración de probabilidad por unidad; la probabilidad de un intervalo es el área bajo esa curva.
[^cola]: Una **cola** es la región alejada del centro hacia valores pequeños o grandes. “Cola derecha larga” no significa que la mayoría de los datos estén a la derecha, sino que la extensión o probabilidad extrema es mayor en esa dirección.
[^cuantil]: El cuantil de nivel $p$ es un valor que deja aproximadamente una proporción $p$ de observaciones por debajo. La mediana es el cuantil $0.5$.
[^modo]: En datos discretos, un modo es un valor de frecuencia máxima. En una distribución continua se habla de máximos locales de la densidad; su estimación depende del suavizado y del tamaño muestral.
[^variable-aleatoria]: Una **variable aleatoria** asigna un número a cada resultado posible de un fenómeno incierto. Su esperanza $\mathbb E[X]$ es un promedio teórico ponderado por probabilidades.
[^estimador]: Un **estimador** es una regla que usa una muestra para aproximar una cantidad poblacional. Su sesgo es la diferencia entre el valor que produciría en promedio bajo muestreo repetido y el parámetro que intenta estimar.
[^ecdf]: La **función de distribución empírica** en $t$ es la proporción de observaciones menores o iguales que $t$. Es una función escalonada que no requiere elegir intervalos ni parámetros de suavizado.
[^qq]: Un **cuantil--cuantil (Q--Q)** empareja cuantiles ordenados de los datos con cuantiles de una distribución de referencia. No compara frecuencias de barras, sino posiciones equivalentes dentro de ambas distribuciones.
[^monotona]: Una transformación es **monótona creciente** si conserva el orden: $x_i<x_j\Rightarrow f(x_i)<f(x_j)$. El logaritmo es creciente para valores positivos.