[대학원] 폴란드 DS 대학원 갔던 학생에게 받은 교육 후기 + DS질문 + 답변

1
pabii research

대략 1년 전에 Y대 경영 전공인데 SIAI 올려고 하다가 개인 사정으로 폴란드를 가야해서 U턴했다는 학생에게 이런저런 정보를 받은 적이 있었는데,

귀찮은 상담(?)해줬으니까 폴란드 경험치 좀 쌓이면 거기 사정을 좀 알려달라고 했더니 1년 만에 초장문의 답장이 왔다.

질문한 학생이 말한대로 우리 SIAI 학생이 궁금하다는 것도 아닌데 귀찮게 왜 가르쳐줘야 되나는 생각이 들기는 했지만,

그래도 폴란드 사정이라는 알짜 정보를 얻게 된 만큼, 정보에 대한 비용을 지불해야겠다는 생각에

질문에 대해 짧게나마 답변을 했는데, 공부하는 분들께 도움이 되었으면 해서 공유한다.

 

속 사정을 들으니 몇몇 수업에 대해서는 학교의 교육 수준이 높은 것도 아니고, 같은 맥락에서 공부하는 학생들 수준에 좀 많이 문제가 있는 것 같은데,

혼자서 고군분투하느라 고생이 많아 보여서 안타까운 마음도 좀 생기더라.

꼭 원하는 레벨의 지식을 배워 뛰어난 인재로 성장하시기를 빈다.

 

1.폴란드 DS시장 관련 정보


그 전에 지난 번, 폴란드 대학원 후기가 어떨지 궁금하다고 나중에 알려달라고 하셨었는데, 간략하게나마 대학원 후기와 현지 취업 관련 내용을 여기에 적어보겠습니다.

우선 한국와 다르지 않게 여기도 빅데이터라는 이름이 들어간 곳은 좀 개판인 것 같습니다.
사실 외국인들이 공부하러 오는 나라는 아니다 보니 지원을 하면 다 받아주는 경향이 있는 곳이기도 하고요.

그러다 보니 데이터과학이 수리통계를 기반으로한 탄탄한 이론을 현실 데이터에 프로그래밍을 도구로 삼아 적용한다는 취지에 대한 이해도가 없이 프로그래밍 돌린다고 생각하는 애들이 굉장히 많긴 합니다;; (근데 그런애들 특징이 프로그래밍도 진짜 못합니다.. 언어 선택 다 양보해줘도 자기 맡은 파트에 뭐 안돌아간다고 징징대다가 이상하게 코드 짜온거 봐주면, 변수명 안 바꾸거나 데이터타입 문제거나 plot에서 xlim을 변수에 맞게 안 바꾼 경우…)

일전에 제가 보여드렸던 수업 커리큘럼도 mandatory가 아니라 elective이고, 이 학위에서 mandatory로 삼은 수업들은 아래 제가 첨부한 것처럼 밖에서 모르는 사람들이 봤을 때 데이터사이언스가 공부할 법한 내용의 주제들도 많아서 1학기에 굉장히 못마땅하게 다녔네요.. 물론 logistic regression만 학기 통째로 배우는 수업이나 statistical learning method 같은 수업들은 지엽적으로 의미가 있는 수업들이긴 한데, 사실 저런 수업들 기본적인 회귀 지식 없으면 배워가는게 매우 적은 수업이라 저는 유익하게 듣고 있는데 다른 애들은 얼마나 얻어갈 수 있을 지는 잘 모르겠네요. Advanced Optimization도 이름은 Advanced인데 부등식, 등식 제한 조건 걸린 최적화를 다루는 라그랑주, KKT 까지는 나가지도 않습니다. 암튼 “Big Data” 전공의 의무 수업들은 제가 대학원 들어오기 전에 혼자 공부했던 내용들보다 수준이 오히려 낮은 내용들이었네요.

Big Data 수업들에서 만나는 애들은 진짜 이상한애들도 있어요. 거시경제 변수로 나라 segmentation하는 그룹 프로젝트에서 쓸 변수 3개를 골라서 이유를 설명하는 부분에 “이 변수들과 response variable 간의 관계를 본다.” 라는 얘기를 하길래 “What do you mean by response variablee?” 물어보니 보통 EDA에 reponse variable 와 설명변수 간의 관계를 보지 않냐 이런 헛소리를 하길래 unsupervised learning에 대체 response variable이 왜나오냐 얘기를 해줘야했네요..

또, 웃긴건 변수 3개 간의 상관관계를 잔뜩 강조를 해놨더라고요. 그게 마치 그 변수들을 선택한 이유라도 되는 것 마냥. 근데 설명변수들끼리 상관관계가 높으면 발생하는 다중공선성 같은 개념을 떠나서 나라들 간의 분류 작업을 하는데 life expectancy, child morality 같이 설명하는 부분이 비슷한 변수를 사용하는 것보다 life expectancy, is_monarchy 같이 서로 다른 부분을 설명하는 변수를 고르는게 더 논리적으로 맞지 않겠니? 얘기를 해주니 이해를 했다고는 하는데 진짜로 이해했는지는 모르겠네요…

K-means가 Euclidean 공간의 거리를 기반으로 분류를 해주기 때문에 unit을 맞추기 위해 표준화 작업을 하는 것만 봐도, outlier에 굉장히 민감한 알고리즘이라는 것을 알 수 있을 텐데, within-sum-of-squre이 낮다고 k를 3 말고 4로 한대서 확인해봤더니 보통 국가들은 50을 넘지 않는 exports 변수 값이 100이 넘어가는 4개 국가가 존재해서 그런 거더라구요. plot만 그려봐도 4번째 cluster는 데이터 포인트 4개만 포함된 이상한 분류라는 것을 확인할 수 있는데… exports가 미친듯이 높은 국가를 따로 분류하는 것이 목적에 더 맞다고 항변하는 것도 아니고, 그냥 저 수치가 더 낮으니까 4로 하자는 느낌이라 뭐 저만 진지하게 임한다는 느낌을 받았네요..

그래도 elective 수업에서 괜찮은 수업들 많이 건져서 듣고 있어서 만족하면서 다니고 있네요. 특히 프랑스 어느 대학하고 이 대학이 1년 1년씩 공동 운영하는 “Models and Methods of Quantitative Economics” 학위 수업을 굉장히 애용하고 있는데요. 가우스 마르코프 가정 무너지는 부분부터 시계열 거쳐서 패널까지 다루는 Advanced Applied Econometrics (https://web.sgh.waw.pl/~jmuck/AdvancedAppliedEconometrics.html), ARMA, GARCH, VAR, risk measures 다루는 Financial Econometrics 2 (https://web.sgh.waw.pl/~mrubas/) 수업이 정말 유익합니다. (Big Data 애들은 이런 수업은 선택을 안하고 AI, BI, Database 이런 수업만 듣더라고요.)

진짜 배우면 배울 수록 빈틈이 보이고, 원래 50점에서 90점 가는 거보다 90점에서 95점가는게 몇 배는 더 어렵고 더 많은 시간이 들듯이 학교 수업 뿐만 아니라 인터넷에서 좋은 자료들 찾아서 보충하고 그러고 있습니다.


 

2.면접 봤던 후기


최근에는 현지 유럽계 상업은행 리스크 모델 디벨로퍼로 인터뷰를 몇번 보기도 했는데, 처음부터 끝까지 통계 질문만 들어오긴 하더라고요.

– 맥도날드 VaR 구하는 프로젝트를 이력서에 적었더니 (https://yanjini.github.io/blog/2023/02/26/Mcdonald’s-stock-VaR/) VaR이 뭔지, 왜 쓰는지, VaR을 계산하려면 뭘 구해야하는 지 (수익률 분포를 알아야한다고 했습니다.), 수익률 분포를 알아야한다고 했는데 정확히 어떤 데이터의 분포인지 (log return을 쓰고 왜 쓰는지 이야기 했네요.), 분포를 어떻게 알 수 있는지 (GARCH model에서 white innovation의 분포를 t로 가정해 추정한다고 했네요.)

– 왜 GARCH를 쓰는지 (수익률의 경우 conditional expectation은 constant인데, conditional volatility가 varying하고, 이에 자기상관 구조가 존재하는 경우가 많아서)

– 자기가 어떤 금융 데이터를 주면 그 데이터에 맞는 parametric family를 특정하기 위해 어떤 방법을 사용할 건지. (Kolmogorov-Smirnov, QQ-plot, 모먼트를 본다 등등)

– 부트스트랩과 몬테카를로 시뮬레이션에 대해 설명하고 예시를 들어보라 (부트스트랩은 샘플로부터 더 작은 샘플 여러개를 복원추출하는 개념이고, 몬테카를로는 데이터를 가정하는 모델로부터 “생성”하는 시뮬레이션이다. 예시로는 회귀분석 계수의 분포를 구하는데 있어서 부트스트래핑을 썼던 경우, daily log return 데이터로 10일 VaR을 구할 때, 가정한 분포가 가우시안이 아니면 sum of 10 dayily log returns 분포를 analyrically 구할 수 없으니 몬테카를로 돌린다 등등)

– 금리하고 prepayment 관련 데이터를 주고 prepayment 평균 over customers을 구해서 30개월치 데이터를 얻은 뒤에 둘 관계를 plot하는데, 예상했던 관계가 나오지 않으니 prepayment를 aggregate할 때 왜 원금으로 weight해볼 생각은 안했는지? 이런 질문도 있었네요.

– 이자율 시뮬레이션 —> 각 구간 대출 현금흐름 (predicted from prepayment model)—> discount —> aggregate all simulated results 과정을 거쳐서 loan 현재가치를 구하는 내용 이론적 설명

– CFA 1, 2 공부하는 동안 fixed income이 가장 재밌었다고 이야기하니 bond risk measure인 duration, convexity에 대해서 물어봤네요. (duration은 채권 가격의 금리 민감도, convexity는 duration의 금리 민감도로 채권 가격 함수인 f(금리)의 Taylor Expansion first, second order같은 거라고 답변했습니다.)

– Taylor expansion을 언급했는데, 금리 변화에 따른 채권 가격을 duration, convexity로 구할 때, 둘을 그냥 더하나 weight 해서 더하나 (1/2팩토리알로 weight 한다고 했네요.)

암튼 전부 통계학 + 해당 부서 도메인 조금이었네요.
이런 직무 공고에도 academic degree in econ, quantitiative methods, statistics, mathematics…, sound knowledge of statistical modeling and econ 이런 식으로 계량쪽 강조가 강하고 면접에서 물어본 코딩 수준은 정말 쉬운 거였네요. (sum of factorials when given a natural number n 파이썬 코드)

금융 + 데이터과학 쪽이 제가 정말 가고 싶었던 분야였는데, 2년 전에 대표님 블로그 처음 접한 뒤 방향 설정을 잘 했다는 생각이 들어서 정말 감사드립니다.


 

3.DS 관련 질문 & 답변

질문 Set 1번


이제 본론으로 돌아와서 궁금한 부분들 남기겠습니다.
저는 대표님 블로그 글을 거의 다 보는데요. (제게는 거의 김창진 교수님 계량경제학 노트 3 수준의 바이블입니다..)
현재 다음의 몇가지 내용에 막혀있습니다.

머신러닝에서 data split을 하는 이유가 회귀분석에서처럼 2차 모먼트 없이 point estimate만 주어지기 때문이라고 하신 글을 봤습니다. (https://pdsi.pabii.com/ai-maniac-robo-advisor-disgrace-followup/) 저도 평소에 “과최적의 위험을 예방하기 위해 data split은 필요하지~, 근데 왜 계량경제학에서는 이 부분을 강조하는 걸 단 한번도 들어본 적이 없지?” 이런 의문점을 가지고 있었는데, 대표님 말씀을 듣고 개안을 한듯한 시원함을 받았습니다. 회귀분석의 경우 가정이 만족하면 se를 이용해서 추정치들에 대한 통계적 유의미성 검증을 할 수 있기 때문에 data split 필요성이 떨어진다는 점까지 이해했습니다. 하지만 다음의 몇가지 의문이 들었는데요.

– cross-section 회귀분석에서 노이즈까지 학습해버리는 경우는 결국 모델에 필요없는 변수를 넣었다는 소리인데, 이 경우 계수 추정치 분산이 커지는 것을 확인함으로써 과최적화를 가늠할 수 있기에 굳이 data split을 할 이유가 없다는 점까지 이해했습니다. 근데 이와 반해 time-series에서는 out-of-sample prediction을 하는 것을 배우는데, 이게 사실상 data split이잖아요. 우리가 평행우주 시뮬레이션을 통해 stochastic process 데이터를 가지고 있는 것이 아니라 각 time의 실현치인 time-series만을 가지고 있기에 randomly sample split이 불가해서인가요? time에 따라 통계적 특성은 변할 수가 있는데, data split은 어느 기간 이전과 이후로 밖에 나눌 수가 없으니까요. 시계열의 경우도 사실상 회귀분석이라 se를 구해서 통계적 유의미성을 검증할 수 있는데도 머신러닝처럼 data split을 하는 이유를 이처럼 이해할 수 있는 건지 궁금합니다.

– 머신러닝 입문 책들을 보면 선형회귀 예시를 들면서도 data split을 하던데 굳이 할 필요가 없는걸 다른 모델들과 똑같이 기계적으로 하는 건가요? (cross section 데이터의 경우는 대표님 말씀처럼 굳이 할 필요가 없는 거 아닌가요?)

– 선형회귀 뿐만 아니라 se를 구할 수 있는 generalized linear model들도 cross section 데이터를 쓰는 경에 한해서 굳이 data split을 할 필요 없는 걸까요?


 

답변 1번


Time series에서 out-of-sample prediction은 말 그대로 ‘prediction’이기 때문에, 기존의 데이터에서 만든 모델이 미래를 잘 예측한다는 걸 보여줘야해서 data split이 있는겁니다. 즉, ‘prediction’의 역량을 보여주는거죠.

반면, 단순 선형회귀, GLM 같은 모델들은 목표가 ‘모델 검증’이기 때문에 data split의 필요도는 낮습니다. 머신러닝 교과서에서 2차 moment 기반의 통계 검증을 제대로 안 하는건 걔네들이 그걸 안 배우기 때문이고, 모델 검증의 궁극적인 목적이 ‘안정적이다(Robust)’는 개념을 넘어, 더 1차원적으로 해석하면 ‘잘 맞는다’는거니까, data split을 해서 보여주는게 상위 개념에서 봤을 때 틀린 건 아닙니다. 그냥 ML애들이 하는게 2nd moment가 없어서 or 몰라서 사정상 어쩔 수 없이 선택하는 ‘수학적 수준이 낮은 검증법’인거죠.

하나 주의를 주면, 2nd moment로 ‘검증’하는 계산이 일반화된 것은 2차 이상이 불필요하다는 암묵적인 가정, 즉 데이터의 분포함수가 한쪽 쏠림이 심한 분포가 아니라는 가정이 깔려있습니다. 포아송 분포에 정규분포 방식의 검증이 model power를 높여주기 위해서 엄청난 데이터를 부어야 하고, 그래도 model power가 잘 올라가지 않는다는 걸 한번 설명한 적이 있었는데 (SIAI 신입생들 대상 수학 수업에 넣어놨고, 글을 한두번은 썼을꺼에요) 참고하시기 바랍니다.


 

질문 Set 2번


항상 강조하시는 랜덤분포, 정규성, 비선형적 관계에 관련해서 다음의 몇가지로 나누어 자세하게 설명을 듣고 싶습니다.

https://pdsi.pabii.com/expect-too-much/
non-linear 관계가 없는 경우 머신러닝까지 필요없고 회귀분석으로 해결가능하다는 점은 이해가 됩니다. 데이터 샘플이 랜덤 오차를 가지는 경우가 이러한 경우 중에 하나라고 말씀하셨는데요. 근데 오차를 구했다는 것은 이미 어떤 모델을 가정한 뒤 추정을 했다는 것인데, 만일 해당 모델이 비선형적인 관계를 가정한 경우 (로그를 취하거나 tree 모델로부터 파악한 non-monotonic 증가 감소 구간을 더미처리하거나) 데이터에 비선형적 관계가 존재하는 것 아닌가요? 용어가 좀 애매하다고 느껴져서 질문을 드립니다. “회귀모델에 명시적으로 포함하기 힘든 비선형성이 존재할 때 머신러닝을 쓴다.”, “비선형적인 관계를 전처리해서 선형관계로 만든 뒤에 모델을 돌려서 얻은 오차가 랜덤인 경우 굳이 머신러닝을 사용할 필요가 없다.” 정도로 이해하면 될까요?

https://pdsi.pabii.com/data-scientist-interview-questions/
Q2에 “데이터 y값이 정규분포를 따를 때, MLE가 Best Unbiased Estimator이고, 이 값이 OLS와 일치한다는 점, 오차항 제곱의 최소값을 찾는 작업이 결국 Variance가 가장 작은 예측치를 찾는 작업이 된다”라고 하셨습니다. 좀 더 기계적으로 설명했을 때, “가우스-마르코프 가정이 만족할 때 OLS가 BLUE이며, 이때 y 자체가 정규분포일 필요는 없고 조건부 잔차항이 정규분포를 좇으면 된다. 만일 y 자체가 가우시안을 좇으면 OLS에 더해서 MLE도 BLUE이며, 이 두 놈의 값이 같아진다.” 정도로 이해할 수 있을 까요?

https://pdsi.pabii.com/data-science-students-questions/
첫번째 질문에 머신러닝에서는 잔차의 구조에 대한 고민이 회귀분석보다 더 적은게 당연하다고 하셨는데, 머신러닝의 경우에도 타겟변수를 충분히 설명했음을 보이기 위해서는 잔차가 최소한 랜덤하다는 것 정도는 보여줘야하지 않나요? train 데이터에서 performance measure가 충분히 높고, 충분히 큰 test 데이터에서도 이 수치가 크게 변하지 않는 다는 것 정도만 보여도 모델이 모든 데이터에서 general하게 설명을 잘한다고 이야기 할 수 있을 것 같긴 합니다. 하지만 머신러닝이 회귀분석을 통해 선형적 관계 + 명시가능한 비선형적관계를 fit한 뒤 잔차에 남은 non-random 비선형적 관계를 추가적으로 설명해주는 거라고 이해했을 때, 이 놈을 거치고 나면 잔차가 랜덤이 돼야 만족할 수 있지 않을까요?

– 위와 같은 링크
두번째 질문에 underlying distribution이 정규분포가 아닌 경우 t-stat 말고 다른 통계량을 구해야하기 때문에 정규성 검정을 하는 거고, 이 대표적인 예시로 포아송 분포를 따를 때 이야기를 해주셨습니다. t-stat 자체가 어떤 특정 추정치에 대한 fixed value 가설 검정을 할 때나, 두 추정치 간의 비교나, 회귀분석 계수 추정치처럼 aymptotic nomality를 따르는데 표본수가 작아 불확실성을 더 반영하려는 경우 사용한다고 알고 있는데요. 1) 표본평균 추정치의 경우 중심극한정리 때문에 underlying이 포아송 분포를 따르더라도 표본 수가 적당히 크면 어차피 t-stat or 진짜 크면 z-stat을 써도 되는 것 아닌가요?, 2) 회귀분석 계수 추정치도 좀 어지럽게 변형한 중심극한정리를 통해서 asymptotically normal이니까 underlying 분포와 상관없이 t-stat or z-stat을 쓸 수 있지 않나요?

underlying이 포아송이기 때문에 포아송 분포 상에서의 statistic을 구해서 가설검정을 해야하는 경우는 표본평균, 회귀분석 계수같은 추정치들이 아니라 개별 샘플 데이터 자체에 대해 가설검정을 해야할 경우밖에 없는 것 같은데, 제가 잘못 이해한 것일 까요? 예를 들어 24시간 안에 길에서 똥 밟을 횟수가 확률이 굉장히 작은 포아송 분포를 따른다고 가정했는데, 오늘 똥을 세번 밟았으면 가정한 확률 아래 포아송 분포에 대조했을 때 이게 발생할 만한 확률인지 아닌지 알 수 있을 겁니다. 하지만 매일 모이는 이 데이터를 1년 동안 모아서 표본을 모아 평균을 내면, 그 표본 평균은 정규분포에 근사할테니 t-stat, z-stat을 쓰지 않을까요?


 

답변 2번


우리 학생들도 종종 질문하던데, y = 회귀식 + error 니까, 회귀식의 beta 값들이 계산완료되고 난 다음에 다시 집어넣으면 y ~ (회귀식, error의 분산)이 될 겁니다. 즉, conditional on X 라고 보면 y의 분포와 error의 분포가 같아야 되는거죠. Conditional on X가 빠진 상태에서 y값이 굳이 정규분포를 따를 필요는 없습니다. 회귀분석을 할 때 우리의 관점은, 아니 ML 모델들로 우리가 뭔가 작업을 할 때 관점은, 갖고 있는 데이터(X)를 이용해서 뭔지 모르는 이상한 프로세스(y)에서 패턴을 발견하겠다는건데, y가 어떻게 생긴 분포이건 관계없이 X의 프리즘으로 봤을 때만 특정 분포를 따르면 되는 겁니다. X의 분포들이 y 속에 숨어있는 각종 이상한 분포들을 깔끔하게 캔슬해서 단순한 정규 분포로 만들어준다는게 y|X ~ N(0, sigma^2)의 직관적인 해석이거든요.

잔차의 특성을 쳐다보는 것 자체가 벌써 2nd moment를 따지는겁니다. 머신러닝은 1st moment의 일치성만 따지는 계산법입니다.

중심극한정리를 잘못 이해한 것 같습니다.


 

질문 Set 3번


SIAI Machine Learnin Term Paper에서 Gaussianity, Non-Gaussianity 구간을 나눠 여러 통계량을 계산한 뒤, GARCH model과 연결하는 부분 https://siai.org/course/machine-learning/

– 초반 세 문제를 제가 제대로 이해했는지 궁금합니다.
첫번째 문제의 경우 time series에서 time을 지운 뒤에 작은 수익률부터 큰 수익률로 sort하고 분포를 보면서 세 기간 (first, last, full)의 정규성을 확인합니다. 이 세 기간 중에 예를 들어 full에서 비정규성이 확인되었다고 가정했을 때, full file의 composite index와 10개 stock return 모두에서 비정규성이 확인되었을 것이라 추측 됩니다. (downterm에 발생하는 금융시장 systemic risk로 인해 수익률이 엄청나게 마이너스인 상황이 모든 주식에서 발견되고, 이러한 주식을 묶은 composite index 수익률로 outlier 수준으로 마이너스를 찍는다.)

두번째 문제에서는 full file의 비정규성이 모든 time에서 나타나는게 아니라 어느 특정 time 구간에서만 일어나는 지 의심하면서 sub-intervals으로 나눈 뒤, composite index 와 10개 stock returns 각각의 sub-intervals moments를 4차까지 계산해봅니다. 이 때 downterm 기간을 포함한 sub-intervals의 1차, 2차 모먼트가 다른 sub-intervals의 1차 2차와 매우 다를 것이라고 추측이 됩니다. 게다가 해당 sub-interval은 가우시안 분포의 3, 4차 모먼트와 비슷한 다른 sub-intervals과는 달리 현저히 다른 3, 4차 모먼트를 가질 것이라고 추측 됩니다. 이 문제가 되는 sub-interval에 추가적인 모델링을 시도하는 것이 3번째 문제부터 시작되는 것 같습니다.

– 두번째 문제 마지막 문장에 질문이 있는데요. “In terms of cost-benefit analysis, which one do you prefer?”에서 which one을 무엇을 지칭하는 건가요? 첫번째 문제에서 전 구간에 대한 정규성 테스트와 두번째 문제의 sub-interval 정규성 테스트 간의 뭐가 더 효율적이냐는 질문일까요? 그렇다고 하더라도 이 경우에 sub-interval을 나눠서 세부적으로 모델링을 하는게 어차피 더 올바른 방법일 것 같은데, 계산 효율성이 둘 중 뭐가 더 나은지 결정하는 좋은 기준인가요?

– 세번째 문제에서 “strong negative correlation”이라고 하셨는데, downterm에 systematic risk로 인해 발생하는 outliers는 자산들 간의 positive correlation 때문 아닌가요? 다같이 수익률이 마이너스인 상황이라 positive correlation이라고 생각했습니다. 아니면 저 negative correlation이 leverage effect는 지칭하는 건가요? (수익률과 volaility간의 마이너스 상관관계로 음수 수익률에서 volatility가 더 커지는 경우 )

– 그러고 나서 GMM을 쓰는데, GMM을 쓰는 이유가 Gaussian random variable의 선형결합은 또 Gaussian이지만 outliers가 발생할 확률이 더 커서 heavy-tailed을 어느정도 반영할 수 있기 때문으로 알고 있습니다. 이때 각 10개 주식 수익률은 각각의 가우시안으로 두고 얘네들의 mixture로 composite index를 구성함으로써 outerlier를 반영하려는 시도인가요? 근데 지금 저 비정규성이 발생하는 저 sub-interval 데이터의 경우 개별 주식들도 비정규성을 보일텐데 얘네들을 가우시안으로 가정해도 되나요? 제가 문제의 요지를 잘못 이해하고 있는 것 같아서 질문드립니다.

– 그리고 GMM을 통해 underlying gaussian하고 negative correlation을 어떻게 분리할 수 있나요?

GARCH에 대한 부분은 각 sub-interval들을 가우시안으로 가정하더라도 정규성을 보이는 부분과 보이지 않는 구간의 1, 2차 모먼트, 특히 dynamic한 2차 모먼트를 GARCH 구조로 구해본다는 차원 같습니다.


 

답변 3번


저는 Rolling index를 이용해라고 수업 시간에 가르쳤습니다

1번에서 여러 옵션들을 던졌습니다

여러 개의 정규분포가 결합된 composite index라고 생각하면 분리해서 볼 수도 있으니까요. 잘게 쪼개다보면 어느 시점이 지나면 더 이상 정규분포가 아닌 경우도 나타날텐데, 혹은 정규분포가 아닌 분포들을 쪼개다보면 정규분포인 부분과 아닌 부분으로 갈라질텐데… 라는 관점입니다. 수업 시간엔 ICA와 연결해서 가르쳤었습니다.

예. 조금만 더 추가하면, 2nd moment 안에 뭔가 패턴이라도 있어서 잡아낼 수만 있으면 굳이 위의 rolling index 모델이 필요없을 수도 있으니까요.


 

답변 메일 이후에 온 답장


오랫동안 고민하면서 해답을 못찾은 많은 부분에서 의문점이 해소되었네요. 추가적인 의문점들이 또 생기지만, 제가 좀 더 공부를 해서 스스로 탐구해보도록 하겠습니다.

외국인 학생들 수준이 낮은 건 이 학교를 오기 전부터 인지하고 있었던 상황이고, 이제 경험적으로 축적된 팩트라 듣기 고까울 것은 없습니다. Big Data 수업들 대신에 그래도 폴란드 대표 Economics 학교이다보니 괜찮은 심화 계량경제학 수업들이 많아서 그런 수업들 위주로 어쨌든 선택할 수 있어 만족하면서 다니고 있습니다. 그런 수업들 학생 수준은 Big Data랑 비교할 수 없을 정도로 높긴합니다… (or Big Data 학생들 수준이 너무 낮거나)

저도 학교 수준 보고 온게 아니라 개인적인 이유, 향후 데이터과학 주니어 취업 과정에 글로벌 괜찮은 기업들 외국인 채용이 많다는 점 (인건비가 싸서..) 등등을 고려해서 온 거라, 부족한 부분들은 영미권 탑스쿨이 온라인에 공개해놓은 수업, 자료들 참고해서 보충하려고 노력하고 있습니다.


 

나가며 – 초A급, 초S급 교육이란?

일부러 오타 수정도 안 하고 그대로 올렸는데, 이 글을 읽는 분들은 당신의 경쟁자가 어느 수준인지 가늠할 수 있는 정보가 되지 않을까 싶다. (경각심을 좀 가졌으면 좋겠다)

학교 홍보한다고 올려놓은 시험 문제로 공부하는거 보면 우리 SIAI 학생들이 좀 질투하지 않을까는 걱정도 되는데 흠…

 

저 학생은 SIAI 안 갔지만 그래도 이 정도 질문을 할 수 있는 수준이 됐습니다는 ‘자뻑’ 포인트가 있을 것 같고,

내가 느낀 ‘자뻑’ 포인트는 저기가 나름대로 폴란드 최상위권 교수들이 모인 학교일텐데, 내 교육이 저 교육에서 놓친 부분을 메워줄 수 있다는 측면에서 초A급은 어려워도 A급 소리를 못 듣지는 않겠구나는 부분이다. (이 한 줄 쓸려고 귀찮지만 이 글 썼다는거 인정한다 ;;; )

 

어차피 교육이라는게 A급이건 B급이건 제대로 가르친다고 하면 레벨만 다를 뿐, 내용은 큰 차이가 없는 경우가 대부분이다.

가르쳐야 되는 내용들이 정해져있고, 학생들의 수준에 맞춰서 내용의 수준을 조정할 뿐이니까.

그 차이 덕분에 교육이 대학원 과정이 되거나 학부 과정이 될 뿐이다.

 

하나 차이가 있다면 ‘자기만의 해석’이 들어가서 지식을 활용할 수 있는 시야를 열어주는건데 (항상 강조하는 ‘직관’이다)

그간 내 교육을 비난하는 사람들이 ‘직관’의 가치에 대한 이해 없이, 교과서만 봐도 충분한데, Coursera 강의도 볼게 널려있는데… 같은 표현들을 쓰는걸 많이 봤었다.

위의 질문 Set 1번, 2번정도는 수학/통계학에 대한 개념 이해도가 좀 더 명확해지면 “개안을 한듯한 시원함을 받’을 수 있을 것이다.

이 정도 질문에 대한 답변도 솔직히 Coursera에서 ‘시장조사’하며 봤던 강의들에서 들은 적이 없는데, 혼자 저런걸 고민하는거보면 확실히 이것저것 많은 자료를 찾아보며 열심히 공부하고 있구나~ 싶다.

 

나 역시 답답할 때 동기, 선배, 교수님들이 이렇게 딱 설명해주시면 속이 시원해지긴 했는데, 그 ‘시원함’이라는게,

수학 논리 들어간 과제 풀이에나 도움이 됐지, 정작 논문을 쓰고 세상에 내 지식을 적용하는데는 역시 한계가 있었다.

보통 ‘그런거 배우면 어디 쓸 수 있나요?’라는 질문이 나오는 가장 큰 이유가 이 부분일 것이다.

그런 시야가 안 열리면 기껏해야 Empiricist, 극단적으로는 ‘실험충’으로 살게 되고, ‘개안’이 제대로 된 분들이 ‘Theorist’의 계단을 밟게 된다.

 

내 포인트는 질문 Set 3번에 담겨 있다.

위의 질문 Set 3번에서 그런 방법론적 ‘직관’이 꽤나 큰 차이를 보이는 부분이 질문과 답변에서 보이는 능력자 분들이 있었을 것이다.

조금만 더 풀어내면, Rolling index를 쓰라고 수업 시간에 던져줬던게 흔히 보기 어려운 접근법이니 본인의 힘으로 생각하지 못했던 탓에 Sorting을 생각한 것이고,

ARCH, GARCH, GMM, ICA를 우리 수업에서는 그냥 곁다리로 하나 새로운 시선을 추가한다는 관점에서 던졌는데, 역시 질문에 담긴 해석에 아쉬운 부분이 보인다.

이게 학부 2-3학년 수업이니까 난 수학 난이도를 낮추고 직관적인 이해를 바탕으로 데이터 모델링이 어떻게 되는지만 강조했었는데,

어떤 계산법이 가지는 본질적인 목표를 내게 주어진 문제를 풀어내는데 어떻게 활용하느냐는 ‘직관’에서 아무래도 수업을 들은 사람과 격차가 생기는 부분은 어쩔 수 없을 것이다.

‘직관’이라는 방법론적인 철학이 다른 부분은 거꾸로 수업 내용에도 영향을 미친다. 여기서 초A급 교육이 A급 교육과 차이가 나는거다.

 

내가 훨씬 더 ‘직관’을 갖고 잘 가르친다는 자랑하려고 하는게 아니라, 경험이 다른 걸 메워넣을 수 있는 혼자만의 ‘직관’을 쌓는 훈련을 학교에서 못 or 덜 시켜주고 있는 것 같다는 포인트를 지적하고 싶은데,

나도 하버드, MIT 같은 학교들 교수님들 수업 들으면서 그 학교 학생들이 나보다 더 똑똑하니까 이런 고급 교육을 받을 수 있는 특권을 누리고, 저런 4차원스러운 고급 질문을 할 수 있구나는 아쉬움이 많았고,

머리도 딸리고 내가 받았던 교육도 수준이 낮으니 혼자 힘으로는 따라잡을 수 없는 격차에 좌절한 적도 많았다.

백과사전식으로 지식만 배워서는 절대로 그 격차를 좁힐 수 없다.

하나 더 배웠다고 자랑해봐야 그들처럼 ‘4차원스럽게’ 쓸 줄을 모르니까 책 속의 지식, ‘시원한 감정’만 느끼는 지식이 될 뿐이다.

 

박사 과정 내내 국내 모 명문대에 교수로 있으신 한 선배님의 표현대로 “B급 학자”에 만족해야한다는 걸 많이 느꼈는데, 결국 난 “B급 교수”하지 말고 직장이나 가야겠다 → 사업이나 해야겠다는 생각으로 이어진 계기이기도 하다.

첫 수업에 평범한 Cobb-Douglas 함수 활용해서 가짜 AI, 진짜 AI간의 기대된 행동 패턴 예상을 놓고, 실제 실력 격차를 검증하는 회귀분석으로 연결짓는 걸 보고 우리 SIAI 학생들이 충격먹었다고들 그랬는데, 그런 충격을 끊임없이 줄 수 있는 교수진, 그걸 흡수해서 더 ‘4차원스럽게’ 응용할 수 있는 능력을 가진 학생들이 모여야 초A급, 초S급 학교가 되는거겠지.

내가 SIAI로 도전하는 것도 A급 교육 자료를 바탕으로 A급에서 초A급으로 성장하려고 발버둥치는 교육기관과 학생들의 시너지다.

 

그 시절 내가 갈망했던 거기도 하고, 가끔 누가 조금만 더 도와주면 더 쭉쭉 성장하겠다 싶은 학생들이 눈에 보이는데,

나와 인연이 안 닿는 분들은 나보다 더 뛰어난 분들과 인연이 닿기를 바라마지 않는다.

저 학생도 같은 상황이다.

 

저 학생은 악조건 속에서도 혼자 힘으로 저렇게 열심히 공부하고 있는데 정말 경외감을 갖게 됐고,

어디 명문대 합격증 받았다고 자랑하는데 실력은 말짱 꽝인 학생이 아니라 배움의 자세가 탄탄한 분인만큼,

이왕이면 좀 더 좋은 학교를 갔으면 더 성장하지 않았을까는 아쉬움이 남는 질문이었다.

혼자서라도 열심히 찾아서 그 격차를 메워넣으려고 하고 있으니까 도전하는만큼 더 성장할 것이다.

나보다 더 열심히 노력하시는 분인만큼 내가 뚫지 못했던 벽들을 뚫으며 성장하시기를 빈다.

Similar Posts