Bootstrapping é um método que pode ser utilizado para construir um intervalo de confiança para uma estatística quando o tamanho da amostra é pequeno e a distribuição subjacente é desconhecida.
O processo básico de bootstrapping é o seguinte:
- Tomar k amostras repetidas com substituição de um determinado conjunto de dados.
- Para cada amostra, calcule a estatística em que está interessado.
- Isto resulta em k estimativas diferentes para uma determinada estatística, que pode depois utilizar para calcular um intervalo de confiança para a estatística.
A forma mais fácil de efetuar o bootstrapping em Python é utilizar a função bootstrap do pacote SciPy biblioteca.
O exemplo seguinte mostra como utilizar esta função na prática.
Exemplo: Executar o Bootstrapping em Python
Suponhamos que criamos um conjunto de dados em Python que contém 15 valores:
#definir matriz de valores de dados dados = [7, 9, 10, 10, 12, 14, 15, 16, 16, 17, 19, 20, 21, 21, 23]
Podemos usar o código a seguir para calcular um intervalo de confiança bootstrapped de 95% para o valor mediano:
from scipy. stats import bootstrap import numpy as np #converter matriz para sequência data = (data,) #calcular intervalo de confiança bootstrapped a 95% para a mediana bootstrap_ci = bootstrap(data, np. median , confidence_level= 0.95 , random_state= 1 , method="percentile") #ver intervalo de confiança bootstrapped a 95% print (bootstrap_ci. confidence_interval ) ConfidenceInterval(low=10.0, high=20.0)
O intervalo de confiança bootstrapped de 95% para a mediana é [10.0, 20.0] .
Eis o que o boostrap() função que efetivamente se realizava sob o capô:
- O bootstrap() gerou 9.999 amostras com substituição. (A predefinição é 9.999, mas pode utilizar a função n_amostras argumento para alterar este número)
- Para cada amostra bootstrapped, foi calculada a mediana.
- O valor da mediana de cada amostra foi ordenado do menor para o maior e o valor da mediana no percentil 2,5% e no percentil 97,5% foi utilizado para construir os limites inferior e superior do intervalo de confiança de 95%.
Note-se que é possível calcular um intervalo de confiança bootstrapped para praticamente qualquer estatística.
Por exemplo, podemos alterar np.mediana para np.std dentro do bootstrap() para, em vez disso, calcular um intervalo de confiança de 95% para o desvio padrão:
from scipy. stats import bootstrap import numpy as np #converter matriz para sequência data = (data,) #calcular intervalo de confiança bootstrapped a 95% para a mediana bootstrap_ci = bootstrap(data, np. std , confidence_level= 0.95 , random_state= 1 , method="percentile") #ver intervalo de confiança bootstrapped a 95% print (bootstrap_ci. confidence_interval ) ConfidenceInterval(low=3.3199732261303283,high=5.66478399066117)
O intervalo de confiança bootstrapped de 95% para o desvio padrão é [3.32, 5.67] .
Nota Para estes exemplos, optámos por criar intervalos de confiança de 95%, mas pode alterar o valor na opção nível_de_confiança para construir um intervalo de confiança de tamanho diferente.