Wykonywanie eksperymentów prawdopodobieństwa w matematyce
Mathematica oferuje bardzo wygodne ramy do pracy z prawdopodobieństwami i rozkładami, a - chociaż zajęto się głównym problemem odpowiednich limitów - chciałbym użyć tego pytania, aby uczynić to bardziej zrozumiałym i być może przydatnym jako odniesienie.
Po prostu sprawmy, aby eksperymenty były powtarzalne i zdefiniuj opcje fabuły, które pasują do naszego gustu:
SeedRandom["Repeatable_151115"];
$PlotTheme = "Detailed";
SetOptions[Plot, Filling -> Axis];
SetOptions[DiscretePlot, ExtentSize -> Scaled[0.5], PlotMarkers -> "Point"];
Praca z rozkładami parametrycznymi
Możemy teraz zdefiniować asymptotical dystrybucji dla jednego zdarzenia , które jest proporcja głowic w rzuca z (godziwej) monety:πn
distProportionTenCoinThrows = With[
{
n = 10, (* number of coin throws *)
p = 1/2 (* fair coin probability of head*)
},
(* derive the distribution for the proportion of heads *)
TransformedDistribution[
x/n,
x \[Distributed] BinomialDistribution[ n, p ]
];
With[
{
pr = PlotRange -> {{0, 1}, {0, 0.25}}
},
theoreticalPlot = DiscretePlot[
Evaluate @ PDF[ distProportionTenCoinThrows, p ],
{p, 0, 1, 0.1},
pr
];
(* show plot with colored range *)
Show @ {
theoreticalPlot,
DiscretePlot[
Evaluate @ PDF[ distProportionTenCoinThrows, p ],
{p, 0.4, 0.6, 0.1},
pr,
FillingStyle -> Red,
PlotLegends -> None
]
}
]
Co daje nam wykres dyskretnego rozkładu proporcji:
Rozkładu możemy natychmiast użyć do obliczenia prawdopodobieństwa dla i :P.r [0,4 ≤ π≤ 0,6|π∼ B ( 10 ,12)) ]P.r [0,4 < π< 0,6|π∼ B ( 10 ,12)) ]
{
Probability[ 0.4 <= p <= 0.6, p \[Distributed] distProportionTenCoinThrows ],
Probability[ 0.4 < p < 0.6, p \[Distributed] distProportionTenCoinThrows ]
} // N
{0,65625, 0,246094}
Przeprowadzanie eksperymentów Monte Carlo
Możemy użyć rozkładu dla jednego zdarzenia, aby wielokrotnie próbkować z niego (Monte Carlo).
distProportionsOneMillionCoinThrows = With[
{
sampleSize = 1000000
},
EmpiricalDistribution[
RandomVariate[
distProportionTenCoinThrows,
sampleSize
]
]
];
empiricalPlot =
DiscretePlot[
Evaluate@PDF[ distProportionsOneMillionCoinThrows, p ],
{p, 0, 1, 0.1},
PlotRange -> {{0, 1}, {0, 0.25}} ,
ExtentSize -> None,
PlotLegends -> None,
PlotStyle -> Red
]
]
Porównanie tego z rozkładem teoretycznym / asymptotycznym pokazuje, że wszystko pasuje do:
Show @ {
theoreticalPlot,
empiricalPlot
}