ZERONOVA

Data, Open, Share, Platform, Cloud, Education

Archive for the ‘Data Analytics’ Category

Everything is Data – TEDxSNU 발표

with one comment

제가 6회 TEDxSNU 행사에서 발표한 내용을 공유합니다. 제목은 “Everything is Data”입니다. 이 세상 모든 것이 데이터로 이루어져 있고, 우리 주변 모든 것이 데이터의 소스가 될 수 있으며, 이러한 데이터를 잘 활용하고, 가치를 찾아내는 일이 앞으로 매우 중요해 질 것이라는 내용입니다. 발표자료는 아래 링크에서 다운받아가시면 됩니다.

Everything is Data-TEDxSNU2014

발표 내용을 아래 살짝 요약해 드릴께요.

What is Data?

데이터란 정량적/정성적인 변수들의 값들에 대한 모음이라고 위키피디아에 정의되어 있는데, 전문가 아니고선 이해하기 어렵죠. 그냥 간단히 디지털적인 비트(0,1)로 변환될 수 있으면 모든 것이 데이터라고 보시면 됩니다. 우리도 일상 생활에서 데이터를 많이 보고 있습니다. 예를들어 엑셀에 가계부를 기록하거나, 고객명단을 적거나, 가게 매출을 기록하는데, 이들이 모두 데이터입니다. 아이튠즈는 뮤직 플레이리스트 데이터를 저장하고 있습니다. 내가 가지고 있는 곡이 어떤 것이 있고, 각 곡에 대한 정보를 기록하고 있죠. 우리가 지하철에서 흔히 보는 지하철노선도 역시 데이터입니다. 지하철 경로에 대한 정보를 시각적으로 보기 좋게 지도 형태로 표현한 데이터죠. 데이터를 많이 만들어 내는 곳 중에 하나가 대학 실험실입니다. 여기서 실험 결과 데이터를 얻어내고 분석하여 자신들이 주장하는 가설을 검증하는 것이죠. 심지어, 우리 몸 자체 역시 데이터로 이루어져 있다고 할 수 있습니다. 우리 유전 정보를 담고 있는 염기서열 자체가 데이터라고 할 수 있습니다. ATGC의 문자열로 이루어진 데이터라고 할 수 있습니다. 이와 같이 우리 주변 모든 것이 데이터를 쏟아내고 있고, 심지어 데이터로 이루어져 있습니다.

Why Data Matter?

왜 데이터가 중요할까요? 세상을 바라보는 관점은 여러가지가 있는데, 데이터라는 렌즈를 통해서 바라보면 우리가 알지 못했던 깊은 통찰력을 얻을 수 있습니다. 또한 데이터는 창조의 씨앗 역할을 할 수 있고, 실행을 할 수 있는 원동력이 됩니다. 하나하나 살펴 볼까요?

최근 데이터 활용의 성공적인 사례로 서울시 심야버스가 종종 언급됩니다. 밤 12시부터 5시까지 심야버스를 운행함으로써 밤늦게 귀가하는 시민들에게 중요한 수단을 제공하고 있습니다. 그런데 심야버스 노선을 어떻게 정해야 할까요? 보통은 버스노선을 연구하고 관리하는 전문가분들께서 경험과 직관에 따라 노선을 정할 것입니다. 실제로 서울시 심야버스도 일차적으로는 그렇게 노선을 정했구요. 하지만 여기서 끝낸 것이 아니라, 데이터를 분석하여 노선을 검증하고 일부 구간은 수정을 했습니다. 이를 위해 kt에서 심야시간대의 통화이력 한달치를 분석하여 유동인구에 대한 통계결과를 제공했고, 이것을 활용해서 노선의 정확도를 훨씬 높인 것입니다. 전문가의 경험/직관과 데이터의 객관적인 사실이 잘 조합된 케이스입니다. 여기에 대해선 제 블로그글 “서울시 심야버스 노선 최적화 빅데이터 활용사례”을 참고하세요.

심야버스 노선 최적화가 데이터를 활용한 문제해결(Problem Solving)에 활용된 사례라면, 데이터를 이용해 예측(Prediction)을 할 수 있습니다. 트위터 데이터가 무엇인가를 예측하기 위해 종종 활용되고 있습니다. 트위터 데이터로 주가를 예측할 수 있을까요? 여러 대학에서 이와 관련된 연구를 했고, 그 가능성을 입증했습니다. 원리를 간단히 설명하자면, 트위터 데이터에서 특정 회사들에 대해 사용자들이 얘기하는 평가를 측정하는 것입니다. 이런 것을 감정분석(Sentiment Analysis, Opinion Mining)이라고 합니다. 예를들어, 삼성전자에 대해 좋은 평가를 하는 글들이 많아지면, 앞으로 주가가 오를 것이라고 예측하는 것이죠. 이를 위해선 트위터 데이터에서 긍정/부정을 측정할 수 있는 키워드를 뽑아내고 이들의 빈도수를 측정해서 예측을 하는 것입니다. 너무 간단해 보이는데, 실제로는 긍정/부정 말고도 다양한 감정요소를 측정하고 반영합니다. 실제로 트위터와 같은 소셜 데이터 기반으로 투자하는 펀드도 해외에서 나오고 있습니다. 이러한 사례가 데이터를 이용하여 미래를 예측하는 사례입니다.

데이터를 확보할 수 있는 새로운 방법

하지만 이런 일은 보통 데이터를 확보하고 있는 기업이나 정부기관에서나 가능한 일이겠죠. 만약 내가 데이터가 없는 데이터 기반의 서비스나 사업을 해 보고 싶다면 어떻게 해야 할까요? 보다 창의적인 방법으로 데이터를 확보할 수 있는 방법들이 있습니다.

첫번째 방법은 데이터 크라우드소싱(Data Crowdsourcing)입니다. 내가 직접 데이터를 생성하는 것이 아니라 일반 사용자의 참여를 통해 데이터를 만들어내고, 모아서 가치있는 서비스를 제공하는 것이죠. 대표적인 서비스로서 WeatherSignal이 있습니다. 휴대폰 배터리 온도 센서 데이터를 모아서, 전 세계의 기온에 대한 지도를 그리는 것이죠. 사용자들이 모바일앱을 설치하면 자동으로 배터리 온도 센서 데이터를 수집하고, 같은 지역 데이터를 모아서 기온을 추측하는 것입니다. 이 서비스의 기저에는 배터리 온도 센서값과 외부 기온과의 강한 상관관계가 있다는 사실이 깔려있죠. 또 하나는 네비게이션 서비스인 Waze입니다. 네비게이션에서 제공되는 정보들은 일반적으로 업체에서 직접 수집하는데 반해 Waze는 사용자들이 도로를 직접 그릴 수 있게 되어 있고 교통 정체, 사고 등의 실시간 정보를  제공할 수 있게 함으로써, 빠르고 확장성 있는 네비게이션 서비스를 제공할 수 있게 됩니다. 이렇게 모인 데이터와 사용자의 힘의 가치는 얼마나 될까요? 작년에 이 업체는 구글에 1조원에 가까운 가치를 인정받고 인수되었답니다. 이와 같이 크라우드소싱은 내가 직접 생산해 내기 힘든 데이터들을 사용자의 힘을 빌어 확보할 수 있는 좋은 전략입니다.

두번째 방법은 오픈 데이터를 활용하는 것입니다. 요즘 정부와 공공기관을 중심으로 공공 데이터를 오픈하고 있습니다. 특히 최근 정부 3.0이라고 해서 공공 데이터를 개방하고 시민들이 활용하게하여 고용, 복지 등을 촉진하자는 정책들이 쏟아져 나오고 있습니다. 이런 데이터들 중에 의미있는 서비스로 만들어질 수 있는 것들이 꽤 있습니다. 한가지 예로 코드나무에서 개최한 제 1회 공공데이터 캠프에서 하루밤만에 만들어진 안심이 서비스가 있습니다. 안심이 서비스는 건강보험심사평가원의 병원 항생제 처방에 관한 데이터를 수집하여 각 병원들이 항생제를 얼마나 사용하고 있는지 등급으로 지도에 맵핑해서 보여주고 있습니다. 아이들 병원을 찾을 때 유용하겠죠? 이와 같이 내가 원하는 서비스를 만들기 위한 재료로서 오픈 데이터를 활용할 수 있습니다.

개인적인 수준에서 데이터 가지고 놀기

데이터 크라우드소싱이나 오픈 데이터 조차도 그냥 맘만 먹는다고 쉽게 접근하긴 쉽지 않겠죠? 당장 나 스스로 데이터로 이것저것 해 보고 싶다면 어떻게 해야 할까요? 요즘은 개인적인 수준에서 데이터를 모으고, 활용할 수 있는 다양한 도구들이 등장하고 있습니다.

요즘 웨어러블 장치(Wearable device)들이 엄청 주목을 끌고 있죠? 구글 글래스, 갤럭시 기어, 나이키 퓨얼밴드 등 다양한 웨어러블 장치들이 등장하고 있고, 소비자의 지갑을 유혹하고 있습니다. 웨어러블 장치가 뭐라고 생각하세요? 저는 이들이 나에 관한 데이터를 추출해 주는 장치라고 생각합니다. 현재 저는 Fitbit Flex라는 Activity Tracker, 쉽게 말하면 디지털 만보계를 차고 있습니다. 이 장치는 저의 걸음수, 칼로리소모량, 수면시간, 수면상태 등을 측정해서 기록하고, 모바일앱으로 이쁘게 보여줍니다. 이렇게 측정된 데이터를 몇달치 모아서 활동패턴이나 수면패턴을 알아낼 수도 있겠죠. Fitbit이 걸음수에 대한 데이터 측정이라면, 걸음자세나 앉은 자세에 대한 데이터 측정은 Lumoback이라는 Posture Sensor 제품이 해 줍니다. 이 제품을 허리에 차고 있으면 앉거나 걸을 때 자세가 삐뚤어졌을 때 진동을 울려서 바로 잡도록 해 주죠. 그러면서 어느 시간에 자세가 좋지 않았는지, 하루 중 자세가 좋았던 시간과 나빴던 시간의 비율을 기록합니다. 이 데이터 역시 모아서 분석해 보면 나의 자세패턴을 알 수 있겠죠?

하지만 이것 역시 특정 기능을 하는 웨어러블 장치를 구입하고 착용해야 합니다. 그것조차 싫다면? 그냥 손으로 그때그때의 상태를 기록하시면 됩니다. 특히 어르신분들께서는 디지털 장치를 어려워하시기 때문에 이 방법이 더 효율적일 수 있습니다. 저희 어머니께서 당뇨병인데, 당뇨병은 관리가 정말 중요하고 이를 위해서 당뇨 측정과 식사 기록, 운동 기록 등이 중요합니다. 그래서 제가 엑셀로 당뇨일기 표를 만들어 드리고 기록하시도록 부탁을 드렸습니다. 두달정도 기록하신 후 그 표를 모아서 엑셀로 다시 기입하고 R이라는 통계 소프트웨어로 프로그래밍하여 몇 가지 결과들을 뽑아냈습니다. 재밌는 결과가 나오더군요. 점심 이전, 즉 오전의 당수치와 오후의 당수치가 확연하게 다른 것을 볼 수 있었습니다. 이것은 점심 식사에 문제가 있거나, 아니면 오후 활동에 문제가 있어 당수치가 크게 오르는 것이고 추론해 볼 수 있습니다. 이 결과를 어머니께 보여드리니, 놀라워하시면서 오후에 좀 더 조심해야겠다고 생각하시더군요. 그러면서 당뇨일기를 열심히 쓰기로 하셨고, 제가 좀 더 분석해서 어머니께서 당수치를 조절할 수 있는 방안을 찾아보려고 계획하고 있습니다. 어떠세요? 어떤 디지털 장치 없이도 그냥 손으로 데이터를 생성해 낼 수 있습니다.

이와 같이 웨어러블 장치의 도움을 받거나 직접 입력을 하는 방식으로 나에 관한 데이터를 모아서 분석 및 실험하는 것을 Quantified Self라고 합니다. 이미 해외에서는 인기를 끌고 있는 운동(Movement) 혹은 트렌드로 자리를 잡아가고 있죠. 자신을 수치화하고 실험해서 자신에 대해 보다 객관적으로 파악하고 개선해 나가려는 목적입니다. 마치 기업에서 데이터 기반하여 기업 현황을 파악하고 객관적인 의사결정에 활용하는 것처럼 개인 수준에서 데이터에 의한 객관화와 의사결정이라고 할 수 있죠. 앞으로 매우 성장할 분야라고 생각합니다.

지금까지 사례들이 대부분 데이터를 이용해 현재 상황을 파악하고 문제해결이나 예측을 하는 것을 목표로 했습니다. 하지만 데이터의 활용은 그 이상입니다. 예를들어 데이터를 창조적 활동에 활용할 수 있습니다. 요즘은 음악을 만드는데 Digital Audio Workstation (DAW)이라는 소프트웨어를 주로 활용합니다. 이것으로 소리를 녹음하거나 편집할 수 있고, 심지어 소리를 프로그래밍할 수도 있습니다.  제가 시도해 본 것이 원래 음원파일을 기온 데이터의 변화를 반영하여 변조하는 것입니다. 기온 변화양에 따라 음의 높낮이(Pitch)를 높이거나 낮추는 것입니다. 기온 데이터에 기반하여 PitchShift 효과를 적용하는 것이죠. 그닥 듣기 좋은 소리는 나오지 않아도 전형적인지 않은 사운드를 만들어 낼 수 있습니다. 또한 기온 데이터가 변함에 따라 매번 다른 사운드를 만들어내죠. 심플한 사례이지만 이런 형태로 창의적인 작업에 데이터를 활용하는 것도 충분히 가능합니다.

데이터는 이해와 창조의 원천

매트릭스 1편 마지막 장면을 보면 네오가 각성하고 이 세상이 0과 1로 이루어진 매트릭스 안에서 살고 있음을 깨닫게 되죠. 저는 그 장면이 우리가 지금 살고 있는 세상의 모습과 크게 다르지 않다고 생각합니다. 이 세상은 데이터, 더 나아가 정보로 이루어져 있습니다. 데이터는 인간과 세상을 이해하기 위한 가장 중요한 수단입니다. 또한 데이터를 가지고 놀다보면 생각지도 못한 창조적인 결과물들을 얻을 수 있습니다. 데이터는 무한한 가능성을 지닌 보물창고입니다. 지금 당장 데이터 속으로 뛰어드시기 바랍니다.

Advertisements

Written by zeronova

2014/03/15 at 11:32 오전

[MOOC추천] Statistical Learning (스탠포드대학)

leave a comment »

Statistical Learning에 대한 기초과정 강의입니다. 이번에는 Coursera가 아니라 스탠포드대학의 OpenEdX 강의입니다. 학습 기법 중에 Supervised learning에 초점을 맞추고, 특히 regression과 classification에 초점을 맞춘다고 합니다. 하지만 PCA나 clustering 같은 Unsupervised learning도 약간 다룰 예정이라고 하네요. 스탠포드 대학의 유명한 통계학과 교수 Trevor Hastie와 Rob Tibshirani 두분이 강의하십니다. 이분들 The Elements of Statistical Learning (pdf)라는 유명한 책의 저자분이시죠.

Statistical Learning

Statistical Learning

수업개요

수업내용

linear and polynomial regression, logistic regression and linear discriminant analysis; cross-validation and the bootstrap, model selection and regularization methods (ridge and lasso); nonlinear models, splines and generalized additive models; tree-based methods, random forests and boosting; support-vector machines. Some unsupervised learning methods are discussed: principal components and clustering (k-means and hierarchical)

데이터 분석 기법의 활용 측면에 관심있는 분들에게 추천

강의 소개글에도 나와있듯이, 이론적인 측면을 다루기보다 다양한 통계적 학습기법의 활용 측면에 집중한다고 합니다. 사실 통계학자나 전산학자들에게는 학습기법의 이론적인 측면이 중요하겠지만, 데이터 분석가 입장에서는 오히려 어떤 문제에 어떤 기법을 활용하고 해석하는지가 더 중요하겠지요. 그런 관점에서 강의를 할 것 같습니다.

This is not a math-heavy class, so we try and describe the methods without heavy reliance on formulas and complex mathematics. We focus on what we consider to be the important elements of modern data analysis.

주목할만한 점은 이 강의가 An Introduction to Statistical Learning, with Applications in R 책을 기반으로 한다는 것입니다. 강의하시는 교수님들이 저자이고, 이전에 저술하셨던 베스트셀러 The Elements of Statistical Learning (ESL)이 이론적인 측면을 강조했다면 이 책은 활용 측면에 초점을 두었다고 합니다. 지금 당장 PDF 다운로드 가능하니 확인해 보시면 됩니다. 서문에도 그런 내용이 있구요. 각 장마다 마지막에 R로 실습할 수 있는 Lab 부분이 있고, 데이터와 R 코드 역시 홈페이지를 통해 제공되고 있습니다. 이제 데이터 분석 공부를 시작하려는 분들에게는 출발점으로 삼을 만한 훌륭한 교재가 아닐까 싶네요. 이 책으로 강의한 자료도 이미 공개되어 있으니 스스로 학습하기에도 좋습니다.

통계학이나 기계학습 수업을 들으면서도 항상 아쉬웠던 점이, 왜 이런 기법이 나왔는지, 그리고 어떤 데이터와 문제에 적합한지 등의 활용 측면의 설명이 부족하다는 점이었습니다. 이 수업은 그런 부분의 갈증을 해소해 주지 않을까 싶네요. 

Written by zeronova

2013/12/26 at 10:45 오전

Data Analytics, MOOC에 게시됨

Quantified Self 소개 – 개인 데이터와 분석의 가능성

leave a comment »

요새 들어 Quantified Self라는 용어가 언론에 가끔 등장하고 있다. 우리나라 말로 바꾸면 “수치화된 자신” 정도인데, 어색하기 그지 없다. 그래서 그냥 원어 그대로 줄여서 QS라 하기로 하자. QS를 간단히 정의하자면, 자신의 일상이나 신체적/정신적 상태를 트래킹하여 자기 자신에 대해 보다 더 잘 파악하고 개선하려는 시도다. 2008년에 Wired에 처음 소개되면서 시작된 일종의 운동이라고 볼 수 있다.

QS 시나리오를 보는게 가장 이해하기 쉬울 것이다.

  • 체중 감량을 위해 매일 식단과 운동량, 체중에 대해 한달동안 기록했다. 이후 데이터를 확인해 보니 다이어트를 위해 점심 식사를 거르는 것이 체중 변화에는 그닥 효과가 없음을 확인할 수 있었다. 또한 운동의 경우 칼로리 소모량을 측정하는 장치를 부착하여 데이터를 확인했더니, 헬스기구로 운동할 때보다, 달리기와 같은 유산소 운동시 칼로리 소모량이 더 많은 것을 확인했다. 이러한 결과를 활용하여, 점심을 거르지않고 저녁 식사량을 줄이는 방향으로 식단을 조절하고, 달리기와 자전거와 같은 유산소 운동 위주로 실천하기로 했다.
  • 명상이 수면의 질을 높여주는지 확인해 보기 위해 한달 동안 실험했다. 우선 두주 동안 명상을 하지 않고 수면을 취한 후 그 결과 수면의 질을 점수로 기록하고(1-10점) 다음 두주는 저녁에 30분 명상을 한 후 수면을 취한다음 마찬가지로 수면의 질을 기록한다. (수면 모니터링 장치를 착용할 수도 있음) 두 가지 데이터를 기반으로 명상이 수면의 질을 높이는데 효과가 있는지 분석을 해 보니, 통계적으로 유의미한 정도의 차이를 보이지 않음을 확인했다. 그래서 명상시간을 1시간으로 늘려 다시 실험했더니 유의미한 차이를 보였고, 수면 전에 항상 1시간 정도 명상을 하기로 결정했다.

사실 위와 같은 시나리오들은 대단하게 보이지 않을 수 있다. 우리는 직감적으로 자신에 대해 잘 알고 있다고 생각한다. 다이어트나 명상에 대해서도 모두가 박사다. 하지만, 우리가 일반적으로 알고 있는 지식들은 통상적으로 그렇다는 것이지, 나에게 그대로 적용된다는 보장은 없다. 따라서, 각 개인이 이러한 실험을 통해 자신에 대해 더 정확히 알 수 있다면(자신이 모르던 부분까지) 더 효과적으로 개선도 할 수 있다는 것이다.

QS는 말하자면 ‘개인 수준의 데이터 기반 의사결정’인 셈이다. 데이터는 이미 기업 경영 활동에서는 핵심적인 역할을 하고 있다. 웹싸이트에 유입되는 트래픽양을 확인하고, 사용자들이 어떤 패턴으로 웹싸이트를 이용하는지, 어떤 상품이 구매가 가장 증가했는지 등에 대해 데이터 기반으로 트래킹하고, 분석해서 향후 웹싸이트를 어떤 식으로 보강할 것인지 결정한다. 데이터 기반 의사 결정이 기업들의 경쟁력을 높여 주고 있는데, 이것을 개인에게 적용해 보면 어떨까라고 생각한 것이 QS의 시작이라고 할 수 있다.

그러면 왜 하필 요새 QS가 부각되고 있고 관련 스타트업들이 쏟아져 나오고 있는 것일까? 개인의 일상이나 활동을 기록하는 것은 이전에도 불가능한 것이 아니었다. 하지만, 귀차니즘으로 무장한 사용자들에게 매일매일 이런 것을 기록하라고 하는 것은 잔인한 요구다. 하지만 최근 자동으로 활동이나 건강상태등을 기록(트래킹)해 주는 착용용 장치들이 속속 등장하고 있다. FitBit, Nike Fuelband, Jawbone Up, Scanadu 등이 그런 장치들이다. 이런 장치를 통해 별 다른 노력없이도 자신의 상태를 지속적으로 기록할 수 있게 되었다. 또한 이런 장치들은 모두 아이폰앱이나 안드로이드앱으로 자동으로 동기화되서, 언제 어디서든 자신의 상태를 확인할 수 있다. Ubiquitous Computing이나 Wearable Computing이 벌써 20년도 넘게 연구되어 왔지만, 지금에서야 꽃을 피울 수 있게 된 것도 이러한 스마트폰 플랫폼에 연동할 수 있게 된 덕분이라고 볼 수 있다. (스마트폰과 함께 센서 기술과 센서 데이터를 계산하는 기술의 발전도 한몫)

Quantified Self Devices (GigaOM)

하지만, QS를 단지 이런 웨어러블 장치 관점에서만 보는 것은 큰 그림을 놓치는 것이다. 이제 시작단계이기 때문에 먼저 데이터를 모을 수 있는 트래킹 장치들이 주목을 받고 있는 것이고, 일단 이런 장치들을 통해 데이터가 모이기 시작하면, 이런 개인 데이터를 어떻게 분석하고, 실행 가능한(의사결정) 인사이트를 끄집어 내 줄 것인지가 더 중요하게 부각될 것이다. 이런 부분을 요새 Personal Analytics라고도 한다. 그 다음은 개인 수준에서 도출된 실행 아이템들을 어떻게 기존 서비스나 헬쓰케어 인프라, 병원 등과 연계하여, 비즈니스로 만들어갈 것인지가 큰 이슈가 될 것이다. 아마도 각각의 레벨에서 사업적인 기회를 찾을 수 있고, 이를 찾는 스타트업들이 다수 등장할 것이다. 이미 실리콘밸리에선 그런 일이 벌어지고 있다.

Quantified Self에 대한 더 자세한 소개는 아래 글들을 참고

Quantified Self 관련 블로그와 스타트업들

Written by zeronova

2013/11/27 at 5:47 오후

[MOOC추천] Data Analysis – Data Scientist의 기초를 배우자

with 7 comments

기다리고 기다리던 존스홉킨스 대학의 Data Analysis 수업이 다시 시작되었습니다. 작년에 들으려고 시도하다가 바빠서 못들었는데, 올해는 기필코 마쳐보려고 합니다. 이 수업에 지대한 관심을 가지는 이유는 데이터 분석에 대한 전 과정을 가르쳐주기 때문입니다. 또한 실제 데이터 분석 과제를 통해 분석 경험도 쌓을 수 있지요. 어제(10/28)부터 시작했으니 지금 신청하면 늦지 않게 시작할 수 있습니다. 그리고 Learning R in Coursera” 페북 그룹에서 이 수업 수강하는 분들이 함께 공부할 예정이니 관심있는 분들은 가입하시구요.

Data Analysis - Johns Hopkins University

Data Analysis – Johns Hopkins University

수업개요

  • 개강일시: 10월28일
  • 강의기간: 8주
  • 주당 강의구성: 동영상 수업 2시간, 퀴즈
  • 주당 예상소요시간: 3-5시간
  • 성적: 퀴즈와 2번의 데이터 분석 과제
  • 교수: Jeff Leek

Course Contents (무엇을 배우나?)

  • The structure of a data analysis (steps in the process, knowing when to quit, etc.)
  • Types of data (census, designed studies, randomized trials)
  • Types of data analysis questions (exploratory, inferential, predictive, etc.)
  • How to write up a data analysis (compositional style, reproducibility, etc.)
  • Obtaining data from the web (through downloads mostly)
  • Loading data into R from different file types
  • Plotting data for exploratory purposes (boxplots, scatterplots, etc.)
  • Exploratory statistical models (clustering)
  • Statistical models for inference (linear models, basic confidence intervals/hypothesis testing)
  • Basic model checking (primarily visually)
  • The prediction process
  • Study design for prediction
  • Cross-validation
  • A couple of simple prediction models
  • Basics of simulation for evaluating models
  • Ways you can fool yourself and how to avoid them (confounding, multiple testing, etc.)

데이터 분석 기초를 배우고자 하는 분들에게 강추

데이터 분석에는 여러 과정이 필요합니다. 데이터 획득에서 시작해서, 정제하고, 탐색하고, 통계적 분석 모델 만들고, 결과에 대한 평가하고, 최종적으로 보고서 형태로 산출물이 나옵니다. 요즘 데이터 사이언스가 인기를 끌면서 데이터 분석을 위한 툴이나 이론적 토대를 가르치는 코스나 세미나는 많이 있지만, 실제 데이터 분석 전 과정을 배울 수 있는 기회는 흔치 않습니다. 그런 의미에서 Data Anaysis 수업은 커리큘럼도 잘 짜여져 있고, 교수 역시 바이오 분야에서 베테랑 분석가로 경험이 많기 때문에, 이 수업을 통해 데이터 분석의 기초를 탄탄히 할 수 있을거라 예상합니다.

본 수업은 같은 대학에서 개설된 Computing for Data Analysis 수업을 통해 R을 배운 학생들이 후속 수업으로 실제 데이터 분석 과정을 배울 수 있도록 디자인 되었습니다. 그래서 기본적으로 R에 대한 지식이 있어야 하지만, 전문가 수준의 R 지식이 필요하진 않고 기본적인 R 지식과 필요하면 함수 찾아 볼 수 있는 정도면 되지 않을까 싶네요. 다만, 영어가 오히려 더 큰 벽이 되지 않을까 하는 걱정이 드네요. 왜냐면 두번의 데이터 분석 과제가 결과물이 영어 보고서로 나와야 합니다. 교수는 분석가에게 필요한 중요한 역량 중 하나로 커뮤니케이션 스킬을 강조하고, 따라서 보고서도 잘 써야 한다고 합니다. 하지만, 영어 글쓰기 경험이 없는 분들에겐 분명히 큰 진입장벽으로 느껴질 것 같습니다. 이번 기회에 영어 보고서에도 도전을 해 보시죠. (그리고, 코드만 잘 기술하면, 영어 보고서 부분은 좀 부족해도 괜찮지 않을까 싶네요)

마지막으로 과제가 어떤 형태로 나올지 벌써 예제 프로젝트를 올려 두었으니 미리 확인을 해 보세요. 미국의 1주일치 지진 데이터를 가지고, 지진발생 깊이와 지진 강도 사이의 관계를 찾는 프로젝트입니다. 데이터, R 코드, R Markdown, 보고서, 모두 다 있습니다. 이 수업을 통해 어떤 분석 과정을 배우게 될 거고, 과제를 어떤 식으로 해야 할지 감이 올 겁니다. (매번 느끼지만, 해외 대학 수업들은 과제 디자인이 정말 예술입니다, 학생들이 따라가기 좋게 친절하게 해 놓았죠)

참, Jeff Leek 교수가 생각하는 데이터 분석과 그에 필요한 역량, 해당하는 Coursera 수업을 연결해 놓은 동영상자료가 있습니다. 확인해 보세요~

Landscape of Data Analysis

Landscape of Data Analysis

Written by zeronova

2013/10/29 at 8:55 오전

Data Analytics, MOOC에 게시됨

[MOOC추천] Social Network Analysis (미시간대학)

leave a comment »

오늘부터 소셜 네트워크 분석 수업이 Coursera에서 시작합니다. 이 수업에서 소셜 네트워크 분석에 대한 이론과 툴 사용법을 배울 수 있습니다.

  • 개강일시: 10월7일
  • 강의기간: 9주
  • 주당 강의구성: 매주 과제와 기말시험, 몇개의 프로그래밍 숙제(옵션)
  • 주당 예상 소요시간: 5-7시간 (추가 프로그래밍 연습 포함하면 8-10시간)
  • 성적: 과제, 기말고사
  • 교수: Lada Adamic (University of Michigan)
Social Network Analysis (Coursera)

Social Network Analysis (Coursera)

페이스북, 트위터와 같은 소셜 네트워크 서비스가 성공하면서, 서비스의 기반을 이루는 네트워크 데이터, 혹은 그래프 데이터에 대한 분석이 관심을 끌고 있다. 이를 소셜 네트워크 분석(SNA)라고 하고, 특히 작년 선거와 맞물려서 엄청난 관심을 받은 바 있다. 데이터 분석가, 데이터 사이언티스트에게 소셜 네트워크 분석은 이제 기본 소양으로 자리매김하지 않을까 싶다.

Lada Adamic 교수는 이 분야 전문가로서, 이미 수차례 SNA 수업을 진행했고, 이뿐 아니라 네트워크와 관련된 다양한 수업도 개설한 전문가이다. 작년 Coursera 수업 아카이브가 공개되어 있으니 미리 확인해 보고, 수강을 결정하면 될 것이다. SNA 툴은 GephiNetLogo를 주로 활용할 것 같다. 소셜 네트워크 분석에 대한 이론 뿐 아니라, 툴 활용, 프로그래밍 등을 통해 실전 경험을 익힐 수 있는 좋은 기회가 되리라 생각한다. 아래는 공개된 Syllabus 내용.

Week 1: What are networks and what use is it to study them?
  • Concepts: nodes, edges, adjacency matrix, one and two-mode networks, node degree
  • Activity: Upload a social network (e.g. your Facebook social network into Gephi and visualize it ).
Week 2: Random network models: Erdos-Renyi and Barabasi-Albert
  • Concepts: connected components, giant component, average shortest path, diameter, breadth-first search, preferential attachment
  • Activities: Create random networks, calculate component distribution, average shortest path, evaluate impact of structure on ability of information to diffuse
Week 3: Network centrality
  • Concepts: betweenness, closeness, eigenvector centrality (+ PageRank), network centralization
  • Activities: calculate and interpret node centrality for real-world networks (your Facebook graph, the Enron corporate email network, Twitter networks, etc.)
Week 4: Community
  • Concepts: clustering, community structure, modularity, overlapping communities
  • Activities: detect and interpret disjoint and overlapping communities in a variety of networks (scientific collaborations, political blogs, cooking ingredients, etc.)
Week 5: Small world network models, optimization, strategic network formation and search 
  • Concepts: small worlds, geographic networks, decentralized search
  • Activity: Evaluate whether several real-world networks exhibit small world properties, simulate decentralized search on different topologies, evaluate effect of small-world topology on information diffusion.
Week 6: Contagion, opinion formation, coordination and cooperation
  • Concepts: simple contagion, threshold models, opinion formation
  • Activity: Evaluate via simulation the impact of network structure on the above processes
Week 7: Cool and unusual applications of SNA 
  • Hidalgo et al. : Predicting economic development using product space networks (which countries produce which products)
  • Ahn et al., and Teng et al.: Learning about cooking from ingredient and flavor networks
  • Lusseau et al.: Social networks of dolphins
  • others TBD
  • Activity: hands-on exploration of these networks using concepts learned earlier in the course
Week 8: SNA and online social networks 
  • Concepts: how services such as Facebook, LinkedIn, Twitter, CouchSurfing, etc. are using SNA to understand their users and improve their functionality
  • Activity: read recent research by and based on these services and learn how SNA concepts were applied

Written by zeronova

2013/10/07 at 10:00 오전

Data Analytics, MOOC에 게시됨

[MOOC추천] Statistics One (프린스턴대학) – R 활용

with one comment

미국 대학은 9월에 학기를 시작하다보니, Coursera에서도 최근 좋은 강의들이 다시 열리고 있습니다. 지난 번 소개드린 Computing for Data Analysis가 R 프로그래밍의 기초를 가르치는 수업이라면, 이번에 소개드리는 Statistics One은 R을 통계에 활용해 보는 것입니다. 통계학은 Data Scientist가 가져야 할 자질 중에 가장 중요한 한가지로 자주 언급되고, 특히 개발자 출신이 데이터 분석의 세계로 들어서려고 할 때 가장 부족한 부분 중 하나가 아닐까 합니다. 이를 극복할 수 있는 프린스턴 대학의 Statistics One 강의를 추천합니다.

Statistics One (9월22일 시작)

Statistics One (9월22일 시작)

이 수업은 작년에 처음 개설되었을 때 제가 들으려고 시도했으나 실패했고, 이번에 제대로 들어볼 생각입니다.

  • 개강일시: 9월22일
  • 강의기간: 12주
  • 주당 강의구성: 2개 강의, 1개 Lab, 1개 데이터 분석 과제
  • 주당 예상 소요시간: 4-8시간 (강의는 1시간 이하 짜리 2개, 랩은 30분 이하, 과제는 1-3시간 정도 예상)
  • 성적: 과제, 중간고사, 기말고사
  • 교수: Andrew Conway (Princeton University)

Syllabus를 보면 수업의 목표는 통계학 초보들에게 보다 고급 단계로 넘어가기 위한 기초를 가르치는 것이라고 합니다. 그리고 R을 매우 적극적으로 활용할 예정이라네요. 모든 예제와 과제는 R 프로그래밍으로 주어지고, 랩 강의에서 아마 R로 배운 내용을 어떻게 구현하는지 가르칠 것 같습니다. 수업이 만만해 보이진 않습니다. 하지만, 통계학을 꼭 한번 배워보겠다고 마음 먹은 분들에겐 좋은 기회가 될 것 같습니다. 또한 R을 배웠는데, 통계와 연계시킨 경험이 부족한 분들에게도 좋은 기회가 아닐까 싶네요.

수강할지 고민되는 분들은 우선 등록하고, Course Introduction 동영상을 한번 보시길 바랍니다. (맘에 안들면 등록취소하면 됩니다) 교수님의 말하는 스타일이나 가르치는 스타일이 매우 친절해 보입니다. 이 동영상에선 통계학이 뭐다, 어떤 연구방법이 있고, 어떤 용어들이 있는지 간단히 알려줍니다. 영어도 빠르지 않게 해서 스크립트랑 같이 보면 충분히 따라갈 수 있을 수준입니다. e-learning 시스템도 잘 갖춰져 있네요. 참, 올해가 The International Year of Statistics 이라네요. 그만큼 통계학이 뜨고 있고 중요해 지고 있나봅니다.

아래 Syllabus에 나와있는 강의 주제와 랩 주제를 알려드립니다.

Lecture Topics

  • Lecture 1: Experimental research
  • Lecture 2: Correlational research
  • Lecture 3: Variables, distributions, and scales
  • Lecture 4: Summary statistics
  • Lecture 5: Correlation
  • Lecture 6: Measurement
  • Lecture 7: Introduction to regression
  • Lecture 8: Null hypothesis significance testing
  • Lecture 9: The central limit theorem
  • Lecture 10: Confidence intervals
  • Lecture 11: Multiple regression
  • Lecture 12: The general linear model
  • Lecture 13: Moderation
  • Lecture 14: Mediation
  • Lecture 15: Student’s t-test
  • Lecture 16: Analysis of variance (ANOVA)
  • Lecture 17: Factorial ANOVA
  • Lecture 18: Repeated measures ANOVA
  • Lecture 19: Chi-square tests
  • Lecture 20: Binary logistic regression
  • Lecture 21: Assumptions revisited
  • Lecture 22: Non-parametric statistics
  • Lecture 23: Generalized linear model
  • Lecture 24: Course summary

Lab Topics

  • Lab 1: Introduction to R
  • Lab 2: Histograms and summary statistics
  • Lab 3: Scatterplots and correlations
  • Lab 4: Regression
  • Lab 5: Confidence intervals
  • Lab 6: Multiple regression
  • Lab 7: Moderation and mediation
  • Lab 8: Group comparisons (t-tests, ANOVA, post-hoc tests)
  • Lab 9: Factorial ANOVA
  • Lab 10: Chi-square
  • Lab 11: Non-parametric tests
  • Lab 12: Non-linear regression

Written by zeronova

2013/09/16 at 12:03 오후

Data Analytics, MOOC에 게시됨

[MOOC추천] Computing for Data Analysis (존스홉킨스대학) – R 강의

with 2 comments

9월23일부터 존스홉킨스 대학에서 4주짜리 R 강의를 시작합니다. Coursera에 존스홉킨스대학의 강의가 제법 많습니다. 이 강의들은 일관되게 데이터 분석, 특히 의료 데이터 분석을 위한 기술과 기법을 가르칩니다. 그 중에 R에 대한 기초 강의를 하는 강의가 Computing for Data Analysis 입니다.

Computing for Data Analysis-2013

이 수업은 제가 작년에 들어봤기 때문에 자신있게 추천드릴 수 있습니다. R에 대해서 아주 기초부터 가르쳐 줍니다. 한 가지 주의할 점은 R을 이용한 데이터 분석을 가르치는게 아니라, R 문법과 활용법에 대해 가르치는 것입니다. 따라서, R을 좀 아시는 분들은 별로 들을 필요가 없지 않을까 싶습니다. 4주 과정에서 퀴즈를 4번치고, R 프로그램 숙제가 2번 나옵니다. 이게 꽤 도움이 됩니다. 특히 프로그램 숙제 같은 경우 실제 의료 관련 데이터를 가지고, R로 분석하고 시각화하는 내용이라, R을 처음 하는 분들에겐 제법 도전적이고, R을 많이 익힐 수 있는 좋은 예제입니다. 제 기억으론 대략 주당 3-4시간은 투자해야 했습니다. (강의 내용을 RStudio에서 실습하는 것까지 포함해서) 그리고 숙제는 주말 하루 정도는 공을 들인 것 같습니다. 영어 강의긴 하지만 스크립트도 있기 때문에 노력하면 따라갈 수 있습니다.

아직 싸이트에서는 Syllabus가 올라와 있지 않기 때문에 제가 작년 강의의 일정과 내용을 좀 알려드리겠습니다.

강의 일정

  • Week 1: Introduction and Overview, Installing R, Data Types and Subsetting, Reading/Writing Data
  • Week 2: Control Structures, Functions, Loop Functions, Debugging
  • Week 3: Simulation, Plotting/Visualizing Data, Principles of Data Graphics
  • Week 4: Object-oriented Programming, Data Abstraction, Regular Expressions

 Grading (70점 이상 받아야 통과)

  • Week 1 Quiz: 10 points
  • Week 2 Quiz: 10 points
  • Week 3 Quiz: 10 points
  • Week 4 Quiz: 10 points
  • Programming assingment 1: 30 points

  • Programming assingment 2: 30 points

70점 넘는건 크게 힘들진 않습니다. 퀴즈는 객관식이고, 여러번 볼 수 있기 때문에 거의 만점 받을 수 있습니다. 숙제가 관건인데, 숙제 설명이 잘 되어있고, 답이 어떻게 나와야 한다는 결과를 알려주기 때문에 조금만 노력하면 따라갈 수 있습니다. 그렇게 4주 꾸준히 노력하면 아래와 같은 수료증도 받을 수 있습니다. 이거 꽤 뿌듯합니다. ^^ 추석 잘 쉬고, 이 강의 들으면서 이번 기회에 R의 세계, Data Scientist의 세계로 한발짝 들어서보면 어떨까요?

Computing for Data Analysis-Accomplishment

 

혹시 관심있는 분들을 위해 전체 강의 비디오 리스트 캡쳐 떠 놓은거 첨부합니다. 참고하세요

video lecture list

Written by zeronova

2013/09/13 at 11:27 오전

Data Analytics, MOOC에 게시됨