분포 그래프 그리기
시각화에 한눈을 파느라 핵심 문제는 아직 풀지 못했습니다. 엠파이어스테이트 빌딩에서 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
____
____