Die Monte-Carlo-Methode ist eine Methode zum Umwandeln des Integrals einer Funktion in die Summe der abgetasteten Punkte, um eine bestimmte Funktion zu reproduzieren.
[Wikipedia](http://ja.wikipedia.org/wiki/%E3%83%A2%E3%83%B3%E3%83%86%E3%82%AB%E3%83%AB%E3%83 Dies hängt von der Qualität der Zufallszahlengenerierung ab, wie in% AD% E6% B3% 95) beschrieben.
Das Prinzip der numerischen Berechnung nach der Monte-Carlo-Methode besteht darin, dass im Fragebogen eine große Anzahl von Stichproben aus der Abteilung extrahiert wird, zu der viele Personen gehören, und eine kleine Anzahl von Stichproben aus der Abteilung, zu der eine kleine Anzahl von Personen gehört, und die Meinungen des gesamten Unternehmens ausgedrückt werden. Es ähnelt der Idee, dass es sich in einem Fragebogen widerspiegeln kann. Um beispielsweise das Umfangsverhältnis zu berechnen, generieren Sie einen Satz von Zufallszahlen im Bereich von 0 bis 1, betrachten Sie ihn als Punkt auf der xy-Koordinate und bestimmen Sie anhand des Verhältnisses, ob er sich im ersten Quadranten des Einheitskreises befindet oder nicht. ..
Für stochastische Variablen, die aufeinanderfolgende Werte annehmen, wird die stochastische Verteilung durch die stochastische Dichtefunktion f (x) dargestellt. Zu diesem Zeitpunkt sind der Mittelwert u und die Varianz σ ^ 2 wie folgt.
\mu = \int{xf(x)dx} \\
\sigma^2 = \int{(x - \mu)}^2f(x)dx
Es gab zwei Sportmannschaften A und B. Die beiden Sportmannschaften erzielten genau das gleiche Ergebnis, jedoch mit unterschiedlichen Abweichungen. Dies wird durch die Monte-Carlo-Simulation ausgedrückt.
from pylab import *
from scipy.stats import *
import matplotlib.pyplot as plt
runs = 10000
#Ergebnisse jedes Teams
teamperfA = [0.9,0.8,0,9] #Team A Punktzahl
teamperfB = [0.9,0.8,0.9] #Team B Punktzahl
#Verteilung der Ergebnisse nach Team
teamvarianceA = [0.03, 0.04, 0.02]
teamvarianceB = [0.05, 0.08, 0.09] #Team B ist zerstreuter
weights = [1.0, 0.95, 0.8]
def result(perf,variance,weights):
res = 0.0
for i in range(len(perf)-1):
res += perf[i] * weights[i] * norm(1,variance[i]).rvs()
return res
resultsA = zeros(shape=(runs,), dtype=float)
resultsB = zeros(shape=(runs,), dtype=float)
for i in range(runs):
resultsA[i] = result (teamperfA,teamvarianceA,weights)
resultsB[i] = result (teamperfB,teamvarianceB,weights)
subplot(211)
width = 2
height=runs
title('Team A')
hist(resultsA, bins=50)
axis([1.4,1.9,0,height/10])
subplot(212)
title('Team B')
hist(resultsB, bins=50)
axis([1.4,1.9,0,height/10])
show()
plt.savefig("image.png ")
Python matplotlib, Monte Carlo simulation, and basic statistics http://softwaredevelopmentperestroika.wordpress.com/2013/12/06/python-matplotlib-monte-carlo-simulation-and-basic-statistics/