import streamlit as st import numpy as np import plotly.graph_objects as go import pandas as pd from PIL import Image #Criei uma função para repetir o HTML def html(conteudo): st.markdown(conteudo, unsafe_allow_html=True) st.markdown("### Simulação de Gols por Partida") html('
Um técnico de futebol quer entender a estatística por trás do campo e aumentar a efetividade do seu time
') html('Para variar o esquema tático ele desenvolveu uma ferramenta para saber se precisa colocar em campo jogadores que vão conseguir produzir mais volume de jogo (mais chutes ao gol) ou um atacante mais efetivo, que aumentaria a probabilidade de fazer o gol
') html('Com isso, desenvolveu a ferramenta utilizando a Distribuição Binomial. Ele já sabe que o seu time tem a probabilidade de fazer um gol por chute de 14%, ele quer saber qual esquema tático utilizar, enquanto o jogo acontece, variando os parâmetros que ele pode controlar; Como a quantidade de chutes que está dada ao gol.
') html('X = o número de Gols ou a variável aleatória; k = seria o valor de gols; n = o número total de chutes na partida; p a probabilidade desse chute virar gol;
') html('(1-p) = probabilidade de errar o gol; (n/k) = numero de combinações possíveis de escolher (k) gols em (n) tentativas
') html('Exemplo: n = 5, p = 0.2 e k = 2, o resultado é: 20,48% de chance de fazer exatamente 2 gols em 5 chutes
') html('Por que usar a Binomial?
') html('Com a simulação monte carlo e utilizando a Distribuição Binomial, o técnico vai saber a distribuição, tendo a ideia de quantos gols fará variando o seu esquema tático (afetando chutes e a probabilidade de fazer o gol)
') probabilidade_gol = (probabilidade_gol/100) simulacoes = np.random.binomial(numero_chutes_partida, probabilidade_gol, simulacoes_monte_carlo) if "params" not in st.session_state or st.session_state.params != ( numero_chutes_partida, probabilidade_gol, simulacoes_monte_carlo, ): st.session_state.simulacoes = np.random.binomial( numero_chutes_partida, probabilidade_gol, simulacoes_monte_carlo ) st.session_state.params = ( numero_chutes_partida, probabilidade_gol, simulacoes_monte_carlo, ) # Recupera as simulações salvas simulacoes = st.session_state.simulacoes html('