Визуализация распределения
Увлекательные визуализации немного отвлекли нас от главного. Нам всё ещё нужно решить задачу на миллион: какова вероятность того, что вы поднимитесь на 60 ступеней Эмпайр-стейт-билдинг?
По сути, нас интересуют конечные точки всех смоделированных случайных блужданий. Эти точки подчиняются определённому распределению, которое можно наглядно представить в виде гистограммы.
Обратите внимание: если код выполняется слишком долго, возможно, вы строите гистограмму по неверным данным!
Это упражнение является частью курса
Средний уровень Python
Инструкции к упражнению
- Чтобы набрать достаточно симуляций, увеличьте их количество: смоделируйте случайное блуждание 500 раз.
- Из массива
np_aw_tвыберите последнюю строку — она содержит конечные точки всех 500 смоделированных случайных блужданий. Сохраните этот массивNumPyв переменнуюends. - Используйте
plt.hist(), чтобы построить гистограмму по даннымends. Не забудьте вызватьplt.show()для отображения графика.
Интерактивное практическое упражнение
Попробуйте выполнить это упражнение, дополнив этот пример кода.
# numpy and matplotlib imported, seed set
# Simulate random walk 500 times
all_walks = []
for i in range(500) :
random_walk = [0]
for x in range(100) :
step = random_walk[-1]
dice = np.random.randint(1,7)
if dice <= 2:
step = max(0, step - 1)
elif dice <= 5:
step = step + 1
else:
step = step + np.random.randint(1,7)
if np.random.rand() <= 0.001 :
step = 0
random_walk.append(step)
all_walks.append(random_walk)
# Create and plot np_aw_t
np_aw_t = np.transpose(np.array(all_walks))
# Select last row from np_aw_t: ends
____ = ____[____,____]
# Plot histogram of ends, display plot
____
____