Data Science/데이터 분석, ML
-
[데이터 분석] 행위자 기반 모형 (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..
-
[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/데이터 분석, 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$ ..
-
[데이터 분석] 최소제곱법(Ordinary Least Square)을 쓰는 이유Data Science/데이터 분석, ML 2020. 9. 18. 14:52
0. 들어가는 글 미리 밑밥부터 깔겠습니다. 이 포스트에서는 엄밀한 의미에서 최소제곱법을 다루지 않을 겁니다. 사실 엄밀하고 진중하게, 그리고 정확하게 다루는 포스트는 굉장히 많아요. 거기에 굳이 한 포스트 더 거들 필요는 없을 것 같습니다. 여기서는 최소제곱법(OLS라고 부르겠습니다)에 대해 최대한 직관적으로 이해하는 걸 목표로 해볼게요. 1. OLS란 무엇일까 OLS는 오차를 최소로 만드는 추정량을 말합니다. 말이 어렵기는 한데, 아래처럼 생긴 식을 우리는 OLS추정량이라고 부릅니다. $$\hat{\beta} = (X'X)^{-1} (X'Y)$$ 설명을 조금 더 덧붙이자면, 선형식을 추정하는 방법이라고 이해하면 됩니다. 여기서 중요한 키워드는 ①선형식 그리고 ②추정, 이 2가지 입니다. 쉽게 이해하기..
-
[데이터 분석] 통계적 가설검정을 어렵게 느끼는 이유Data Science/데이터 분석, ML 2020. 9. 12. 20:30
0. 들어가는 글 일반적으로 과학적인 방법론을 사용한 연구에서는 연구가설을 세웁니다. 예컨대 '새로 개발한 고혈압약이 효험이 있다'거나, '금리 인상 정책이 물가 안정에 도움을 준다'거나 하는 식으로요. 그리고 가설을 검정할 때는 통계학의 힘을 빌리고는 합니다. 이 때 적용하는 방식을 통계적 가설검정이라고 부릅니다. 말 그대로 통계적인 지식을 통해, 나의 연구가설이 말이 되는지 또는 터무니없는지 확인해보는 것이죠. 모든 연구자는 당연하게도 자신의 연구가 참이기를 바랍니다. 하지만 솔직히, 연구자가 신도 아닌데 자기가 하는 말이 무조건 맞는 말일 수는 없잖아요. 그렇다고 우겼다가는 크게 혼나기 때문에, 연구자는 스스로의 연구에 대해 고민을 하게 됩니다. 이 때 연구자가 궁금해 하는 것, 그리고 연구자 자신..