• Saltar al contenido principal
  • Skip to secondary menu
  • Saltar a la barra lateral principal
  • Saltar al pie de página
  • Inicio
  • Secciones
    • Ciencia de datos
    • Criptografía
    • Herramientas
    • Machine Learning
    • Noticias
    • Opinión
    • Productividad
    • Programación
      • JavaScript
      • Julia
      • Matlab
      • Python
      • R
  • Programación
    • JavaScript
    • Julia
    • Matlab
    • Python
    • R
  • Noticias
  • Boletín
  • Contacto
  • Tienda
    • Libros
    • Equipamiento de oficina
    • Equipamiento en movilidad
    • Tiendas afiliadas
      • AliExpress
      • Amazon
      • Banggood
      • GeekBuying
      • Lenovo

Analytics Lane

Ciencia e ingeniería de datos aplicada

  • Ciencia de datos
  • Machine Learning
  • Python
  • Pandas
  • NumPy
  • Matlab
  • Julia
  • Excel
  • IA Generativa

Ganar con números calientes y fríos en la Primitiva

septiembre 25, 2020 Por Daniel Rodríguez Deja un comentario
Tiempo de lectura: 7 minutos

Existen numerosas estrategias para intentar ganar en juegos de azar donde es necesario escoger ciertos números. Cómo puede ser La Primitiva en España, Euromillones en media Europa o la Powerball en los Estados Unidos. Dos de los más populares son jugar los números calientes o fríos. Por un lado, los números calientes son aquellos que han salido más veces en los últimos sorteos. Mientras que los números fríos son aquellos que han aparecido menos o no han salido en los últimos sorteos. Existiendo defensores de ambos métodos. Hoy vamos a ver cómo calcular los números calientes y fríos de la Lotería Primitiva (proceso que se puede repetir para otros sorteos) y comprobar si esta estrategia da mejores resultados que jugar los números al azar.

Tabla de contenidos

  • 1 Los números calientes y fríos
    • 1.1 ¿Por qué jugar números calientes?
    • 1.2 Por qué jugar número fríos
  • 2 ¿Es mejor jugar números calientes o fríos que jugarlos al azar?
    • 2.1 Resultados de jugar con los números calientes
    • 2.2 Resultados de jugar los números fríos
  • 3 Conclusiones
  • 4 Apéndice: código Python para reproducir los resultados

Los números calientes y fríos

Primero debemos saber qué se entiende por “temperatura” de un número en los juegos de azar. La temperatura de un número es el número de apariciones que ha tenido en los últimos sorteos. Así, si ordenamos los números en base a la cantidad de apariciones en los últimos sorteos se tiene que los primeros números de la lista son los calientes y los últimos los fríos. Números a los que alguna gente recomienda jugar por los siguientes motivos.

Publicidad


¿Por qué jugar números calientes?

El principal motivo por el que se defiende jugar a los números es porque estos son los que más aparecen. Por lo que tiene más “posibilidades” de aparecer que otros. Así las posibilidades de ganar son mayores. Algo que estadísticamente no es cierto, ya que las rachas son algo completamente normal en procesos aleatorios. Aunque se puede defender que como los sorteos se realizan con bolas, es posible que pequeñas diferencias existentes entre estas no todas tengan las mismas posibilidades de salir. Es decir, pequeños defectos en su construcción pueden afectar al resultado.

Tutorial de Mypy para Principiantes
En Analytics Lane
Tutorial de Mypy para Principiantes

Por qué jugar número fríos

La principal defensa que se suele escuchar a los defensores de jugar número fríos procede de “La ley de los Grandes Números”. Una ley estadística que dice que en una serie aleatoria las apariciones observadas en los números tienden a la probabilidad a medida que aumentan las observaciones. Es decir, todos los números aparecerán las mismas veces. Por lo que los números que no han aparecido menos deberían aparecer más en los próximos sorteos. Lo que nos debería ofrecer más posibilidades.

Aunque la ley de los grandes números es una ley estadística real, en este caso los defensores del método no la interpretan correctamente. La ley no quiere decir inmediatamente después de un sorteo en el que salen un número, esto no volverá a salir hasta que salga el resto. Ni que deban aparecer los que no han salido. Sino que, al crecer el número de observaciones, la media de apariciones de cada número tenderá a la probabilidad.

Publicidad


¿Es mejor jugar números calientes o fríos que jugarlos al azar?

Quizás esta sea la pregunta por la que estás leyendo esta entrada. Algo que se puede comprobar de forma experimental usando los datos históricos. Podemos descargar los datos de todos los sorteos de La Primitiva en España, existen datos desde 1985, jugar con ambos métodos y comprobar si los resultados que se hubiesen obtenido en estos 35 años son mejores que los calculados por la estadística. Datos que podemos descargar en diferentes formatos desde Lotoideas.

En el experimento se van a emplear los datos desde el primer sorteo realizado en 1985 hasta el 17 de septiembre de 2020. Es decir, se va a probar lo que pasaría en 3345 sorteos. Usando para ellos los números calientes y fríos de los 10 o 100 últimos sorteos. Comprobado que hubiese obtenido un jugador aplicando estas técnicas durante los últimos 35 años.

Resultados de jugar con los números calientes

Al jugar con los números calientes durante los últimos 35 años lo primero que se observa es que nunca se hubiese obtenido más de cuatro aciertos. Nunca un premio mayor en 35 años. Tanto si se emplean los últimos 10 o 100 sorteos para calcular las apuestas.

En la siguiente tabla se muestran los resultados del exprimiendo junto a la probabilidad de acercar cada una de las combinaciones. En ambos casos se puede comprobar como los porcentajes se acercan a la probabilidad calculada. Lo que nos demuestra que usar números calientes no es mejor que jugar al azar.

AciertosÚltimos 10Últimos 100Probabilidad
043,99%44,65%43,6%
140,84%39,07%41,3%
213,31%14,21%13,2%
31,68%1,94%1,8%
40,18%0,12%0,097%
Resultados en los últimos 35 años jugando número calientes basados en los 10 o 100 últimos sorteos frente a la probabilidad real

Publicidad


Resultados de jugar los números fríos

Los resultados con los números fríos son similares a los que se encuentra jugando con números caliente. En este caso el mejor resultado son cuatro aciertos. Tampoco se hubiese obtenido un premio mayor durante los últimos 35 años. Los resultados obtenidos se muestran en la siguiente tabla.

AciertosÚltimos 10Últimos 100Probabilidad
043,27%43,67%43,6%
141,53%40,83%41,3%
213,25%13,22%13,2%
31,86%2,19%1,8%
40,09%0,06%0,097%
Resultados en los últimos 35 años jugando número fríos basados en los 10 o 100 últimos sorteos frente a la probabilidad real

Al igual que el caso anterior, los valores que se obtienen son muy parecidos a los que predice la teoría. Por lo que tampoco supone una ventaja jugar con números fríos.

Conclusiones

Con un sencillo experimento hemos comprobado que, en los últimos 35 años, no existe una mayor probabilidad de ganar jugando números calientes o fríos que jugando al azar. En ambos casos el mayor premio obtenido son cuatro aciertos de seis. Un premio que se puede considerar todavía menor. Además, los resultados no son mejores que jugar al azar.

Esto demuestra que ambas técnicas no ofrecen ninguna ventaja, posiblemente sea lo contrario. Dado que en estos juegos los premios se reparten entre los ganadores y existen muchos jugadores que usan esta técnica. En el improbable caso de ganar los premios se repartirán entre más y, por lo tanto, serán menores. Es decir, cualquiera de estas dos técnicas para seleccionar los números es igual de buena que hacerlo aleatoriamente, aunque los premios esperados posiblemente sean menores.

Al igual que hemos visto con la estrategia Martingala, aunque estas técnicas pueden “parecer buenas” en teoría cuando alguien las explica, no ofrecen ninguna ventaja. Algo que es difícil en un juego de azar bien diseñados.

Visto los premios obtenidos, los mismos que jugando al azar, nos puede convencer de que no es aconsejable jugar a la lotería. Por lo menos desde un punto de vista únicamente financiero.

Publicidad


Apéndice: código Python para reproducir los resultados

A continuación, dejo el código Python empleado para realizar los experimentos. Un código con el que podréis comprobar los resultados, repetidos con otros rangos y aplicarlos a otros juegos.

def numeros_calientes(historico, desde=None, sorteos=None, complementario=False):
    if (desde is None):
        desde = 0
        
    if (sorteos is None):
        sorteos = min(desde + historico.shape[0], historico.shape[0])
    
    if complementario:
        col = 8
    else:
        col = 7
    
    sorteos = sorteos + desde
    numeros = historico.iloc[desde:sorteos, 1:col].to_numpy()
    numeros = numeros.reshape(1, numeros.shape[0] * numeros.shape[1])
    unicos, veces = np.unique(numeros, return_counts=True)
    
    return unicos[np.argsort(-veces)[0:6]]


def numeros_frios(historico, desde=None, sorteos=None, complementario=False):
    if (desde is None):
        desde = 0
        
    if (sorteos is None):
        sorteos = min(desde + historico.shape[0], historico.shape[0])
    
    if complementario:
        col = 8
    else:
        col = 7
        
    sorteos = sorteos + desde
    numeros = historico.iloc[desde:sorteos, 1:col].to_numpy()
    numeros = numeros.reshape(1, numeros.shape[0] * numeros.shape[1])
    unicos, veces = np.unique(numeros, return_counts=True)

    frios = []

    for num in range(1, 50):
        if num not in unicos:
            frios.append(num)

    frios = np.append(frios, unicos[np.argsort(veces)])
    return frios[0:6]


def simula(historico, sorteos, complementario=False, calientes=True):
    resultados = np.zeros(8)
    
    for sorteo in range(historico.shape[0] - sorteos):
        if calientes:
            numeros = numeros_calientes(historico, sorteo + 1, sorteos + 1, complementario)
        else:
            numeros = numeros_frios(historico, sorteo + 1, sorteos + 1, complementario)
            
        aciertos = np.sum(np.in1d(numeros, historico.iloc[sorteo, 1:7].to_numpy()))
        acierto_complementario= historico.iloc[sorteo, 7] in numeros
        
        if acierto_complementario and aciertos == 5:
            resultados[7] += 1
        else:
            resultados[aciertos] += 1
            
    return resultados

La función numeros_calientes obtiene los números calientes para el los sorteos anteriores al desde en orden inverso. Esto es, el sorteo 0 es último en nuestro conjunto de datos, 1 es el penúltimo y así hasta el final. Además, el método permite usar el complementario, número que también se extrae en el sorteo, para calcular también los números calientes. Opción que por defecto no se usa.

La función numeros_frios funciona exactamente igual para obtener los números fríos.

Finalmente, la función simula usa las dos anteriores para realizar la simulación. Función que necesita los datos, la cantidad de sorteos que se usan para buscar los números calientes o fríos, la opción de usar el complementario y si se desea simular con números fríos o calientes. Devolviendo un vector con el número de veces que se ha acertado un número de bolas y cinco más el complementario.

El formato de histórico es un DataFrame que se obtiene al importar los datos con Pandas. Por ejemplo, los primeros cinco registros del conjunto empleado son:

                 Fecha  N1  N2  N3  N4  N5  N6  NC   R.      JOKER
0  2020-09-17 00:00:00   8  18  19  20  36  40  37  9.0  6316945.0
1  2020-09-12 00:00:00   5  18  25  28  35  46   2  4.0  8403588.0
2  2020-09-10 00:00:00  23  29  30  36  37  43  33  7.0  9766090.0
3  2020-09-05 00:00:00   7  12  14  21  34  38  24  2.0  5865390.0
4  2020-09-03 00:00:00  10  11  13  26  44  45  37  5.0  2540174.0

Imagen de Alejandro Garay en Pixabay

¿Te ha parecido de utilidad el contenido?

¡Puntúalo entre una y cinco estrellas!

Puntuación promedio 5 / 5. Votos emitidos: 1

Ya que has encontrado útil este contenido...

¡Síguenos en redes sociales!

¡Siento que este contenido no te haya sido útil!

¡Déjame mejorar este contenido!

Dime, ¿cómo puedo mejorar este contenido?

Publicaciones relacionadas

  • Tutorial de Mypy para Principiantes
  • Semana sin nuevas publicaciones
  • Combinar gráficos con FacetGrid: Cómo analizar tendencias complejas en múltiples paneles con Seaborn
  • Introducción a igraph en R (Parte 6): Centralidad de Katz en grafos
  • Cómo modificar los mensajes de commit en Git
  • Optimización de memoria en Pandas: Usar tipos de datos personalizados para manejar grandes conjuntos de datos
  • Introducción a igraph en R (Parte 7): Centralidad de Bonacich
  • ¡Analytics Lane cumple siete años!
  • Sincronizar múltiples ejes con twinx(): Comparación de datos con diferentes escalas en un solo gráfico con Matplotlib

Publicado en: Opinión Etiquetado como: Juegos de azar

Interacciones con los lectores

Deja una respuesta Cancelar la respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

I accept the Terms and Conditions and the Privacy Policy

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Barra lateral principal

Suscríbete a nuestro boletín

Suscríbete al boletín semanal para estar al día de todas las publicaciones.

Política de Privacidad

Analytics Lane en redes sociales

  • Amazon
  • Bluesky
  • Facebook
  • GitHub
  • Instagram
  • Mastodon
  • Pinterest
  • RSS
  • Telegram
  • Tumblr
  • Twitter
  • YouTube

Publicidad

Entradas recientes

Variables globales en Python: Problemas y cómo evitarlos

mayo 12, 2025 Por Daniel Rodríguez

Los valores numéricos en los ordenadores: Entendiendo enteros, flotantes y más

mayo 9, 2025 Por Daniel Rodríguez

Introducción a igraph en R (Parte 8): PageRank

mayo 7, 2025 Por Daniel Rodríguez

Publicidad

Es tendencia

  • Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas publicado el mayo 10, 2019 | en Python
  • Método del codo (Elbow method) para seleccionar el número óptimo de clústeres en K-means publicado el junio 9, 2023 | en Ciencia de datos
  • Seleccionar la opción para compactar la base de datos en Microsoft SQL Server Manager Studio Reducir el tamaño en SQL Server de una base de datos publicado el febrero 10, 2023 | en Herramientas
  • Copiar y pegar Activar copiar y pegar en VirtualBox publicado el mayo 1, 2019 | en Herramientas
  • Justicio: La herramienta gratuita de IA para consultas legales publicado el diciembre 10, 2024 | en Reseñas

Publicidad

Lo mejor valorado

4.9 (24)

Seleccionar filas y columnas en Pandas con iloc y loc

4.6 (16)

Archivos JSON con Python: lectura y escritura

4.4 (14)

Ordenación de diccionarios en Python mediante clave o valor

4.7 (13)

Operaciones de filtrado de DataFrame con Pandas en base a los valores de las columnas

4.5 (10)

Diferencias entre var y let en JavaScript

Publicidad

Comentarios recientes

  • Daniel Rodríguez en Tutorial de Mypy para Principiantes
  • Javier en Tutorial de Mypy para Principiantes
  • javier en Problemas con listas mutables en Python: Cómo evitar efectos inesperados
  • soldado en Numpy básico: encontrar la posición de un elemento en un Array de Numpy
  • plataformas AéReas en Numpy básico: encontrar la posición de un elemento en un Array de Numpy

Publicidad


Footer

Analytics Lane

  • Acerca de Analytics Lane
  • Boletín de noticias
  • Contacto
  • Libros
  • Lo más popular
  • Noticias
  • Tienda
  • Tiendas afiliadas

Secciones

  • Ciencia de datos
  • Criptografía
  • Herramientas
  • Machine Learning
  • Opinión
  • Productividad
  • Programación
  • Reseñas

Sobre de Analytics Lane

En Analytics Lane tratamos de explicar los principales conceptos de la ciencia e ingeniería de datos con un enfoque práctico. Los principales temas tratados son ciencia de datos, ingeniería de datos, inteligencia artificial, machine learning, deep learning y criptografía. Además, también se habla de los principales lenguajes de programación y herramientas utilizadas por los científicos e ingenieros de datos.

Copyright © 2018-2025 Analytics Lane ·Términos y condiciones ·Política de Cookies ·Política de Privacidad ·Herramientas de privacidad ·Contacto