---
name: estimate_pareto_alpha
kind: function
lang: py
domain: datascience
version: "1.0.0"
purity: pure
signature: "def estimate_pareto_alpha(values: list[float], x_min_percentile: float = 90.0) -> dict"
description: "Estima el exponente alpha de una distribución Pareto via MLE. Alpha bajo indica cola más pesada y mayor frecuencia de valores extremos."
tags: [estimation, pareto, power-law, heavy-tail, statistics]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: [numpy]
params:
  - name: values
    desc: "lista de valores numericos positivos donde se sospecha cola pesada (ej: tamanios de ordenes, ingresos). Debe haber >10 valores."
  - name: x_min_percentile
    desc: "percentil a partir del cual considerar la cola (tipico: 90.0 para considerar el 10% superior)"
output: "dict con {alpha, x_min, n_tail} donde alpha es el exponente estimado (menor = cola mas pesada)"
tested: false
tests: []
test_file_path: ""
file_path: "python/functions/datascience/datascience.py"
---

## Ejemplo

```python
import numpy as np
# Simular datos con cola pesada
values = list(np.random.pareto(2.0, 1000) + 1)
result = estimate_pareto_alpha(values, x_min_percentile=90.0)
# {'alpha': ~2.0, 'x_min': ..., 'n_tail': 100}
```

## Notas

Usa el estimador MLE de Hill: α = n / Σ ln(xᵢ / x_min).
x_min se determina como el percentil indicado de los valores positivos.
Retorna alpha=0 si hay menos de 10 valores positivos o la cola tiene menos de 2 elementos.
Función pura: requiere numpy instalado.
