random_state für Zufallsvariable
Verfasst: Dienstag 23. Oktober 2018, 16:46
Gerne würde ich in jedem Simulationsdurchlauf die gleichen Bernoulli Zahlen erstellen. Wenn ich alleridngs mit random_state= x als Argument
hinzufüge, wird schon innerhalb einer Simulation die gleiche Zufallszahl erstellt und das will ich nicht. Wie bekomme ich es in meinem Fall hin, dass innerhalb eines Simulationslaufs verschiedene Zufallszahlen erstellt werden und zur Überprüfbarkeit der Ergebnisse alle Simulationsläufe die gleichen Zahlen generieren. Hier der Code:
#Produkte
produkte = np.arange(12)
#Perioden
perioden = np.arange(10)
#number of runs
nRuns = 5
#Array q
q = np.array([ [0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9] ])
s = np.ones((nRuns,len(perioden),len(produkte)),dtype=np.int32)
for c in range(nRuns):
for t in perioden:
for j in produkte:
s[c, t, j] = bernoulli.rvs(q[t,j])
hinzufüge, wird schon innerhalb einer Simulation die gleiche Zufallszahl erstellt und das will ich nicht. Wie bekomme ich es in meinem Fall hin, dass innerhalb eines Simulationslaufs verschiedene Zufallszahlen erstellt werden und zur Überprüfbarkeit der Ergebnisse alle Simulationsläufe die gleichen Zahlen generieren. Hier der Code:
#Produkte
produkte = np.arange(12)
#Perioden
perioden = np.arange(10)
#number of runs
nRuns = 5
#Array q
q = np.array([ [0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9],
[0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9, 0.7, 0.9] ])
s = np.ones((nRuns,len(perioden),len(produkte)),dtype=np.int32)
for c in range(nRuns):
for t in perioden:
for j in produkte:
s[c, t, j] = bernoulli.rvs(q[t,j])