Laboratoriom/projekt ze statystyki matematycznej i
rachunku prawdopodobieństwa


Laboratorium 0:   Zapoznanie się z metodą MC oraz środowiskiem
Anaconda(Python)  do analizy i prezentacji danych.


Przykłady prostych zadań z rachunku prawdopodobieństwa:
       partię A popiera mniej niż 15 osób?
 


Metoda MC:

         generator liczb losowych np. :
  1.   Klasyczne języki programowania: FORTRAN, C, Pascal, Java, C/C++, Python
  2.    Interpretery biurowych arkuszy kalkulacyjnych: OpenOffice, Excel
  3.    Środowiska obliczeniowe: Matlab, Mathematica, SAS,   ROOT,  Anaconda
  4.   Pakiety statystyczne: Statistica, SPSS, S-plus, R

Liczby pseudolosowe w Python :

NumPy (Numerical Python) jest dedykowanym pakietem do obliczeń numerycznych w Python zoptymalizowanym do operowania na ciągach danych (np. próbach losowych).  Ładujemy go poprzez polecenie import.

import numpy as np  #     np.function  będzie referencją do obiektu function z pakietu NumPy

np.random jest modułem umożliwiającym wydajną generacji całych  ciągów liczb losowych z wielu rozkładów prawdopodobieństwa.

 

  1. Przykład RP1 (rzut dwiema kostkami) 


 

Optymalizacja do pracy z wielowymiarowymi szeregami (tablicami) umożliwia kodowanie w zasadzie bez
korzystania  z pętli.

Pięć  rzutów dwoma kostkami (możemy zmodyfikować poprzedni fragment kodu, lub napisać nowy w kolejnej
komórce Jupyter'a)


 
Aby rozwiązać w pełni przykład RP1 należy powtórzyć rzuty dwoma kostkami dużą ilość razy i zliczyć ilość przypadków
gdy wyrzucona zostanie ta sama liczba oczek na obu kostkach.



 


Metoda np.where umożliwia wydajne tworzenie szeregu z innych szeregów lub ich elementów



Pracując w Jupyter zawsze możemy zmodyfikować i wykonać ponownie każdą komórkę programu, dodać nową komórkę
pomiędzy już istniejące. Co znacznie ułatwia prace interakcyjną, debagowanie i eksploracje analizowanych
danych.  Kolejną istotną pomocą  jest wizualizacja analizowanych danych.  Podstawowym pakietem do wizualizacji
jest biblioteka matplotlib.

 

Powyższy rysunek (plot) przedstawia częstość pojawienia się sukcesu(tej samej liczby oczek na obu kostkach)  w funkcji liczby wykonanych prób (rzutów).  Zgodnie z definicją częstościową prawdopodobieństwa granica do której dąży ta częstość dąży do prawdopodobieństwa badanego  zdarzenia losowego a wizualizacja pomaga nam ocenić jak szybko częstość zbiega się do prawdopodobieństwa.
 
Plik z Jupyter (notebook) z poleceniami dyskutowanymi przy okazji przykładu RP1 znajduje się pod tym linkiem 


Przykład RP2 (poparcie partii w losowej grupie 100 obywateli)



Każdy wiersz tablicy sample odpowiada jednej losowej próbie 100 obywateli (wartość 1 - zwolennik partii A, 0 - zwolennik innej partii)
Każdy wiersz tablicy numberA zwiera biegnącą sumę ilości osób popierających partię A. Jej ostatnia kolumna odpowiada całej 100 osobowej grupie


Przy okazji możemy poznać dwa kolejne sposoby prezentacji danych (scatter plot oraz histogram)



Prawy rysunek reprezentuje rozkład prawdopodobieństwa zmiennej losowej opisującej ilość osób popierających partię A w losowo
wybranej grupie 100 obywateli jeśli poparcie tej partii w całej populacji wynosi 20%

 
Plik z Jupyter (notebook) z poleceniami dyskutowanymi przy okazji przykładu RP2 znajduje się pod tym linkiem

Zadania do samodzielnego przerobienia są pod tym
linkiem