1. Motivación: 40 noches, un planeta

Las velocidades radiales de una estrella se miden cuando se puede: de noche, sin nubes, cuando el objeto está alto y el telescopio asignado. El resultado es una serie temporal con huecos, repeticiones y sin paso constante. La herramienta clásica, la transformada de Fourier discreta, presupone muestreo uniforme. El periodograma de Lomb–Scargle (Lomb 1976; Scargle 1982) resuelve el problema ajustando una sinusoide a cada frecuencia de prueba; es el método estándar para encontrar el periodo de un planeta (y de estrellas variables, rotación, binarias). Pero el muestreo deja huellas: picos fantasma (alias) y una estadística de falsos positivos que hay que entender para no «descubrir» planetas que no existen. Seguimos la exposición de VanderPlas (2018).
2. Del periodograma clásico al muestreo irregular

Para datos (de media cero) en , el periodograma de Schuster es
Con muestreo uniforme hereda las propiedades de Fourier: es periódico en con periodo y simétrico, de modo que solo tiene información hasta la frecuencia de Nyquist , y bajo ruido gaussiano sigue una distribución con dos grados de libertad en cada frecuencia (es la suma de dos gaussianas al cuadrado). Con muestreo irregular se pierden ambas cosas: no existe una en sentido estricto (si los son múltiplos de una unidad , por ejemplo la precisión con que se registran, entonces , que puede ser enorme; Eyer & Bartholdi 1999; VanderPlas 2018, §IV), y los términos seno y coseno dejan de ser independientes, lo que estropea la distribución estadística.
3. Derivación del periodograma de Lomb–Scargle

Ajuste de una sinusoide a cada frecuencia
En lugar de una transformada, Lomb y Scargle plantean un ajuste por mínimos cuadrados del modelo , , a los datos (centrados). La función a minimizar es y las ecuaciones normales son
La reducción de al incluir la sinusoide es , con (problema 1).
El desfase τ
El término cruzado se puede anular desplazando el origen de tiempos: con en lugar de , si
Con esa elección la matriz es diagonal y (todo evaluado en ). Scargle (1982) definió el periodograma como la mitad de esa cantidad:
(VanderPlas 2018, ecs. 33–34). Dos propiedades justifican el : el periodograma es invariante ante traslaciones
temporales y, bajo ruido gaussiano blanco de varianza , sigue exactamente una distribución
exponencial (χ² con 2 g.d.l.) en cada frecuencia, como el periodograma clásico. Para muestreo uniforme, y
. Para una sinusoide pura de amplitud , (test de lombscargle.ts).
Periodograma generalizado y normalización
Dos mejoras prácticas (Zechmeister & Kürster 2009): pesos y una media flotante, es decir ajustar
en lugar de restar la media muestral. La diferencia importa cuando la cobertura en
fase es incompleta: la media de los datos no es la del modelo, y centrar en ella puede suprimir el pico verdadero
(VanderPlas 2018, §VI.2). En ese caso las ecuaciones normales son ; potenciaLS las resuelve eliminando
analíticamente. Normalizamos como fracción de varianza explicada,
(VanderPlas 2018, ec. 59) con para una sinusoide sin ruido y si la sinusoide no mejora nada.
4. Ventana espectral y alias

El periodograma de los datos es, aproximadamente, el del proceso subyacente convolucionado con la ventana espectral, el periodograma del propio muestreo:
con (VanderPlas 2018, ec. 48). Cada pico de en replica la señal verdadera en (ec. 45–47). Para observaciones nocturnas desde tierra el pico dominante es d⁻¹; también aparecen el mes sinódico (29.5 d) y el año. La estructura de también fija la anchura de los picos, con la línea de base, y de ahí la rejilla recomendada:
con elegido por física (el periodo más corto plausible) o por una «pseudo-Nyquist» del muestreo (VanderPlas 2018, §VII.1). Una rejilla uniforme en periodo submuestrea las frecuencias altas y es un error frecuente.
5. Significación: probabilidad de falsa alarma

La pregunta operativa es: si no hubiera señal, ¿con qué probabilidad el ruido produciría un pico tan alto como el observado? Es la probabilidad de falsa alarma (FAP). Para la normalización de §3 con media flotante y ruido gaussiano, en una frecuencia fijada de antemano (Cumming 2004; VanderPlas 2018, ec. 53),
Pero buscamos el máximo sobre muchas frecuencias. Con frecuencias independientes, y la estimación ingenua tiende a subestimar la FAP real. La cota de Baluev (2008), basada en la teoría de extremos de procesos continuos, no necesita :
(VanderPlas 2018, ecs. 55–56). Es una cota superior válida para ventanas sin estructura fuerte; con alias intensos
puede sobrestimar. La alternativa empírica es el bootstrap: permutar los sobre los mismos muchas veces,
recalcular el periodograma y registrar el máximo; es costoso (para estimar una FAP hacen falta
periodogramas) y no trata ruido correlacionado. Implementación: fapUnaFrecuencia, fapBaluev, fapBootstrap.
Lo que la FAP no dice. No es la probabilidad de que la señal sea periódica ni de que el pico esté en la frecuencia correcta: un alias puede ser casi tan alto como el pico verdadero (§6). Y la incertidumbre del periodo no es la anchura del pico: la anchura () no depende de ni del S/N, mientras que la precisión sí, con el cociente señal/ruido medio (VanderPlas 2018, ec. 52), y en cualquier caso ignora el riesgo de estar en el pico equivocado.
Simulador
Genera una serie de velocidad radial tipo 51 Peg y cambia el patrón de muestreo de «aleatorio» a «solo de noche»: aparecen los alias en c/d de la §4. Reduce o sube hasta que el pico deje de superar la línea de FAP 1 %, y pliega los datos con el alias para ver por qué una curva plegada «bonita» no basta como prueba.
- P detectado
- 4.229 d (0.2365 ciclos/d)
- P real
- 4.230 d · error -0.03 %
- Potencia del pico
- 0.911 (umbral FAP 1 %: 0.162)
- FAP (Baluev)
- < 0.01 % · significativo
- Veredicto
- coincide con el periodo real
- Rejilla
- 3515 frecuencias, Δf = 1.14e-3 c/d
- Alias diurnos del pico
- 1.31 d, 0.809 d, 0.567 d, 0.447 d
- Plegado con
- P = 4.229 d (detectado)
6. Ejemplo computacional: una serie tipo 51 Peg

Con velocidadRadial.ts y lombscargle.ts generamos 40 medidas en 40 noches distintas de un intervalo de 61 d
(una medida por noche a hora aleatoria), con d, m s⁻¹, órbita circular y ruido m s⁻¹
(ELODIE), rejilla hasta d⁻¹:
| Magnitud | Resultado |
|---|---|
| Pico del periodograma | d⁻¹, d, |
| Paso de la rejilla | d⁻¹ ⇒ d |
| (una frecuencia) | |
| FAP de Baluev () | |
| Ventana en d⁻¹ | (alias diurno fortísimo) |
| Alias d⁻¹ ( d) | potencia 0.863 |
| Alias d⁻¹ ( d) | potencia 0.708 |
| Ruido puro (mismos ): máximo | 0.373, FAP Baluev 0.017 |
| Bootstrap frente a Baluev en | 0.033 frente a 0.008 |
Lecciones del experimento: (i) el periodo se recupera dentro de la resolución de la rejilla; (ii) el pico es abrumadoramente significativo, pero (iii) el alias de 1.31 d tiene el 98 % de la potencia del verdadero: con una sola temporada de datos nocturnos no se puede decidir entre 4.23 d y 1.31 d solo con el periodograma (hacen falta observaciones a distintas horas, o desde otro hemisferio, o un segundo periodograma tras restar el candidato); (iv) en ruido puro el máximo alcanza 0.37, y Baluev (0.017) es más optimista que el bootstrap (0.033) porque la ventana está muy estructurada: para ventanas nocturnas conviene calibrar con remuestreo.
7. Análisis de error y coste

- Coste. El cálculo directo es con : para años, d⁻¹ y son frecuencias; el algoritmo de Press & Rybicki (1989) con FFT lo baja a .
- Error de rejilla. Si los picos pueden caer entre nodos y perderse hasta la mitad de la potencia; con la pérdida máxima es (anchura sinc²).
- Ruido rojo. La actividad estelar produce potencia correlacionada a periodos de días a meses; ninguna de las FAP anteriores es válida, y los picos de rotación estelar (y sus alias) compiten con los planetas. Se modela con procesos gaussianos o se usan indicadores de actividad simultáneos.
- Múltiples señales. El periodograma es lineal en un solo sinusoide; dos planetas se buscan iterativamente («pre-blanqueado»: restar el mejor ajuste y repetir), o con ajustes multifrecuencia.
Problemas
1. (Demostración) Reducción de χ². Demuestra que para el modelo lineal con matriz normal y vector , el mínimo de es , y particulariza al modelo de dos parámetros (coseno y seno) con la matriz de §3.
Demostración
con . El gradiente da y, sustituyendo, . Con , : , y , que se reduce a cuando .
2. (Demostración) El desfase τ. Demuestra que con se cumple , y que es invariante si todos los se desplazan en .
Demostración
con , ; se anula si . Si , entonces rotan por el ángulo y la solución pasa a : los argumentos no cambian y tampoco.
3. Alias. Un planeta tiene d. Con observaciones nocturnas (ventana en 1 d⁻¹) y a lo largo de un año (ventana en 1/365 d⁻¹), lista los periodos de los alias de primer orden. ¿Cuál de ellos se confundiría con una «supertierra en 1.4 d»? ¿Qué observación rompe la degeneración?
Ver solución
d⁻¹. Alias diurnos: ⇒ 1.385 d; ⇒ 0.783 d. Alias anuales: ⇒ 3.565 y 3.636 d (indistinguibles con menor que unos años). El alias de 1.385 d es el candidato «1.4 d». Observar en fases distintas del día (varias medidas por noche a horas distintas, o telescopios en longitudes distintas) reduce la ventana en 1 d⁻¹; o comparar el de los dos ajustes con muchos datos.
4. FAP. Con y d⁻¹ sobre d con : (a) calcula y la cota de Baluev para , y ; (b) ¿qué altura hace falta para FAP = 1 %? (c) ¿Por qué la FAP de una frecuencia es tan pequeña comparada con la del máximo?
Ver solución
. (a) : , , FAP . : , , FAP . : , . (b) Resolviendo : . (c) Porque el máximo se busca entre picos independientes: la cota multiplica aproximadamente por ese número.
5. (Demostración) Distribución de una frecuencia. Para ruido gaussiano de varianza y muestreo uniforme, demuestra que sigue una exponencial de media 1, es decir , en una frecuencia que no sea 0 ni Nyquist. ¿Por qué cambia a con la normalización de §3?
Demostración
y son combinaciones lineales de gaussianas, de media 0 y varianza (por construcción de los denominadores) e incorreladas (porque tras el desfase τ): son dos normales independientes . La mitad de la suma de sus cuadrados dividida por es , cuya función de supervivencia es . Con la normalización y media flotante, y independientes, de modo que sigue una distribución Beta, con (Cumming 2004); para y pequeño, , que recupera la exponencial.
6. (Computacional) Reproduce el ejemplo de §6. Genera la serie, calcula el periodograma generalizado, la ventana espectral y las tres FAP (una frecuencia, Baluev, bootstrap con 300 permutaciones) para el pico y para en ruido puro. Luego resta la sinusoide ajustada y vuelve a calcular el periodograma: ¿desaparece el alias de 1.31 d?
Esquema en Python
import numpy as np
rng = np.random.default_rng(2024)
t = np.sort(rng.choice(np.arange(61), 40, replace=False) + 0.9 + 0.2*rng.random(40))
P0, K, s = 4.2293, 59.0, 13.0
y = K*np.cos(2*np.pi*t/P0) + s*rng.standard_normal(40)
def pot(t, y, f): # periodograma generalizado, normalización [0,1]
X = np.c_[np.ones_like(t), np.cos(2*np.pi*f*t), np.sin(2*np.pi*f*t)]
r = y - X @ np.linalg.lstsq(X, y, rcond=None)[0]
return 1 - (r @ r) / ((y - y.mean()) @ (y - y.mean()))
T = t.max() - t.min(); fr = np.arange(0, 2, 1/(10*T))
P = np.array([pot(t, y, f) for f in fr]); k = P.argmax()
W = np.abs(np.exp(-2j*np.pi*np.outer(fr, t)).sum(1))**2 / 40**2
N = 40; z = P[k]; Weff = 2*np.sqrt(4*np.pi*t.var())
fap1 = (1-z)**((N-3)/2); fap_b = 1 - (1-fap1)*np.exp(-Weff*(1-z)**((N-4)/2)*np.sqrt(z))
boot = np.mean([max(pot(t, rng.permutation(y), f) for f in fr) >= z for _ in range(300)])
print(1/fr[k], z, fap1, fap_b, boot, W[np.argmin(abs(fr-1))])Tras restar el ajuste en 4.23 d, el periodograma residual no muestra pico en 1.31 d: el alias era un reflejo de la señal, no una señal independiente. Si se hubiera restado el alias, el residuo mantendría potencia en 4.23 d.
7. Rejilla. Para una campaña de años con d⁻¹ y , ¿cuántas frecuencias hay que evaluar? Si en lugar de ello se usa una rejilla uniforme en periodo entre 1 y 3000 d con el mismo número de puntos, ¿cuál es el paso en frecuencia cerca de d y cerca de d? ¿Qué picos se pierden?
Ver solución
. Con paso d: cerca de d, d⁻¹, 300 veces mayor que la anchura d⁻¹ (se pierden casi todos los picos de periodo corto); cerca de 1000 d, d⁻¹, un sobremuestreo inútil de 3000 puntos por pico.
✦ Autoevaluación
Lecturas
- VanderPlas, J. T. (2018). Understanding the Lomb–Scargle periodogram, ApJS 236, 16: la guía conceptual que sigue esta lección; incluye código.
- Scargle (1982), ApJ 263, 835 y Lomb (1976), Ap&SS 39, 447: los artículos originales; Zechmeister & Kürster (2009), A&A 496, 577: media flotante y pesos.
- Baluev (2008), MNRAS 385, 1279: la cota de la FAP; Cumming (2004), MNRAS 354, 1165: FAP y detectabilidad en sondeos de velocidad radial.
- Perryman (2018). The Exoplanet Handbook, §2.3; Gregory (2005). Bayesian Logical Data Analysis, cap. 13: el periodograma desde la perspectiva bayesiana (Bretthorst).
🍎 Guía para el profesor
- Tiempo
- 2 clases de 75 min
- Resultado de aprendizaje
- Al finalizar, el estudiante deriva el periodograma de Lomb–Scargle como ajuste de mínimos cuadrados, predice los alias a partir de la ventana espectral y evalúa la significación de un pico con la FAP de Baluev y por remuestreo, conociendo sus límites.
- Evidencia de aprendizaje
- Entrega del problema 6 (periodograma, ventana, tres FAP y pre-blanqueado) y del problema 4 con los cálculos de la cota de Baluev.
Materiales
- Python 3 con NumPy (opcionalmente astropy.timeseries.LombScargle para contrastar)
- src/lib/math/lombscargle.ts y velocidadRadial.ts
- Figuras 17 y 24 de VanderPlas 2018 (ventana y alias)
Secuencia sugerida
Clase 1. Fourier con muestreo irregular (§2); derivación completa de Lomb–Scargle con el desfase τ (§3, problemas 1 y 2). Ventana espectral y alias (§4) con el ejemplo de 51 Peg: predecir 1.31 d antes de calcular.
Clase 2. FAP de una frecuencia, Baluev y bootstrap (§5) con el problema 4; laboratorio con el problema 6, incluido el pre-blanqueado. Cierre: lista de lo que el periodograma no dice (§7).
Errores frecuentes
- Aplicar la frecuencia de Nyquist 1/(2Δt medio) a datos irregulares: no existe tal límite; usar la pseudo-Nyquist o la física.
- Tomar la anchura del pico como error del periodo.
- Interpretar una FAP pequeña como prueba de que el periodo es el del pico más alto y no un alias.
- Usar rejillas uniformes en periodo.
- Olvidar la media flotante con cobertura de fase incompleta.