Votre moyenne souhaitée est donnée par l'équation:
N⋅p−N⋅(1−p)N=.05
à partir de laquelle résulte que la probabilité de 1s
devrait être.525
En Python:
x = np.random.choice([-1,1], size=int(1e6), replace = True, p = [.475, .525])
Preuve:
x.mean()
0.050742000000000002
1'000 expériences avec 1'000'000 échantillons de 1 et -1:
Par souci d'exhaustivité (pointe du chapeau à @Elvis):
import scipy.stats as st
x = 2*st.binom(1, .525).rvs(1000000) - 1
x.mean()
0.053859999999999998
1'000 expériences avec 1'000'000 échantillons de 1 et -1:
Et enfin, à partir d'une distribution uniforme, comme suggéré par @ Łukasz Deryło (également en Python):
u = st.uniform(0,1).rvs(1000000)
x = 2*(u<.525) -1
x.mean()
0.049585999999999998
1'000 expériences avec 1'000'000 échantillons de 1 et -1:
Tous les trois semblent pratiquement identiques!
ÉDITER
Couple de droites sur le théorème de la limite centrale et la propagation des distributions résultantes.
Tout d'abord, les tirages de moyens suivent en effet la distribution normale.
Deuxièmement, @Elvis dans son commentaire à cette réponse a fait de bons calculs sur la répartition exacte des moyennes tirées sur 1'000 expériences (environ (0,048; 0,052)), intervalle de confiance à 95%.
Et ce sont les résultats des simulations, pour confirmer ses résultats:
mn = []
for _ in range(1000):
mn.append((2*st.binom(1, .525).rvs(1000000) - 1).mean())
np.percentile(mn, [2.5,97.5])
array([ 0.0480773, 0.0518703])