Итак, я запускаю небольшую программу, которая по причинам будет делать случайные выборки с переменной скоростью с течением времени. Эта программа должна сообщить мне, произошло событие или нет. Однако, если по какой-то причине частота розыгрышей увеличится, я не хочу, чтобы частота событий увеличивалась вместе с ней. Мне нужно скорректировать вероятность события на основе того, сколько времени прошло с момента последнего события, или количества проведенных розыгрышей, или чего-то еще. Я спросил вы знаете кого, но не получил ничего работающего. Вот неработающий код, с которым я сейчас работаю:
import time
import numpy as np
import matplotlib.pyplot as plt
last_time = time.time()
event_times = []
ones = []
p = 1
count = 0
while count < 10:
time.sleep(np.random.rand()/100) # Random draw rate
dt = time.time() - last_time
dp = 1 - np.exp(-p*dt) # Adjusted probability
r = np.random.rand()
if r < dp:
event_times.append(dt)
ones.append(1) # Just for plotting
last_time = time.time()
count += 1
plt.figure()
plt.plot(event_times,ones,marker='o')
plt.show()
Подробнее здесь: https://stackoverflow.com/questions/791 ... draw-rates
Симулируйте случайный процесс при переменных скоростях прорисовки ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение