Data Science
-
[데이터 분석] 행위자 기반 모형 (Agent Based Model) [긴 버전]Data Science/데이터 분석, ML 2023. 8. 15. 23:06
1. 들어가는 글 몬테 카를로 시뮬레이션에 대해 쓰면서 잠깐 말했지만, 시뮬레이션을 하는 방법 중에 행위자 기반 모형이라는 게 있습니다. 처음 이걸 접할 때가 아마 대학원 첫 학기로 기억해요. 당시에는 아직 연구주제를 명확하게 정하던 때가 아니라 이것저것 관심을 갖고 있었어요. 특히 학부에서는 잘 다루지 않았던 행동경제학은 게임이론과 더불어 경제학도라면 관심가질 만한 분야일거에요. 때마침 한 선배가 행동경제학에서 주로 하는 시뮬레이션을 학습하는 모임을 추천해주셔서 참여한 적이 있어요. Netlogo를 활용했는데, 처음엔 나비모형이라는 걸 배웠습니다. 나비모형이라고 하니까 왠지 나비효과 같은 걸 생각했는데 그런 건 아니었어요. 단순히 나비가 펄럭펄럭 날아서 산까지 날아가는 걸 만들어 보는 거 였습니다. 그..
-
[데이터 분석] 몬테 카를로 시뮬레이션(MC Simulation) [긴 버전]Data Science/데이터 분석, ML 2023. 8. 7. 22:37
1. 들어가는 글 근의 공식을 기억하시나요? 근의 공식은 이차방정식의 해를 구하는 공식을 말합니다. 더보기 식(1)과 같은 이차방정식이 있다고 할 때, 근의 공식은 식(2)처럼 생겼습니다. $$ \begin{align} &ax^{2} + bx + c = 0 \quad where \; a \neq 0 \tag{1} \\[15 pt] &x = \frac{-b \pm \sqrt{b^{2} -4ac}}{2a} \tag{2} \end{align} $$ 근의 공식처럼, 공식은 다양한 목적으로 쓰입니다. 어떤 현상을 기술하기 위해서, 또는 세상에 작용하는 법칙을 설명하기 위해서, 또는 문제를 해결하는 방법을 기술하기 위해서, 이렇게 문제를 해결하는 식이 있는 경우는 그래도 친절한 편이에요. 식이 아무리 복잡하더라도,..
-
[ML] 릿지Ridge, 라쏘LASSO를 배울 때 나오는 그래프는 뭘까Data Science/데이터 분석, ML 2022. 5. 2. 23:48
1. 들어가는 글 이번에는 릿지Ridge와 라쏘LASSO에서 꼭 마주하게 되는 한 그래프를 다루려고 합니다. 릿지, 라쏘에 대해서는 나중에 자세히 다루려고 해요 릿지나 라쏘는 몇 가지 좋은 성능이 있어서 많이 사용됩니다. 아이디어도 아주 간단한 편이에요. 선형회귀를 하되, 제약식을 두고 한다. OLS를 배웠다면 릿지나 라쏘를 이해하는 건 어렵지는 않습니다. 물론 수식으로 써두고 보면 이해하기 어려워 보이긴 하지만요. 다만 릿지나 라쏘 그 자체보다는, 교과서에 나오는 등고선 그래프가 조금 어렵게 느껴지기도 합니다. 대체 정체가 뭘까요? 2. 등고선 그래프 책마다 다르지만 릿지와 라쏘를 다루거나 L1, L2 정규화를 다루는 챕터에서 마주치는 그래프가 있습니다. ISLR(An Introduction to St..
-
[부록] 뉴턴랩슨법 구현Data Science/부록 2020. 10. 23. 22:58
뉴턴-랩슨법(Newton's Method)을 구현해보려고 합니다. 뉴턴-랩슨법이 무엇인지는 이전 글을 참고해주세요. 파이썬으로 간단하게 구현을 했는데요, 여기서 구하고자 하는 $f(x) = x^{2} + 8x - 17$입니다. 구해보면 이 때의 해 $x$는 $1.7445626$이 나옵니다. $f(x) = 0$을 만들어주는 $x$를 구해보기 위해 근의 공식에 대입하면, $x = -4 \pm \sqrt{33}$이 나옵니다. $\sqrt{33} = 5.74456264654$이니, 실제로도 정확하게 구해주네요. 코드는 아래와 같습니다. def ftn(x): z = x*x + 8*x - 17 return(z) xt = 100 h = 0.000000001 epsilon = 0.0000001 i = 1 while 1..
-
[ML] 뉴턴-랩슨법(Newton's Method)을 쓰는 이유Data Science/데이터 분석, ML 2020. 10. 23. 22:51
0. 들어가는 글 데이터 분석을 하다보면 종종 뉴턴 방법(Newton's method) 또는 뉴턴-랩슨법(Newton-raphson's method)을 만나는 경우가 있습니다. 뉴턴-랩슨법은 해(Solution)을 구하는 방법으로 알려져 있긴 합니다.해를 구할 때 뉴턴-랩슨법을 직접 사용하는 경우도 있고, 개념을 차용하기도 합니다. 대표적으로 딥러닝에서 경사하강법(Gradient descent)을 들 수 있겠네요. 아무튼 다양한 분야에서 활용되고 있는 뉴턴-랩슨법을 소개하려고 합니다. 알아두면 생각보다 유용하거든요. 1. 해(Solution)을 구하는 방법? 앞서 말한대로 뉴턴-랩슨법은 해(Solution)를 구하는 방법 중 하나입니다. 구체적으로는 함수값을 0으로 만들어주는 값을 찾을 때 꽤 유용하고 ..
-
[부록] 최소제곱법 공식 유도② 단순회귀모형Data Science/부록 2020. 10. 17. 21:56
이전 글에서 최소제곱법으로 구한 추정량을 유도했는데, 이번에는 단순회귀모형으로 해보려고 한다. 단순회귀모형이나 다중회귀모형이나 기본적인 아이디어는 같다. 다만 단순회귀에 비해 다중회귀는 변수가 조금 많다보니 행렬로 표기할 뿐이다. 우선 단순회귀모형은 다중회귀모형과 달리 설명변수를 하나만 사용하는 모형이다. 식은 아래와 같이 생겼다. $$ y_i = \alpha + \beta x_i + u_i \qquad i = 1, 2, \cdots , N$$ 표본크기는 $N$개라고 가정했다. $y$는 종속변수(Dependant Variable), $x$는 설명변수(Explanatory Variable), $u$는 오차항(Error Term, Unobservable Factor)을 말한다. 선형식에서 일반적으로 상수항을..
-
[데이터 분석] 회귀분석을 할 때 로그 변환을 하는 이유Data Science/데이터 분석, ML 2020. 10. 8. 20:49
0. 들어가는 글 데이터 분석을 이용한 논문을 보다보면 변수에 로그를 취하는 경우가 종종 있습니다. 미시데이터를 다루는 경우에는 로그임금을, 거시데이터는 로그GDP나 로그인구를 사용하는 경우가 꽤 많아요. 많은 책에서는 로그변환 변수를 해석하는 방법을 따로 소개하기도 합니다. 그만큼 로그변환이 중요한 부분이기는 해요. 하지만 로그변환을 하는 이유에 대해서는 충분히 알려주지는 않습니다. 왠지 치열하게 개고생하고 고민해서 알아내라는 의도이지 않을까 싶습니다. 제 생각에 절대적인 기준이 있는 것 같지는 않아요. 다만 로그 변환이 권장되는 상황에는 변환을 하는 게 좋겠습니다. 이제 서술할 부분은 공인된 지식이라고 보기는 어렵습니다. 강의나 논문 지도를 받으며 알게 된 사실들을 정리했다는 점, 참고해주세요. 1...
-
[데이터 분석] 로그변환을 "변화율, 성장률"로 해석하는 이유Data Science/데이터 분석, ML 2020. 9. 18. 16:17
0. 들어가는 글 회귀분석을 다루는 교과 과정이나 시험에서 꼭 빠지지 않는 문제가 있습니다. 바로 최소제곱법으로 추정한 계수의 의미해석입니다. 일반적인 교재에서 따로 한 챕터를 할애하여 계수의 해석을 설명할 만큼, 비중이 꽤 큰 편입니다. 그만큼 설명이 필요하고, 중요하다는 의미겠지요. 그 중에서 특히 로그변환이 들어간 경우, 해석이 참 쉽지 않습니다. 변수에 로그변환을 한 경우는 크게 4가지가 있습니다. 이 4가지 경우에 따라 해석하는 방법부터 정리하면 아래 표와 같습니다. 종속변수 $Y$ 설명변수 $X$ $\hat{\beta}$의 의미 로그변환을 하지 않음 : $Y$ 로그변환을 하지 않음 : $X$ $X$가 1단위 변할 때 $Y$의 변화량 로그변환을 하지 않음 : $Y$ 로그변환을 함 : $lnX$ ..