컴(퓨터)싸(이언쓰)의 위용
2014.09.27 00:34
저는 통계관련된 일을 하는데, 컴싸 석사가 이런 말을 하더군요.
1. 수학 전공자의 "매트랩" : 그거 계산기죠~!
수학 전공자 영혼의 파트너, 그것은 매트랩. 최근 한국에서 자격증 시험까지 있을 정도로 광범위하게 퍼져 있는데 이런 반응을 보였습니다. 그게 무슨 프로그래밍이에요, 계산기지.
2. 통계학과의 SAS : 님아, 장난하셈. 그게 SQL이지 무슨 프로그래밍임.
3. 통계학과의 신흥 총아 R : 이거는 좀 할만하네요. 이건 좀 인정
4. 산공과 미니탭 : 그게 뭐임?
5. 경영학과의 엑셀 : 흐흐, 그건 좀 쓸만함. 근데 그건 엑셀이죠.
한동안 SAS랑 R만 쓰다가 지난 3일동안 된통 당하고 다시 VBA를 잡아야 할까 생각 중입니다. 개인적으로 공부한다면 몰라도 회사에서는 SAS, R 그리고 Excel만 가능한데, 생존분석 비스무리한 것을 수기 매뉴얼로 만들다가 거품 물고 진지하게 생각중입니다. 이거 노가다 피할려면 VBA, SAS, R중에 하나를 골라야 하는데 아무래도 회사 보안상 VBA가 가장 나을 것 같습니다.
아무래도 GUI 환경에서 직관적으로 만들려면 VBA 이외에는 답이 없을 것 같아서요. 아흑, 하도 지* 같아서 MS Access는 절대 쓰고 싶지 않고 VBA는 질려서 손을 안댈려고 했는데, 방법이 없겠습니다. T_T 정말 코딩 못하는게 이렇게 속상한 것인지 몰랐습니다.
기본적인 로직은 간단합니다. 지난 10년치 신규 자료에서 매월별로 계좌의 잔액이 어떻게 줄어드는지를 시간적인 흐름에 따라서 분석하는 것입니다. 엑셀에서는 매월 신규계좌와 이후 Month on booking별로 잔액을 실제 계좌에서 구하고 일정 기간 이후에는 기존 잔액 줄어드는 기울기를 이용해서 추정하는 것이죠. 이게 몇 개의 트렌드(잔액, 이자율, 조달 금리율 등등)을 갖고 추정하는 것이고 만기구조나 시간구조에 가중치를 주는 것이라서 쉽지만은 않습니다.
물론 전공자들은 쉽겠지만, 이거 대부분 손으로 copy & paste만 사용했는데 이제는 그럴 범위를 넘어섰다는 것이죠. 생존분석 등을 하시는 분들이면 이거 시뮬레시언이 쉬울텐데, 저는 무척이나 어렵네요. T_T 이거 수기로 만드는데 정확히 3시간 걸렸습니다. 이제 코딩을 배워놔야겠습니다.
코멘트 8
-
김강욱
09.27 00:46
-
해색주
09.27 01:04
아무래도 윗분들은 각종 조건들을 넣어서 바로 화면에서 반영되는 것을 원하다 보니, 엑셀+피벗+표+차트 이렇게 정리가 되더라구요. T_T SAS를 좀더 잘 쓰고 행렬 연산만 해도 이거 가능하다네요. 예전에 사둔 책 다시 봐야죠. 엉엉.
-
하뷔
09.27 05:18
SAS로든 미니탭이든...
가물거리긴하지만 좀 고민하면 얼릉될꺼 같은데요?
결과 Data만 엑셀 차트로 따다~ㅇ 하면 될거 같은디... 같이 하시는 분 중에 지원해줄만한 분 없으신가요?
-
해색주
09.28 15:24
넵, 다들 그냥 노가다로 하라고 하는데요. 이게 거의 10년치를 하려고 하니까 사람이 할 짓이 아니라는 문제점이 생기더군요. 그리고 얼마전에 복사&붙여넣기 하다가 실수를 크게 해서 부장에게 마구 닦였거든요. 그나마 전산부 출신분이랑 이야기 했더니 그분도 그렇게 복잡한 것은 안해봐서 모르겠다고 하시데요.
-
프로그램이 꼭 한가지 형태로만 존재해야 한다는 강박관념을 버리시면 더 버라이어티하게 접근하실 수도 있어요. 예를 들어, 분석 로직은 R로 짜신 다음에 중간 결과물을 File 형태로 저장해두고, 화면 출력은 VBA를 사용하는거죠.
"어차피 프로그래밍이라는건, O/X만 출력하면 되는겁니다!!!"
-
대부분의 통계계열 프로그램이 리눅스를 기반으로 했던 것들이 많아서 가끔 쓰다보면 제가 통계프로그램을 돌리는건지 프로그래밍을 하는건지 공식을 짜는건지 진지하게 고민할때가 있습니다. T_T~~
-
제가 SQL 전문가는 아닙니다만,
프로그래밍 보다는 SQL로 가능하지 않나 그런 생각이 듭니다.
스키마를 잘 잡으시면, 쿼리로 가능할지도.... 상상을 해봅니다.
-
해색주
09.28 15:22
흐흐 SQL로 하면 되는데, 이게 엑셀 안에서 동적으로 일어나야 하는 것입니다. 가능은 한데 그것을 부장과 팀장 앞에 앉혀 놓고 하나하나 다 설명하면서 시뮬레이션 해줘야 하는 것입니다. 현재는 엑셀VBA와 R을 연동해서 해볼려고 생각중입니다. 쿼리를 좀 잘 짜면 되는데, 엑셀에서 이게 될지.
SQL 이 제일 쉽지 않나요?
쩝~ 전 로직을 코딩으로 짜는 건 이젠 포기하고, SQL 로 다 짭니다.
몇 천만건 정도는 기본으로 짜고 돌리고...바꾸기도 쉽........고.......^^