05-technique_simulation.ipynb 276 KB
Newer Older
vincentvigon's avatar
vincentvigon committed
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Techniques de simulation et monte carlo\n",
    "\n",
    "## Introduction\n",
    "\n",
    "La simulation c'est: \n",
    "\n",
    "* se donner une loi de probabilité (ex: la loi exponentielle)\n",
    "* puis inventer une technique pour simuler des v.a indépendantes $X_0,X_1,X_2,...$ suivant cette loi. \n",
    "\n",
    "Cela sert à:\n",
    "\n",
    "* Calculer des intégrales: c'est la méthode de monté-carlo (on expliquera). \n",
    "* Reproduire des phénomènes naturelles\n",
    "* Creer des situations \"générique\" pour initialiser des algorithme (notamment les algo de deep-learning)\n",
    "* Des techniques avancées de simulation permettent même de résoudre des E.D.P. \n",
    "\n",
    "Les techniques de simulations sont nombreuses, nous présentons ici les plus simples: les lois que nous choisirons seront des lois usuelles sur $\\mathbb R^n$. Des techniques plus sophistiquée permette de simuler des lois sur des espaces de grandes dimensions."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 127,
   "metadata": {},
   "outputs": [],
   "source": [
    "import numpy as np\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy.stats as stats"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Lois discrètes\n",
    "\n",
    "On veut tirer des entiers aléatoires pouvant prendre les valeurs `0,1,2,3` avec comme probabilité respectives `0.2,0.1,0.5,0.2`. On utilise la technique intuitive: on considère l'intervalle continu `[0,1]` que l'on partage en 4 segments de longeurs  `0.2,0.1,0.5,0.2`. On lance un réel aléatoire `U` dans `[0,1]` avec la fonction `random()` et l'on observe dans quel segments `U` est tombé. Pour trouver les séparations entre les intervalles, on utilise la fonction `np.cumsum()` "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 128,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"probas\"\"\"\n",
    "p=[0.2,0.1,0.5,0.2]\n",
    "\n",
    "\"\"\"on cherche dans quel intervalle tombe U\"\"\"\n",
    "def simul_disc(p):\n",
    "    cdf=np.cumsum(p) # sur l'exemple -> [0.2 0.3 0.8 1. ]\n",
    "    U=np.random.random()\n",
    "    i=0\n",
    "    while U>cdf[i]:\n",
    "        i+=1\n",
    "    return i \n",
    "\n",
    "\"\"\" on simule un échantillon de nos v.a discrète\"\"\"\n",
    "simus=[]\n",
    "for i in range(500):\n",
    "    simus.append(simul_disc(p))\n",
    "\"\"\"on dresse l'histogramme\"\"\"    \n",
    "bins=[-0.5,0.5,1.5,2.5,3.5]\n",
    "plt.hist(simus,bins=bins,edgecolor=\"k\");\n",
    "\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***A vous:*** Peut-on utiliser cette technique pour tirer une loi géométrique? Si c'est possible faites-le. Supperposez votre histogramme avec la densité discrète."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 129,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "x=range(10)\n",
    "pmf=stats.geom.pmf(x,p=0.5)# on pourrait calculer cela sans la bibliothèque stats\n",
    "plt.plot(x,pmf,'o');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Inversion d'un fonction de répartition inversible\n",
    "\n",
    "\n",
    "### Théorie\n",
    "\n",
    "Considérons un intervalle $[a,b]$. Eventuellement $a$ ou $b$ peuvent être infini. Considérons une loi $\\mu$ sur cet intervalle, dont la Fonction de répartition est $F$:\n",
    "$$\n",
    "        \\mu([a,x]) = F(x)\n",
    "$$\n",
    "On aimerait simuler une v.a ayant cette loi. Supposons dans un premier temps que $F$ est continue et strictement croissante sur $[a,b]$, ce qui revient à dire que  la loi $\\mu$ n'a pas d'atome (=ne charge pas les singletons) et charge tout $[a,b]$. On peut dans ce cas définir l'inverse $F^{-1} :[0,1]\\to [a,b]$ qui vérifie\n",
    "$$\n",
    "        F \\circ F^{-1}(x) = F^{-1} \\circ F(x) = x\n",
    "$$\n",
    "Mais aussi\n",
    "$$\n",
    "  F^{-1} (u) \\leq x \\quad \\Leftrightarrow  \\quad  u \\leq F(x)\n",
    "$$\n",
    " Prenons   $U$ une v.a de loi uniforme sur $[0,1]$ et définissons $X := F^{-1} (U)$. On a:\n",
    "$$\n",
    "       \\mathbf P[X \\leq x] = \\mathbf P[ F^{-1} (U) \\leq  x] = \\mathbf P[U \\leq F(x)] = F(x)\n",
    "$$\n",
    "Ceci étant vrai pour tout $x$, la v.a $X$ a bien pour loi $\\mu$. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exemple: loi exponentielle\n",
    "\n",
    "Utilisons la technique de l'inversion de la fonction de répartition pour simuler des v.a de loi Exponentielle(scale = $\\mu$). \n",
    " \n",
    "***A vous:*** Vérifiez sur papier que le programme suivant utilise bien l'inverse de la fonction de répartition de la loi exponentielle (ou peut-être ce n'est pas vraiment le cas). "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 137,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "U=np.random.random(size=1000)\n",
    "mu=0.5\n",
    "X=-mu*np.log(U)\n",
    "plt.hist(X,density=True,edgecolor=\"k\")\n",
    "\n",
    "x=np.linspace(0,4,200)\n",
    "plt.plot(x,np.exp(-x/mu)/mu);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Exemple: Weibull\n",
    "\n",
    "Appliquez la technique de l'inversion de la fonction de répartition pour simuler des v.a de loi Weibull, dont la  fonction de répartition est donnée par\n",
    "$$\n",
    "    F(x) =  1 - e^{- x ^ \\alpha}\n",
    "$$\n",
    "où $\\alpha>0$ est un paramètre \"de forme\". Dressez l'histogramme de vos simulations, que vous pouvez superposer avec la densité théorique que vous calculerez à la main. \n",
    "\n",
    "Vous pouvez aussi comparez vos simus avec celles de `numpy`:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 131,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "X1=np.random.weibull(0.7,size=2000)\n",
    "X3=np.random.weibull(2,size=2000)\n",
    "bins=np.linspace(0,10,50)\n",
    "plt.hist(X1,bins=bins,density=True)\n",
    "plt.hist(X3,bins=bins,density=True,alpha=0.5);#ici alpha c'est la transparence"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***A vous:*** remplacez `bins=bins` par `bins=50`. L'un des histogramme devient très irrégulier. Pourquoi?\n",
    "\n",
    "***A vous:*** Habituellement, la loi de Weibull est donnée avec un second paramètre: le paramètre d'échelle (=scale). Ecrivez la densité complète.   \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Parenthèse: Weibull et durée de vie résiduelle\n",
    "\n",
    "La loi Weilbull est une généralisation de la loi exponentielles. Notons $X$ la durée de vie d'un animal, que nous modélisons par une v.a de loi exponentielle. L'animal en question a la propriété de ne pas vieillir (détaillez le calcul):\n",
    "$$\n",
    "        \\mathbf P[X >s+t / X > t  ]   =\\mathbf  P[X>s]     \\qquad         (*)\n",
    "$$\n",
    "Par exemple :  quand l'animal a 10 ans, la probabilité qu'il vive 5 années supplémentaires\n",
    "est égale  à la probabilité de dépasser les 5 ans après sa naissance. Par ailleurs, pour toute variable aléatoire positive, on a\n",
    "$$\n",
    "          \\mathbf   E[Y]=\\int_0^\\infty \\mathbf  P[Y>x] dx\n",
    "$$\n",
    "(essayez de le démontrer, cela se fait en un coup de Fubbini). Ainsi la propriété de non vieillissement donne :\n",
    "$$\n",
    "      \\mathbf  E[X-t / X>t] =\\mathbf  E[X]        \\qquad                    (* *)\n",
    "$$\n",
    "On dit que l'espérence de vie \"résiduelle\" est la même à tout âge.\n",
    "\n",
    "\n",
    "Maintenant, quand $X$ suit une loi de Weilbull,  que deviennent les égalités $(*)$ et $(* *)$ ?\n",
    "Ces lois sont souvent utilisées pour modéliser des durées de vie (mais la vie de qui, de quoi ?).\n",
    "\n",
    "Aide :\n",
    "différenciez les cas $\\alpha<1$ et $\\alpha>1$.\n",
    "Vous pouvez utiliser les mots clefs  :\n",
    "\n",
    "* sous additif : $f(a+b)\\leq f(a)+f(b)$\n",
    "* sur additif :  $f(a+b)  \\geq f(a)+f(b)$\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Inversion d'un fonction de répartition non-inversible\n",
    "\n",
    "\n",
    "## inverse généralisé\n",
    "\n",
    "La méthode \"par inversion de la fonction de répartition\" fonctionne aussi quand $F$ n'est pas bijective.\n",
    "Personnellement, je défini alors $F^{-1}$ graphiquement, par symétrie, comme dans le graphique ci-dessous. \n",
    "\n",
    "* supposons que $F$ soit définit sur $[A,B]$ (et à valeur dans $[0,1]$ of course) alors $F^{-1}$ va de $[0,1]$ dans $[A,B]$\n",
    "* les sauts de $F$ deviennent des plateaux de $F^{-1}$ et vis et versa. \n",
    "* pour définir précisément la valeur $F^{-1}(x)$ quand $x$ est un saut, il faut décider si on cette valeur en haut ou en bas du saut. Ce choix arbitraire n'a aucune importance pour nos simulations. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"une fonction de répartition d'une loi portée par [0,3]\"\"\"\n",
    "x=np.array([0,0.5,1.5,2,2,3])\n",
    "y=np.array([0,2,2,3,5,10])/10\n",
    "\n",
    "plt.plot(x,y,label=\"F\")\n",
    "plt.plot(y,x,label=r\"$F^{-1}$\")\n",
    "plt.gca().set_aspect(\"equal\")\n",
    "plt.plot(np.linspace(0,3,20),np.linspace(0,3,20),\".\")\n",
    "plt.legend();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cette inverse généralisé n'est plus vraiment un inverse, mais il vérifie toujours:\n",
    "$$\n",
    "  F^{-1} (u) \\leq x \\quad \\Leftrightarrow  \\quad  u \\leq F(x)\n",
    "$$\n",
    "Et c'est bien là l'essentiel, n'est-ce pas?\n",
    "\n",
    "\n",
    "***Remarque:***  On définit proprement l'inverse généralisée comme ceci :\n",
    "$$\n",
    "        F^{-1} (u) = \\inf \\{y : F(y)>u\\}\n",
    "$$\n",
    "\n",
    "***Exo:*** voyez-vous un lien entre la méthode de simulation des v.a discrètes du début\n",
    "et la méthode de inversion de la fonction de répartition? Voyez-vous un lien entre l'algorithme du début et la formule ci-dessus? "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Application\n",
    "\n",
    "***Exo:*** écrivez une formule pour l'inverse généralisé de  \n",
    "$$\n",
    "F(x)=\\frac 1 2   \\big( x 1_{[0,1[} + 1_{[1,2[} + (x-1) 1_{[2,3[} + 2*1_{[3,\\infty[} \\big)\n",
    "$$\n",
    "Simulez la loi dont la fonction de répartition est $F$.\n",
    "\n",
    "*Aide:* Voici comment on peut définir une fonction continue par morceaux, d'abord simplement, puis en se creusant la tête pour éviter les boucles. Si vous ne vous sentez pas très alèze, utiliser la première technique. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\" l'argument de f doit être un scalaire \"\"\"\n",
    "def f(x):\n",
    "    if x<1 : \n",
    "        return x\n",
    "    if 1<=x<2 : \n",
    "        return 1-x\n",
    "\n",
    "xs=np.linspace(0,2,200)\n",
    "ys=[]\n",
    "for x in xs :\n",
    "    ys.append(f(x))\n",
    "plt.plot(xs,ys);"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\"l'argument de f_np peut-être un tenseur numpy. \n",
    "Cela va plus vite car on calcule plein de valeurs d'un coup\"\"\"\n",
    "def f_np(x):\n",
    "    return np.where(x<1,x,1-x)\n",
    "    \n",
    "xs=np.linspace(0,2,200)\n",
    "plt.plot(xs,f_np(xs));"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Rejet\n",
    "\n",
    "### Densité bornée sur un intervale borné. \n",
    "\n",
    "\n",
    "Considérons par exemple la densité d'une loi béta (à une constante prèt):"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 117,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def f(x):\n",
    "    return x**0.5*(1-x)**2\n",
    "\n",
    "x=np.linspace(0,1,100)\n",
    "plt.plot(x,f(x));    \n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Cette fonction est définie sur $[0,1]$ et à valeurs dans $[0,0.3]$. Lançons successivement des points aléatoires $(U_i,V_i)$ uniformément dans le rectangle $[0,1]\\times [0,0.3]$. Arrétons les lancés  dès qu'un point  tombe en-dessous de la courbe. Clairement, on n'a plus de chance de s'arrèter là ou la courbe est haute. Notons $(U_I,V_I)$ le point où l'on c'est arrété.\n",
    "\n",
    "Que pensez-vous de la loi de $U_I$? Si vous n'avez pas la réponse immdiatement, peut-être pouriez-vous simplement comparer les probabilités:\n",
    "$$\n",
    "\\mathbf P[0<U_I<0.2] \\qquad \\text{et} \\qquad \\mathbf P[0.8<U_I<1] \n",
    "$$\n",
    "Peut-être même pouriez-vous m'indiquer comment calculer le rapport entre ces deux probabilités? \n",
    "\n",
    "Et plus généralement, vous pouriez dire que la probabilité $\\mathbf P[a<U_I<b]$ est proportionnelle à... Donc la loi de $U_I$ est... "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 141,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 720x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=plt.subplots(1,2)\n",
    "fig.set_size_inches(10,5)\n",
    "\n",
    "def rejet():\n",
    "    while True:\n",
    "        U=np.random.uniform(0,1)\n",
    "        V=np.random.uniform(0,0.3)\n",
    "        if V<f(U):\n",
    "            ax[0].plot(U,V,\".\",c=\"g\")\n",
    "            return U\n",
    "        else: \n",
    "            ax[0].plot(U,V,\".\",c=\"r\")\n",
    "        \n",
    "        \n",
    "simus=[]\n",
    "for i in range(400):\n",
    "    simus.append(rejet())\n",
    "ax[0].plot(x,f(x));    \n",
    "ax[1].hist(simus,edgecolor=\"k\")\n",
    "ax[0].set_title(\"tous les points\")\n",
    "ax[1].set_title(\"histogramme des simulations\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Voici la preuve formelle du résultat que vous avez intuiter. Comprenez-là, elle est très instructives. \n",
    "\n",
    "\n",
    "Considérons $f$ une fonction positive, portée par $[A,B]$ et majorée par $M$. Imaginons que $f$ est proportionnelle à une densité qui nous intéresse. Considérons $(U_i,V_i)$ des v.a i.i.d uniformes sur $[A,B]\\times[0,M]$, notons $I = \\min\\{i: V_i \\leq f(U_i) \\}$. Calculons la loi de $U_I$. Considérons pour cela $\\phi$ une fonction teste. Dans le calcul suivant, on notera $cst$ une quantité qui ne dépend pas de $\\phi$: \n",
    "$$\n",
    "\\begin{align}\n",
    "\\mathbf E[\\phi(U_I)] &= \\sum_i \\mathbf E[\\phi(U_i), i=I] \\\\\n",
    "&=\\sum_i \\mathbf E[\\phi(U_i), V_i\\leq f(U_i), V_{i-1}>f(U_{i-1}),...,V_0>f(U_0)] \\\\\n",
    "&= cst \\ \\mathbf E[\\phi(U_0), V_0\\leq f(U_0)]\\\\\n",
    "&= cst \\ \\mathbf E[\\phi(U_0), V_0\\leq f(U_0)]\\\\\n",
    "&= cst \\ \\int_A^B \\int_0^M \\phi(u) 1_{\\{v \\leq f(u)\\}} \\,  dv \\, du  \\\\\n",
    "&= cst \\ \\int  \\phi(u) f(u) \\, du  \n",
    "\\end{align}\n",
    "$$\n",
    "En particulier avec $\\phi=1$ on découvre que\n",
    "$\n",
    "1 = cst \\int f\n",
    "$\n",
    "et par conséquence:\n",
    "$$\n",
    "\\mathbf E[\\phi(U_I)]  = \\int  \\phi(u) \\frac{\\ f(u) \\ }{\\int f} \\, du\n",
    "$$\n",
    "Conclusion: $U_I$ a comme densité $\\frac{\\ f(u) \\ }{\\int f}$.\n",
    "\n",
    "Remarques: \n",
    "\n",
    "* Pour utiliser cette méthode de rejet, on n'a besoin de connaitre la densité qu'à une constante multiplicative prét (et cela a son utilité dans certaines applications en grande dimension). D'ailleurs on voit dans la preuve que $f$ est naturellement renormalisée.\n",
    "* Retenez l'astuce de la constante (on peut s'en passer mais les calculs sont vraiment plus long).\n",
    "* Renetez la manière dont a réussi à remplacer $I = \\min\\{i: V_i \\leq f(U_i) \\}$ par une expression toute simple. \n",
    "* Dans la preuve, savez-vous où l'on utilise le fait que $f$ est portée par $[A,B]$ et majorée par $M$?\n",
    "* Pourquoi faut-il trouver un 'bon' majorant $M$?\n"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Vectorisation du rejet\n",
    "\n",
    "On peut assez facilement vectorisez les techniques de rejets. L'incovénient c'est qu'on ne sait pas à l'avance combien on va obtenir de v.a:"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 122,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "def rejet_np(nb):\n",
    "    U=np.random.uniform(0,1,size=nb)\n",
    "    V=np.random.uniform(0,0.3,size=nb)\n",
    "    return U[V<f(U)]\n",
    "\n",
    "simus=rejet_np(1000)\n",
    "plt.hist(simus,edgecolor=\"k\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "***A vous:*** Trouvez une astuce pour faire une fonction qui renvoie un nombre de simulations donné, et qui utilise la vectorisation. "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Densité perturbée\n",
    "\n",
    "\n",
    "Supposons que l'on veuille simuler des v.a dont la densité est proportionnelle à: \n",
    "$$\n",
    " f(x)= e^{-x} \\, \\big(1-\\cos(8 x) \\big) 1_{\\mathbb R_+}\n",
    "$$\n",
    "Cette densité n'est pas à support compact, on ne peux donc pas utiliser la technique précédent. Mais on remarque que  $f(x)\\,dx$ peut être vu comme une perturbation de la loi exponentielle: une loi que je sais facilement simuler! \n",
    "\n",
    "* Observez le programme suivant et déduisez la technique\n",
    "* Cette technique peut-elle être employée pour des densités non bornées? Si oui, inventez un exemple. \n",
    "* Ecrivez la preuve qui justifie cette technique (en vous inspirant d'une preuve précédente). "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 139,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\" on décompose f en un produit de deux termes. \"\"\"\n",
    "\"\"\" g est proportionnelle à la loi exponentielle \"\"\"\n",
    "def g(x):\n",
    "    return np.exp(-x)*2\n",
    "\"\"\" h est à valeur dans [0,1], c'est une perturbation\"\"\"\n",
    "def h(x):\n",
    "    return (1-np.cos(8*x))/2\n",
    "\n",
    "def f(x):\n",
    "    return g(x)*h(x)\n",
    "\n",
    "x=np.linspace(0,7,100)\n",
    "plt.plot(x,g(x))\n",
    "plt.plot(x,f(x));"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 140,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "fig,ax=plt.subplots(1,2)\n",
    "fig.set_size_inches(12,5)\n",
    "\n",
    "def rejet2():\n",
    "    while True:\n",
    "        U=-np.log(np.random.random())\n",
    "        V=np.random.uniform(0,g(U))\n",
    "        if V<f(U):\n",
    "            ax[0].plot(U,V,\".\",c=\"g\")\n",
    "            return U\n",
    "        else: \n",
    "            ax[0].plot(U,V,\".\",c=\"r\")\n",
    "    \n",
    "        \n",
    "simus=[]\n",
    "for i in range(600):\n",
    "    simus.append(rejet2())\n",
    "ax[0].plot(x,g(x))\n",
    "ax[0].plot(x,g(x)*h(x));\n",
    "ax[1].hist(simus,bins=30,edgecolor=\"k\")\n",
    "ax[0].set_title(\"tous les points\")\n",
    "ax[1].set_title(\"histogramme des simulations\");"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Rejet géométrique\n",
    "\n",
    "On veut maintenant simuler des v.a uniforme dans un domaine de $\\mathbb R^2$ un peu tordu (un oeil).  \n",
    "\n",
    "* la première fonction définie le domaine. \n",
    "* La technique du rejet est ici très intuitive.  \n",
    "* Applications: \n",
    "    * Calculez approximativement l'aire de cet oeil. \n",
    "    * Calculez approximativement le barycentre de cet oeil. Pas desoin de faire de long calcul, utiliser les simulations pour cela. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 113,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x360 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "\"\"\" renvoie True si (x,y) est dans le domaine.\"\"\"\n",
    "def in_domain(x,y):\n",
    "    if 0<x<np.sqrt(y) and x>y**2 and 0<y<1 and (x-0.5)**2+(y-0.5)**2>0.02: \n",
    "        return True\n",
    "    else:\n",
    "        return False\n",
    "\n",
    "    \n",
    "fig,ax=plt.subplots(1,2)\n",
    "fig.set_size_inches(12,5)\n",
    "\n",
    "\n",
    "def rejet3():\n",
    "    while True:\n",
    "        X=np.random.uniform(0,1)\n",
    "        Y=np.random.uniform(0,1)\n",
    "        if in_domain(X,Y):\n",
    "            ax[0].plot(X,Y,\".\",c=\"g\")\n",
    "            return X,Y\n",
    "        else: \n",
    "            ax[0].plot(X,Y,\".\",c=\"r\")\n",
    "\n",
    "        \n",
    "Xs=[]\n",
    "Ys=[]\n",
    "for i in range(600):\n",
    "    X,Y=rejet3()\n",
    "    Xs.append(X)\n",
    "    Ys.append(Y)\n",
    "\n",
    "ax[1].hist2d(Xs,Ys,bins=[30,30])\n",
    "ax[0].set_title(\"points acceptés et rejetés\")\n",
    "ax[1].set_title(\"histo des points acceptés\");\n",
    "    "
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Mélangeons les techniques. \n",
    "\n",
    "Simulez des v.a sur $\\mathbb R^2$ dont la densité est proportionnelle à: \n",
    "$$\n",
    "  f(x,y) =  1_{\\{x^2+y^2<1\\}} (1+\\sin(x*y))\n",
    "$$"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Box-muller\n",
    "\n",
    "### Principe\n",
    "\n",
    "Nous allons maintenant introduire la technique de Box-Muller permettant de simuler des v.a gaussiennes (Pourquoi n'utilise-t-on pas l'une des techniques précédentes?). Nous procédons par \"analyse\" et \"synthèse\".\n",
    "\n",
    "***Notations:*** Si $(x,y)$ est un point de $\\mathbb R^2$, on note $r(x,y) = \\sqrt{x^2+y^2}$ et $\\theta(x,y)$ ses coordonnées polaires. \n",
    "\n",
    "***Analyse:*** On considère $(X,Y)$ un couple de gaussiennes indépendantes. Calculons la loi de $R=r(X,Y)$ et $\\Theta=\\theta(X,Y)$: considérons $\\phi$ une fonction teste, on a:\n",
    "$$\n",
    "    \\mathbb E[ \\phi( R ,\\Theta)  ]   =  cst   \\int \\int     \\phi\\big( r(x,y),\\theta(x,y)\\big)  e^{-\\frac 12 (x^2+y^2 ) }\\, dx dy \n",
    "$$\n",
    "On fait le changement en coordonnée polaire:\n",
    "$(r(x,y),\\theta(x,y))  \\to (r,\\theta)$, donc $(dx\\,dy)\\to \\dots$ (à connaître par coeur sous peine de devoir calculer un Jacobien). Les domaines d'intégration se transforment ainsi:\n",
    "$\n",
    "\\mathbb  R \\times  \\mathbb  R  \\to  \\mathbb  R_+ \\times [0,2 \\pi]\n",
    "$.\n",
    "Ainsi\n",
    "$$\n",
    " \\mathbb  E[ \\phi( R ,\\Theta)  ]   =  cst ...\n",
    "$$\n",
    "On en déduit que $R$ et $\\Theta$ sont indépendants, de densité... et du coup $R^2$ suit une loi exponentielle de paramètre...  \n",
    "\n",
    "\n",
    "***Synthèse:*** Pour simuler un couple de v.a gaussiennes indépendantes, on simule $R^2 \\sim \\text{Expo}(scale=\\dots)$ et  $\\Theta \\sim \\text{Unif}[0,2 \\pi]$, et on considére le point de coordonnées polaires  $(\\sqrt E, \\Theta)$. \n",
    "\n",
    "En pratique, on prend $U$ et $V$ deux v.a de loi $\\text{Unif}[0,1]$ et on considère\n",
    "$\\sqrt{ 2 |\\ln(U)| } \\cos(2 \\pi V )$ et $\\sqrt{ 2 |\\ln(U)| } \\sin(2 \\pi V )$.\n",
    "\n",
    "\n",
    "***A vous:*** mettez en place une fonction qui fournisse $n$ v.a gaussiennes d'un coup.  Essayez de ne pas gaspiller appels du générateur aléatoire, en utilisant la version sinus et la version cosinus. Validez en superposant l'histogramme de vos simulations avec la densité de la gaussienne."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Parenthèse: Les coordonnées polaires en informatique\n",
    "\n",
    "Notons qu'en `numpy` l'angle d'un point `(x,y)` se calcul avec la fonction `np.artan2(y,x)` et que dans tous les autres langages le mot clef `arctan2` apparait; mais quel est le lien avec la fonction artangente?"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Monte Carlo sur une sphère\n",
    "\n",
    "Voici un  exo en plusieur étapes (toutes surmontables, oui!)\n",
    "\n",
    "*Vocabulaire:* Notons $|x|$ la norme de $x$.  Une fonction $f(x)$ est invariante par rotation lorsqu'elle s'écrit $f(x)=g(|x|)$ pour une certaine fonction $g$. \n",
    "\n",
    "Considérez:\n",
    "\n",
    "* une densité $f(x)$ sur $\\mathbb R^n$ invariante par rotation. \n",
    "* une v.a $X$ de loi $f(x)\\,dx$.\n",
    "* une rotation $T$ de $\\mathbb R^n$, de centre 0. \n",
    "\n",
    "Vérifez que $T(X)$ a aussi pour loi $f(x)dx$: Soit  $\\phi$ une fonction teste; en utilisant le fait que les rotations sont inversibles, et que leur déterminant vaut...  on a:\n",
    "$$\n",
    "   \\mathbf E[\\phi(T(X))] = ... = \\mathbf  E[\\phi(X)]\n",
    "$$\n",
    "\n",
    "\n",
    "Cherchez maintenant une densité $f(x)=f(x_0,...,x_{d-1})$  qui est invariante par rotation, et qui en plus est la loi de $d$ variables indépendantes  (à une dilation prêt, il n'y a qu'un seul choix possible).\n",
    "\n",
    "\n",
    "Simulez une v.a  $X=(X_0,...,X_{d-1})$  de loi $f(x)dx$. \n",
    "\n",
    "Trouvez une transformation du $X$ précédent qui suive une loi de loi uniforme sur $S^{d-1}$:  la\n",
    "sphère unité de $\\mathbb R^d$.\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "\n",
    "J'imagine que, sans probabilités, vous sauriez estimer cette intégrale pour d=2 et d=3, mais au-dela c'est difficile. Les méthodes de monte carlo sont faites pour cela: pour calculer des intégrales sur des domaines non-rectangulaire en grande dimension."
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Application: d'un point de la terre à un point de la lune\n",
    "\n",
    "\n",
    "Comment peut-on estimer la distance moyenne entre la surface de la terre et la surface de la lune? Décrivez l'agorithme, et si programmez-le. Vous trouverez facilement les constantes numériques nécessaire sur wikipedia. \n"
   ]
  }
 ],
 "metadata": {
  "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.6.5"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 2
}