{ "cells": [ { "cell_type": "markdown", "metadata": { "tags": [ "Simulation", "Bernoulli", "random", "jeu", "dé", "randint", "pièce" ] }, "source": [ "# Simulation d'échantillons d'une loi de Bernoulli" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "première-technologique" ] }, "source": [ "## Présentation de l'activité\n", "- **Niveau de classe :** \n", " - Classe de première de la voie technologique (tronc commun).\n", "- **Références au programme :** \n", " - Tronc commun de première de la voie technologique : *simuler des échantillons de taille n d’une loi de Bernoulli de paramètre $p$ à partir d’un générateur de nombres aléatoires entre 0 et 1*.\n", " - Tronc commun de première de la voie technologique : *représenter par un histogramme ou par un nuage de points les fréquences de $1$ dans $N$ échantillons de taille n d’une loi de Bernoulli*.\n", " - Tronc commun de première de la voie technologique : *compter le nombre de valeurs situées dans un intervalle de la forme $[p-ks;p+ks]$ pour $k\\in\\{ 1,2,3\\}$*.\n", "- **Description :** cette activité permet dans un premier temps de simuler un jeu à deux issues (gagner ou perdre). Dans un deuxième temps, on propose de calculer mathématiquement la probabilité de gagner $p$. Puis on simule $N$ échantillons de $n$ parties de ce jeu. On écrit alors un programme qui calcule la moyenne $m$ et l'écart-type $s$ de la série statistique constituée des fréquences de gagner observées sur chaque échantillon de $n$ parties. On observe la fluctuation de ces fréquences autour de $p$ et on compte la proportion des cas où ces fréquences sont situées dans un intervalle de la forme $[p-ks;p+ks]$ pour $k\\in\\{ 1,2,3\\}$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Un jeu\n", "On considère un jeu dans lequel on dispose d'un dé à six faces numérotées de $1$ à $6$ et d'une pièce ayant un côté Pile et un côté Face. Le dé est bien équilibré, en revanche la pièce a deux fois plus de chance de tomber sur Pile que sur Face. Dans ce jeu, on lance tout d'abord le dé et on lit le chiffre apparaissant sur la face supérieure.\n", "- Si le $6$ apparaît, alors le joueur a gagné.\n", "- Si un nombre impair apparaît, alors le joueur a perdu.\n", "- Si le nombre $2$ ou $4$ apparaît, alors on lance la pièce. Si on obtient Pile, alors le joueur a gagné sinon, il a perdu.\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation du dé\n", "\n", "Pour simuler le dé, on utilise la fonction `randint` de la bibliothèque `random`. Cette fonction permet de générer aléatoirement, de manière équiprobable, un nombre entier compris entre deux bornes. Ce nombre correspond au numéro de la face du dé obtenu après un lancer." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "L'instruction suivante permet l'importation de la fonction `randint` de la bibliothèque `random`. " ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "from random import randint" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La fonction `simulDe` renvoie un nombre entier aléatoire compris entre $1$ et $6$. " ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "2" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def simulDe():\n", "\treturn randint(1,6)\n", "\n", "simulDe()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation de la pièce\n", "La simulation du lancer de la pièce utilise la fonction `random` de la bibliothèque `random`. Cette fonction renvoie un nombre de type flottant compris entre $0$ et $1$. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Importation de la fonction `random` de la bibliothèque `random`" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "from random import random" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La fonction `simulPiece` renvoie $1$ avec la probabilité $\\frac{2}{3}$ et $0$ avec la probabilité $\\frac{1}{3}$. Le $1$ correspond à l'obtention de Pile et le $0$ à l'obtention de Face." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def simulPiece():\n", " X = random()\n", " if X < 2/3:\n", " return 1\n", " else:\n", " return 0\n", " \n", "simulPiece()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 3 et 6 par `if X...` et `return ...`, demander aux élèves de compléter les lignes 3 et 6.\n", "- **Tester** plusieurs fois la fonction `simulPiece` et vérifier la cohérence des résultats.\n", "\n", "- **Mathématiques débranchées**\n", "\n", "Montrer que la probabilité $p$ de gagner à ce jeu est égale à $\\frac{7}{18}$." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Simulation du jeu\n", "Les fonctions précédentes permettent de simuler le jeu." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La fonction `jeu` simule une partie et renvoie 0 si le joueur a perdu et 1 s'il a gagné." ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def jeu():\n", "\tX = simulDe()\n", "\tif X == 6:\n", "\t\treturn 1\n", "\telif X==1 or X==3 or X==5:\n", "\t\treturn 0\n", "\telse:\n", "\t\tY=simulPiece()\n", "\t\tif Y==1:\n", "\t\t\treturn 1\n", "\t\telse:\n", "\t\t\treturn 0\n", " \n", "jeu()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 3, 5, 9 et 12 par `if X...`, `elif ...`, `if Y==...` et `return ...`, demander aux élèves de compléter les lignes 3, 5, 9 et 12. \n", "- **Écrire un programme**\n", "\n", " Écrire une fonction `simulPiece` simulant une partie." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Estimation" ] }, "source": [ "## Simulation de $n$ parties\n", "La fonction `frequence` prend en paramètre un entier naturel $n$ correspondant au nombre de parties jouées et renvoie la fréquence de succès au cours de ces parties.\n" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "tags": [ "Fréquence" ] }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.34\n" ] } ], "source": [ "def frequence(n):\n", " nbSucces = 0\n", " for i in range(n):\n", " nbSucces = nbSucces+jeu()\n", " return nbSucces/n\n", "\n", "print(frequence(50))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 2, 3, 4, 5, 6 et 7 par `nbSucces = ...`, `for i in range(...)`, `X = ...`, `if X==...`, `nbSucces = ...` et `return ...`, demander aux élèves de compléter les lignes 2, 3, 4, 5, 6 et 7.\n", "- **Écrire un programme**\n", "\n", " Écrire une fonction `frequence` donnant la fréquence des parties gagnées sur $n$ parties simulées." ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Echantillon" ] }, "source": [ "## Calcul des fréquences de succès sur $N$ échantillons de taille $n$\n", "\n", "Il est maintenant possible de générer $N$ échantillons de taille $n$ et de calculer pour chacun d'eux la fréquence de succès. \n", "\n", "La fonction `echantillonFrequence` prend en paramètres deux entiers $N$ et $n$. L'entier $N$ correspond au nombre d'échantillons et l'entier $n$ à la taille commune à tous ces échantillons. Elle renvoie une liste contenant les $N$ fréquences de succès calculées sur chacun des échantillons. " ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [], "source": [ "def echantillonFrequence(N,n):\n", "\techantillon = []\n", "\tfor i in range(N):\n", "\t\techantillon.append(frequence(n))\n", "\treturn echantillon" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant la ligne 4 par `echantillon.append(...)`, demander aux élèves de compléter la ligne 4.\n", "- **Écrire un programme**\n", "\n", " Écrire une fonction `echantillonFrequence` donnant une liste contenant les $N$ fréquences des $N$ parties de $n$ jeux." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les instructions suivantes permettent l'importation des librairies graphiques." ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [], "source": [ "%matplotlib inline\n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**Représentation du nuage de points et de l'histogramme des fréquences de 1 dans N échantillons simulant chacun $n$ parties du jeu.**" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(1, 2,figsize=(15, 6))\n", "\n", "N=100\n", "n=50\n", "\n", "echantillon = echantillonFrequence(N,n)\n", "\n", "ax1.plot(echantillon,'bo')\n", "ax2.hist(echantillon,color = '#1e7fcb',edgecolor = 'red')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Tester** le programme précédent en faisant varier $N$ et $n$. Comment semblent être réparties les valeurs ?" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "intervalle", "confiance" ] }, "source": [ "## Fluctuation d'échantillonnage\n", "\n", "L'objectif est de montrer que, si les fréquences de succès correspondant aux différents échantillons fluctuent, cette fluctuation se fait autour de la probabilité $p$ et est contrôlée par l'écart-type de la distribution de ces fréquences. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculs de moyenne et d'écart-type" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "La fonction `moyenne` a pour paramètre une liste de nombres et renvoie la moyenne de cette liste." ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [], "source": [ "def moyenne(L):\n", " n = len(L)\n", " s = 0\n", " for x in L:\n", " s = s + x\n", " return s/n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme** \n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 2, 3 et 5 par `n = len(...)`, `s = ...`, et `s = ...`, demander aux élèves de compléter les lignes 2, 3 et 5.\n", "- **Écrire un programme :** \n", "\n", " Écrire une fonction `moyenne` prenant une liste de nombres en paramètre et renvoyant la moyenne de la liste." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Les fonctions `variance` et `ecartType` prennent une liste de nombres en paramètre et renvoient respectivement la variance et l'écart-type de cette liste." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [], "source": [ "def variance(L):\n", " n = len(L)\n", " s = 0\n", " for x in L:\n", " s = s + x**2\n", " return 1/n*s-moyenne(L)**2\n", "\n", "def ecartType(L):\n", " return variance(L)**(1/2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme :** \n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 3 et 5 par `s = ...` et `s = ...`, demander aux élèves de compléter les lignes 3 et 5.\n", "- **Écrire un programme :** \n", "\n", " Écrire deux fonctions `variance` et `ecartType` prenant une liste de nombres en paramètre et renvoyant respectivement la variance et l'écart-type de la liste." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calcul des bornes\n", "On cherche maintenant à écrire une fonction qui, à partir l'une liste, donne un intervalle centré sur sa moyenne et d'amplitude proportionnelle à son écart-type. \n", "\n", "La fonction `bornes` prend en paramètres une liste `L` et un entier `k` et renvoie la liste des deux nombres $p-k \\times s$ et $p+k \\times s$, où $p$ est la probabilité de gagner, $s$ l'écart-type des valeurs de la liste `L` et $k$ un nombre entier (qui sera restreint à $1$, $2$ ou $3$)." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [], "source": [ "def bornes(L,k):\n", " p = 7/18\n", " s = ecartType(L)\n", " return [p-k*s,p+k*s]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme :** \n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 2, 3 et 4 par `p = ...`, `s = ...` et `return ...`, demander aux élèves de compléter les lignes 2, 3 et 4.\n", "- **Écrire un programme**\n", " \n", " Écrire la fonction `bornes`." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Proportion d'éléments de la liste compris dans les différents intervalles \n", "Nous allons maintenant calculer la proportion d'éléments de la liste appartenant à l'intervalle précédemment créé.\n", "\n", "La fonction `propPoints` prend en paramètres une liste `L` et un entier `k` et renvoie la proportion des points de la liste compris entre $p-k \\times s$ et $p+k \\times s$, où $p$ est la probabilité de gagner, $s$ l'écart-type des valeurs de la liste `L` et $k$ un nombre entier." ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [], "source": [ "def propPoints(L,k):\n", " b,B = bornes(L,k)\n", " filtre = [x for x in L if x<=B and x>=b]\n", " return len(filtre)/len(L)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Suggestions pédagogiques\n", "
\n", "\n", "- **Compléter un programme**\n", "\n", " Le programme précédent étant fourni en remplaçant les lignes 2, 3 et 4 par `b,B = ...`, `filtre = [x for x in L if ... and ...]` et `return ...`, demander aux élèves de compléter les lignes 2, 3 et 4. .\n", "- **Écrire un programme**\n", "\n", " Écrire la fonction `propPoints`.\n", "- **Tester** la fonction `propPoints` pour des échantillons de différentes tailles. Que peut-on observer ?" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Étude de la fluctuation des fréquences \n", "Cette partie est destinée à l'enseignant afin qu'il puisse montrer aux élèves comment fluctuent les différentes fréquences." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "La proportion de points entre [p-1*s,p+1*s] est 0.63\n", "La proportion de points entre [p-2*s,p+2*s] est 0.96\n", "La proportion de points entre [p-3*s,p+3*s] est 1.0\n" ] }, { "data": { "image/png": "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t2v79g2SpI0bn1B3d7t27NgoServ/zd1d7dr164tkqS33/6JurvbtXt3VpK0YcND6u5u18BA8EvA69c/qO7u9vxYrlt3r1588ez89ptv3qXf/e7c/PbatbfrpZfOz2/39d2qZcsuym/39t6i5cvn5bfXrLlZK1Zcmt9+/fVv6ZVXvpDfXr36BvX0dOS3V626Xq+++pX89sqV12rlymvz26+++hWtWnV9frunp0OrV9+Q337llS/o9dfz67RrxYpLtWbNzfnt5cvnqbf3lvz2smUXqa/v1vz2Sy+dr7Vrb89v/+535+rNN+/Kb7/44tlat+7e/DZzj7m3B3OPubdHrc89AAAANKaGSxYBAAAAAABg3yz41fvakUwmvaurK+owAABABZnZEndPFpYtXbp0zSmnnLIxqpgqbenSpZNPOeWUtqjj2BfOwYDSbZvWqklv9kUdRtG2HdWiSWt7ow4DQJWMdP61L6xZBAAAAABjMOnNPrXeuDjqMIrWu2BO1CEAqFF8DQ0AAAAAAAB5JIsAAAAAAACQR7IIAAAgp6enZ+LMmTNPLKbNu+++29Te3n7sjBkzTjz22GNPvOqqq46qVHwAAADVQLIIAABgjK677rq3Xn/99eXLli1b8Zvf/OagRx555JCoYwIAACgVySIAAIARrFixYuIJJ5ww+9lnn03sr97BBx888MlPfvJdSZo0aZKffPLJ2TfeeGNidaIEAAAoP34NDQAA1KQlc5fMGq3O4ecc/s6Mm2a8taf+lEunbJx2zbRN29dvH7/sgmXHFNY9/ben94R97qVLlx4wb968Y+6///7XDzzwwIHjjz9+9kj1nnvuuZ7Jkyfv3rO9cePGcc8888z7vva1r70V9rkAAABqDckiAACAAps3bx5/4YUXHvvoo4++lkwmt0nSK6+8smK0djt37tSnP/3pozs6Ot6aPXv2jspHCgAAUBkkiwAAQE0q5kqgofUPmHrArmLb73HwwQfvnjp16o5FixYdlEwmty1duvSASy655JiR6hZeWfS5z32u7eijj972rW996+1SnhcAAKBWkCwCAAAoMGHCBH/qqadeO/PMM2cedNBBA1dcccXm0a4suuaaa/5469at4x5++OE1VQoTAACgYljgGgAAYIhDDjlk4Omnn151xx13THnooYfet7+6r7322oQf/OAHU1euXDnpxBNPnH38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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2) = plt.subplots(1, 2,figsize=(20, 6))\n", "\n", "N=100\n", "n=50\n", "\n", "echantillon = echantillonFrequence(N,n)\n", "\n", "i1,s1 = bornes(echantillon,1)\n", "i2,s2 = bornes(echantillon,2)\n", "i3,s3 = bornes(echantillon,3)\n", "\n", "for i in range(3):\n", " print(\"La proportion de points entre [p-{0}*s,p+{0}*s] est \".format(i+1),propPoints(echantillon,i+1))\n", "\n", "ax1.plot(echantillon,'bo')\n", "ax1.plot([0,N],[i1,i1],'r--',label='k=1')\n", "ax1.plot([0,N],[s1,s1],'r--')\n", "ax1.plot([0,N],[i2,i2],'m-.',label='k=2')\n", "ax1.plot([0,N],[s2,s2],'m-.')\n", "ax1.plot([0,N],[i3,i3],'y:',label='k=3')\n", "ax1.plot([0,N],[s3,s3],'y:')\n", "ax1.legend(bbox_to_anchor=(1.01, 1), loc=2, borderaxespad=0.)\n", "ax2.hist(echantillon,color = '#1e7fcb',edgecolor = 'red')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Convergence" ] }, "source": [ "## Convergence\n", "Cette partie est destinée à l'enseignant. Elle illustre la convergence vers $p$, lorsque $n$ tend vers l'infini, des fréquences de succès calculées sur des échantillons simulés de taille $n$ d'une loi de Bernoulli de paramètre $p$. " ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "def cumul(n):\n", " X = []\n", " F = []\n", " for i in range(n):\n", " X.append(jeu())\n", " F.append(sum(X)/(i+1))\n", " return F\n", "n=200 \n", "F = cumul(n)\n", "p = 7/18\n", "plt.plot([0,n],[p,p],'r')\n", "plt.plot(F)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Animation" ] }, "source": [ "## Animation susceptible d'être présentée aux élèves\n", "Cette partie est destinée à l'enseignant pour illustrer son cours. " ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.animation\n", "from IPython.display import HTML\n", "\n", "#cte\n", "n=200\n", "p = 7/18\n", "\n", "\n", "#paramètres figure\n", "fig, ax1 = plt.subplots(1, 1,figsize=(10, 4))\n", "\n", "#probabilité théorique\n", "F = cumul(n)\n", "lim = max(F)\n", "points, = ax1.plot([],[])\n", "ax1.plot([0,n],[p,p],'r')\n", "ax1.set_ylim((0, lim+.1))\n", "\n", "def init():\n", " return (points,)\n", "\n", "def animate(i):\n", " global F\n", " points.set_data(list(range(i+1)), F[:i+1])\n", " return (points,)\n", "\n", "plt.close ()\n", "ani = matplotlib.animation.FuncAnimation(fig, animate, frames=n,init_func=init,blit=True,interval=75)\n", "# l'un ou l'autre\n", "HTML(ani.to_jshtml())\n", "#HTML(ani.to_html5_video())" ] }, { "cell_type": "markdown", "metadata": { "tags": [ "Animation" ] }, "source": [ "## Animation susceptible d'être présentée aux élèves\n", "Cette partie est destinée à l'enseignant pour illustrer son cours. " ] }, { "cell_type": "code", "execution_count": 21, "metadata": { "scrolled": false, "tags": [ "Animation" ] }, "outputs": [ { "data": { "text/html": [ "\n", "\n", "\n", "\n", "
\n", " \n", "
\n", " \n", "
\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
\n", " Once \n", " Loop \n", " Reflect \n", "
\n", "
\n", "\n", "\n", "\n" ], "text/plain": [ "" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import matplotlib.pyplot as plt\n", "import matplotlib.animation\n", "from IPython.display import HTML\n", "\n", "#cte\n", "N=50\n", "n=40\n", "p = 7/18\n", "pause = 30\n", "\n", "echantillon = echantillonFrequence(N,n)\n", "i1,s1 = bornes(echantillon,1)\n", "i2,s2 = bornes(echantillon,2)\n", "i3,s3 = bornes(echantillon,3)\n", "\n", "#paramètres figure\n", "fig, ax1 = plt.subplots(1,figsize=(10, 6))\n", "\n", "#ax1.plot(echantillon,'bo')\n", "ax1.plot([0,N],[p,p],'r',label='p')\n", "bi1, = ax1.plot([],[],'g--',label='k=1')\n", "si1, = ax1.plot([],[],'g--')\n", "bi2, = ax1.plot([],[],'m-.',label='k=2')\n", "si2, = ax1.plot([],[],'m-.')\n", "bi3, = ax1.plot([],[],'y:',label='k=3')\n", "si3, = ax1.plot([],[],'y:')\n", "ax1.set_xlim((0, N))\n", "ax1.set_ylim((.1,.7))\n", "\n", "points, = ax1.plot([],[],'bo')\n", "\n", "def init():\n", " points.set_data([], [])\n", " return (points,)\n", "\n", "def animate(i):\n", " global echantillon\n", " if i>=N:\n", " bi1.set_data([0,N],[i1,i1])\n", " si1.set_data([0,N],[s1,s1])\n", " bi2.set_data([0,N],[i2,i2])\n", " si2.set_data([0,N],[s2,s2])\n", " bi3.set_data([0,N],[i3,i3])\n", " si3.set_data([0,N],[s3,s3])\n", " return (points,)\n", " points.set_data([range(i+1),echantillon[:i+1]])\n", " return (points,)\n", "ax1.legend(bbox_to_anchor=(1.01, 1), loc=2, borderaxespad=0.)\n", "plt.close ()\n", "ani = matplotlib.animation.FuncAnimation(fig, animate, frames=N+pause,init_func=init,blit=True)\n", "# l'un ou l'autre\n", "HTML(ani.to_jshtml())\n", "#HTML(ani.to_html5_video())" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "
\n", "\n", "Remarques\n", "
\n", " \n", "Le programme de première technologique comporte deux commentaires sur l'écart-type des échantillons :\n", "- *On constate que la série des fréquences observées des $1$ dans $N$ échantillons de taille $n$ d’une loi de Bernoulli a un écart-type de l’ordre de $\\frac{1}{\\sqrt{n}}$*\n", "- *Pour plusieurs valeurs de $n$ on représente $\\frac{1}{\\sqrt{n}}$ en abscisse et, en ordonnée, l’écart-type $s$ des fréquences observées des $1$ dans $N$ échantillons (plusieurs centaines) de taille $n$ . On peut commenter ce résultat en observant que pour diviser la dispersion par $k$ il faut multiplier la taille de l’échantillon par $k^2$.*\n", "\n", "\n", "À partir de cette activité, il serait également possible d'inclure ces parties du programme en générant les écarts-types de chaque échantillon en fonction de leur taille." ] } ], "metadata": { "celltoolbar": "Tags", "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.5.5" } }, "nbformat": 4, "nbformat_minor": 2 }