Rucrazia's Blog

[강의] MIT Introduction to Computational Thinking and Data Science 정리 - Chapter 5. Random Walks 본문

기술 - Data Science/Data Science

[강의] MIT Introduction to Computational Thinking and Data Science 정리 - Chapter 5. Random Walks

DoyoungJ 2019. 11. 5. 21:02

* 강의 내용 정리 + 개인적으로 알아본 내용이 추가되어 있습니다.

Chapter 5. Random Walks

 

Random walks 는 다양한 영역에서 중요하게 사용된다. 주식 시장, 물리학, 전파 모델링 등 다양한 영역에서 사용된다.

Random walks의 정의는
- 시작 점이 있다.
- 경로 상의 한 점에서 다음 점까지의 거리는 상수이다. 
- 경로 상의 한 점에서 다음 점으로의 방향은 특정 선호 조건 없이 임의로 선택된다.

Random walks는 시뮬레이션을 어떻게 사용할지에 대한 좋은 예시가 된다.

본 강의에서는 시뮬레이션을 하나 이용해서 Random walks가 어떻게 작동하는지에 대해서 예시를 들었다. 시뮬레이션의 목적은 N번의 시행으로 원점과  X번 걸은 사람 간의 거리의 통계 값(평균, Min, Max)을 내는 것이다. 여기서 사람은 술취한 사람과 편향성을 가진 술 취한 사람 이렇게 두 명을 이용해서 비교 했다. 술 취한 사람의 걸음은 랜덤적으로 동서남북 중에 갈 수 있고, 편향성을 가진 술 취한 사람의 걸음은 북쪽으로만 간다고 가정해서 시뮬레이션을 수행했다. 사람들은 원점에서 출발하고 한 번에 한 걸음씩만 이동 가능하다.
시뮬레이션의 결과로는

Code:
drunkTest((10, 100, 1000, 10000), 100, UsualDrunk) #10,100,1000,10000 걸음을 각각 100번 돌려본다.

Return:
UsualDrunk random walk of 10 steps
  Mean = 2.863
  Max = 7.2 Min = 0.0
UsualDrunk random walk of 100 steps
  Mean = 8.296
  Max = 21.6 Min = 1.4
UsualDrunk random walk of 1000 steps
  Mean = 27.297
  Max = 66.3 Min = 4.2
UsualDrunk random walk of 10000 steps
  Mean = 89.241
  Max = 226.5 Min = 10.0 

이렇게 나온 결과가 과연 맞을까?

이것에 대한 대답으로 본 강의의 교수는 Sanity Check(위생 검사)를 수행한다고 했다. 본 검사 방법은 우리가 직관적으로 이해하기 쉬운 예시를 만들어서 수행해보고 그 결과가 실제로 맞는지 확인해보는 것이다.

Code:
drunkTest((0, 1, 2) 100, UsualDrunk) #0,1,2 걸음을 각각 100번 돌려본다.

Return:
UsualDrunk random walk of 0 steps
  Mean = 0
  Max = 0 Min = 0
UsualDrunk random walk of 1 steps
  Mean = 1.0 
  Max = 1.0 Min = 1.0
UsualDrunk random walk of 2 steps
  Mean = 1.128
  Max = 2.0 Min = 0.0  

위의 결과 정도면 시뮬레이션 결과가 맞다고 볼 수 있기 때문에 위의 결과 값이 참이라고 주장 할 수 있다.

 

 

많은 영역에서 중요
강의의 예시 : 술 취한 사람의 걸음과 편향성을 가진 술 취한 사람의 걸음 차이를 파악

무작위 행보의 가장 단순한 형태는 다음과 같은 규칙에 의해 생성된 경로이다.

시작 점이 있다.