La distribución de Poisson: Test de ajuste

En esta segunda entrega sobre el uso de la distribución de Poisson para predecir resultados de partidos de Futbol vamos a exponer como podemos comprobar si nuestros datos se ajustan a este tipo de distribución o no. Esto se conoce en estadística como test de bondad de ajuste o, en inglés, goodness of fit test.

Este proceso que vamos a explicar se puede utilizar con cualquier tipo de variable en escala nominal u ordinal y sirve para cualquier tipo de distribución.

El test está basado en la distribución chi cuadrado () y fue creado por uno de los más reputados estadísticos de los últimos tiempos, Karl Pearson. Su base, como en todos los test de hipótesis, consiste en establecer dos hipótesis, la hipótesis nula que considera que los datos que tenemos se ajustan a una determinada distribución y la hipótesis alternativa que es la negación de la nula, es decir, nuestros datos no se ajustan a la distribución. Dicho así no parece muy claro, pero es como se suele explicar la teoría. Traducido al cristiano sería algo así: Tenemos unos datos que 'parece' que siguen una determinada distribución, pero hay unas diferencias entre los datos que tenemos (observados) y los que deberían de ser (esperados). ¿Son esas diferencias lo suficientemente grandes para que sean provocadas por el azar?. La respuesta a esta pregunta la obtendremos con el test de bondad de ajuste.

Alguno a estas alturas se estará preguntando, ¿pero para que necesito hacer esto, si saco la media y lo meto en la fórmula de Poisson y obtengo el resultado que necesito?. La respuesta es sencilla, si nuestros datos no siguen la distribución de Poisson, todas las predicciones que hagamos utilizando las fórmulas para esta distribución serán erroneos y si nos basamos en ellos para apostar, tenemos muchas posibilidades de ver numeros rojos en nuestro bank a final de temporada.

Después de este pequeño paréntesis económico, vamos a ver como podemos realizar el test de bondad de ajuste a una distribución de Poisson en Excel.

Para ello tomaremos los datos del total de goles marcados por partido en la primera división durante la temporada 2007-2008. Pulsando sobre estadísticas tendremos el resumen de los datos que necesitamos. Estos serían nuestros valores 'Observados'. El siguiente paso que debemos hacer es calcular la media de los goles totales marcados por partido. Al tener los datos resumidos no podemos utilizar la función promedio() si no que debemos hacer una especie de 'desagrupamiento'. Esto, como siempre, se puede hacer de varias formas, yo voy a explicar dos de ellas, las más sencillas.

La primera es crear una nueva columna en la que multiplicaremos el número de goles por la cantidad de partidos (Columna C). Sumaremos todos esos productos y dividiremos este valor por el total de partidos jugados.

La otra es usar la formula sumaproducto(A2:A11;B2:B11) y nos ahorramos el paso de las multiplicaciones, que lo hace excel internamente. El resultado es el mismo para ambos casos, ¡Faltaria más!.

Una vez calculada la media, lo que hacemos es determinar los valores 'Esperados' según una distribución de Poisson con esa media. Esto lo calculamos multiplicando la probabilidad de Poisson para cada resultado, por el total de partidos.

La última columna la utilizaremos para calcular el estádistico con la siguiente fórmula:



Esta columna es importante, porque nos da información de donde se producen las mayores discrepancias. Cuanto mayor sea el valor que obtengamos, mayor es la discrepancia entre el valor observado y el esperado. Más alejado está ese punto de su lugar teórico predicho por la curva de Poisson y más probabilidad tenemos de que el resultado del test nos diga que nuestros datos no se ajustan bien a la curva.

Ya solo nos queda sumar todos estos valores y 'buscar' dentro de la función y comprobar si las diferencias que hemos encontrado son lo suficientemente grandes o no para rechazar o no rechazar la hipótesis nula. Ya veis que he dicho rechazar o no rechazar, en lugar de rechazar o aceptar, porque NUNCA se acepta la hipótesis nula. Este es un error muy común en la interpretación de los resultados de test de este tipo. Pero dejaremos esto para un futuro.

La función tiene dos parámetros, el primero de ellos es el valor de nuestra suma, y el segundo son los grados de libertad para los que vamos a calcular este estadístico.

Los grados de libertad se obtienen con la siguiente fórmula: GL = Nc - Np - 1

Siendo Nc = al número de categorías que tenemos y Np = número de parámetros que estamos estimando. Para nuestro caso tenemos 10 categorías y vamos a estimar un parámetro solo que es la media: GL = 10 - 1 - 1 = 8

El valor que nos devuelve es lo que en estadística se llama P-Value, y corresponde a la probabilidad de equivocarnos si rechazamos la hipótesis nula. Como norma general se suele tomar como valores de corte el 5% ó el 1% dependiendo de lo restrictivos que seamos. Este valor lo debemos de tomar ANTES de la realización del test y será nuestro límite para rechazar o no rechazar la hipótesis nula.

En el ejemplo tenemos un P-Value de 0.54 con lo que debemos decir que las diferencias que hemos encontrados no son lo suficientemente grandes como para decir que nuestros datos no siguen una distribución de Poisson. Como esto es un poco engorroso, hay mucha gente, que viendo este P-Value, adopta una postura más comprometida y llega a decir que nuestros datos siguen una distribución de Poisson. Pero como ya he explicado esto no es del todo cierto, puede que siga una distribución de Poisson o puede que se acerquen más a otro tipo de distribución. El aspecto final de la hoja sería el siguiente:



Como no quiero extenderme más, solo hago una puntualización final. Si os fijais tenemos dos categorías con menos de 5 datos (8 y 9 goles), siendo estrictos deberíamos haber agrupado estas dos categorías y crear una nueva como más de 6 goles, agrupando en ella las categorias 7, 8 y 9 goles. El resultado del test varía poco en este caso, así que para no complicar más la explicación lo he dejado así. Si alguno está interesado en como se haría el test en este caso que lo diga y lo explicaremos.

Un saludo y hasta la próxima

EDITO 22/07/10: Al final he encontrado una forma de añadir hojas de cálculo al blog y he creado una mini hoja Excel para calcular los resultados de un partido de Futbol a partir de la media de goles marcados por cada equipo. La hoja la teneís aqui.

21 Comentarios:

Buzjss dijo...

Despues de ver el post, creo que es demasiado largo y poco visual, y me estoy planteando convertirlo en un video, que me parece que quedará mejor.

¿como lo veis vosotros?

Anónimo dijo...

Juraría que la negación de la hipótesis nula significa que no se puede asegurar que se cumpla la hipótesis nula, que no es exactamente lo mismo. O sea no es igual decir que no es posible asegurar algo que decir que es cierto su contrario.

Y lo del video está bien, pero a ser posible que salga alguna titi en pelota picada!!

Buzjss dijo...

Las premisas de cualquier test de hipotesis siempre son las mismas: una hipótesis nula y una hipótesis alternativa, que por norma general suele ser la negación de la nula. Por ello, aunque suene un poco paradojico, la hipótesis nula se suele enunciar de foma afirmativa y la alternativa de forma negativa.

En la interpretación de los resultados del test, la cosa cambia y es tal y como tu comentas. Puedes rechazar la hipótesis nula o no rechazarla, que no significa, como bien dices, que aceptes su contrario. Pero eso es en la interpretación de los resultados del test, no en el planteamiento de las hipótesis.

Lo de las titis en pelotas es una buena sugerencia, lo tendré en cuenta ;-)

Un saludo

Anónimo dijo...

GRACIAS Buzjss!

Ya espero con ganas tu próximo aporte en ésta linea de estudios :)

Próximo capítulo: La Normal, o la que quieras jeje (Bueno, la Normal o la guapa, la fea no! xD)

Att. Galois.

valdetoc dijo...

Para ello tomaremos los datos del total de goles marcados por partido en la primera división durante la temporada 2007-2008.
¿se refiere a los partidos que ha disputado el equipo en la temporada pasada o a la suma de todos los partidos.?

Buzjss dijo...

Depende en cada caso de lo que pretendas demostrar. En el ejemplo queríamos demostrar que los goles marcados por todos los equipos en la temporada pasada siguen una distribución de Poisson, así que los datos son de todos los partidos.

Pero lo normal es que se haga para cada equipo y separando partidos en casa y fuera. Así habría que hacer para cada uno de los equipos dos test de ajuste, uno para los partidos en casa y otro para los partidos fuera y comprobar que no falla ninguno el test.

valdetoc dijo...

¿como es la formula para calcluar p-value?
Me gustaria saber como se calcularia a mano, no en excel.

Gracias

Buzjss dijo...

A mano?, en la era de la informática!!, esto si es noticia. Pues lo más sencillo es hacerlo a través de tablas de la distribución Chi cuadrado. Haces todo igual que lo que has visto en el post y luego buscas el valor más próximo a 6.98 en la fila de 8 grados de libertad. En este caso el más proximo es 6.87 que está en la columna 0.55.

Las tablas las tienes aquí:

http://www.cema.edu.ar/~rst/Simulacion_de_Sistemas/Teoria/tablachicuadrado.pdf

valdetoc dijo...

Gracis por contestar, cuando me referia a "mano" es que estoy haciendo un progragamita en access y vba que me lo automatice lo maximo posible y lo unico que me faltaba era el p-value. Le echare un vistazo y a ver que tal.

Muchas gracias y un saludo.

valdetoc dijo...

Por cierto, en el ejemplo que pones del excel, ¿cual seria la conclusion? ¿El valor a elegir es 93.40?

Un saludo y muchas gracias

Buzjss dijo...

La conclusion es que no hemos encontado diferencias lo suficientemente grandes como para decir que estos datos no siguen una distribución de poisson.

Voy a ver si preparo una entrada dedicada exclusivamente a intentar explicar como se interpreta el p-value. Porque es un poco engorroso.

Lo del 93.4 no se de donde lo sacas.

Anónimo dijo...

HOla Buzjss :

muy buen aporte , queria saber como saco chiz para la variable : X(t):numero de autos que pasan por cierta calle en el intervalo [0,60], los datos tomados son por minuto . Ej: 15 autos cruzan el primer minuto, 18 el segundo minuto, 19 el tercer minuto , etc hasta 60 minutos.

Muchas Gracias .

Buzjss dijo...

Hola, ya he comentado en otras entradas que no puedo dedicarme a resolver problemas, debeis ser vosotros los que, utilizando lo que explico en las entradas, lo debeis hacer.

Siguiendo paso a paso todo lo explicado en esta entrada deberías porder resover tu duda sin mayores complicaciones.

Quique dijo...

Hola, que tal? sabés he buscado en la web material sobre la aplicación de Poisson a las apuestas y he visto con sorpresa que todos ofrecen el mismo material, se vé que alguien hizo el cálculo y muchos otros los copiaron.
En realidad sos el único que utilizó un test de hipótesis de bondad de ajuste para ver cuanto ajustaba el modelo, pero, el p-valor es una probabilidad y 0,54 es un valor altísimo, porque estamos hablando en tanto por 1, o sea que sería del orden del 54%.
Obviamente que la hipótesis nula se rechazaría para cualquier nivel de significación usual, como lo son el 1%, 5% o 10% como máximo.

Una cosa que estuve viendo es que para la utilización de la Variable Aleatoria de Poisson como lo hacen, es necesidad de la independencia entre las variables número de goles de A y número de goles de B (es por eso que la cuantía conjunta es el producto de las marginales correspondientes) pero esto habría que probarlo con otro test de hipótesis.
Para ello yo buscaría las probabilidades usadas en algún cuadro de resultados exactos ( o sea usando las cuotas saco la ganancia esperada y luego divido los inversos de las cotas por dicha esperanza obteniendo las probabilidades usadas)
Con las probabilidades usadas calcularía la esperanza que es el parámetro lambda estimado y es el que utilizaría a su vez para calcular los valores esperados.
Desde ya muchas gracias por su atención.
Quique

Quique dijo...

Hola, disculpame, si el p-valor es mayor que el nivel de significación usado no se rechaza H0 y no rechazo la hipotesis nula, lo que es equivalente a reafirmar que la variable puede distribuir Poisson.
Ok o sea que tienes razón y está correcto lo que hicistes.

Buzjss dijo...

Hola Quique, demostrar la independencia de las variables para aplicar Poisson sería lo ideal, aunque no es fácil. Para calcular las probabilidades asociadas puedes leerte este post:

http://buzjss.blogspot.com/2009/02/relacion-entre-cuota-y-probabilidad.html

En cuanto al último comentario, tienes razon en parte, con este valor de p no podemos rechazar H0, pero eso no es equivalente a aceptar la hipótesis alternativa. Este es un error muy común en la interpretación de los resultados de un test de hipótesis.
Cuando esto sucede lo que se debe decir es que no se han encontrado evidencias suficientes (como en una investigación policial) para decir que esos datos no siguen una distribución de Poisson. Entonces se debería plantear un test de potencia del test, valga la redundancia. Pero esto tampoco se suele hacer demasiado a menudo.

Eje dijo...

Buen artículo. Estoy estudiando estadística y me resulta muy ilustrativo. Pero me surge una duda en el final de la hoja de cálculo. Las letras que pongo entre paréntesis corresponden a las celdas de la imagen del excel en la que explicas las fórmulas de cada casilla
En la casilla del p-value (E13) ¿no tendría que calcularse el Chi2 de 0.05 en lugar del total de la columna E (E12) (en ambos casos con n-1-1 g.l.) y posteriormente comparar el total de la columna E (E12) con dicho p-value (E13) manteniendo H0 si dicho total (E12) es menor o igual que el p-value (E13)?
Espero haberme explicado bien, que es un poco farragoso explicarlo.

Buzjss dijo...
Este comentario ha sido eliminado por el autor.
Buzjss dijo...

Hola Eje:

No, la distribución Chi2 se utiliza para evaluar si las diferencias que hemos encontraod entre los datos observados (O) y los esperados o teóricos (E) son lo suficientemente grandes para rechazar la hipótesis nula o no.

Este valor que nos devuelve la Chi2 lo comparamos con nuestro p-value determinado desde el principio del estudio y en base a esto decidimos rechazar o no rechazar H0.

Eje dijo...

Es curioso que lleve un tiempo probando el cálculo estadístico basado en la distribución de Poisson para el futbol (para apuestas 1x2 y over/under) en liga española, premier y serie a (con los resultados de este año en las 3 competiciones) y, aunque el test de bondad de ajuste en premier y serie a da un resultado muy superior al p-value inicial (0.05), y en liga española muy inferior, el porcentaje de aciertos en liga española es increíblemente superior a las otras dos ligas. Son bastantes partidos utilizados en el test de bondad de ajuste y creo que ya bastantes pronosticados, pero por más vueltas que le doy no consigo encontrar la explicación.

Buzjss dijo...

Eso está bien, jajaja. Como digo en la entrada que el resultado del test de ajuste de más de 0.05 NO INDICA QUE LOS DATOS SIGAN ESA DISTRIBUCION. Simplemente indican que no se desvian lo suficiente de los datos teoricos como para decir que no son datos Poisson o datos de la distribucion sobre la que estamos haciendo el test.
En cambio si el test da un valor inferior a ese 0.05 si que se puede decir que no pertenecen a la distribucion.
En cuanto a lo de los resultados, habría que analizarlos un poco más porque una cosa es el % de aciertos y otra el beneficio obtenido.