Course website : 빅데이터통계분석 (숙명여대 통계학과 2020-2)

중요 공지사항 (Latest update : 9/1)

  • (1) 9/2 오리엔테이션 포함, 모든 정규강의 (이론/실습) 녹화강의로 제공

    • + 격주 수요일 조별 미팅 (20분간)

  • (2) 의사소통 및 질문답변 플랫폼으로 슬랙(업무용 메신저) 활용합니다. 이메일로 배포된 링크를 통하여 가입하실 수 있습니다.

  • (3) 개발환경 구축을 위하여 Windows 10 최신 버전 (버전 2004, 빌드 19041 이상)이 필요합니다.

    • 시작버튼 클릭 --> 'winver' 검색 및 실행하셔서 본인 윈도우의 버전을 확인하시고, 위 버전보다 낮으면 업데이트 진행 바랍니다. (시작버튼 클릭 --> '업데이트 확인' 실행)

  • (4) 저장용량 문제로 스노보드에는 최신 수업만 저장되어 있습니다. 예전 수업들은 본 웹페이지에 보관합니다.

강의 일정, 진도, 자료

bigdata2020f-schedule

일반 정보

  • Course overview

    • 방법론 훈련을 충분히 받은 통계학전공 4학년 학생을 주 수강생으로 가정하는 과목이다. 데이터 분석의 전체 과정, 예를들어 계획, 수집, 탐색, 모델링, 결과보고를 체험한다. 교강사의 강의/실습 시간에는 주로 전공시간에 다루어지지 않은 데이터 수집 및 저장 방법들을 다룬다. 구체적으로 (1) 웹 문서의 크롤링, (2) 관계형 데이터베이스(MySQL)를 이용한 데이터 저장과 추출, (3) R Shiny를 이용한 실시간 통계분석을 소개한다. 수강생은 프로젝트를 통해 관심 분야의 데이터셋을 수집하고 통계적 방법론들을 이용하여 인사이트를 도출하거나 간단한 웹서비스를 만들어 본다.

    • 본인이 수집하고 싶은 데이터셋이 있는 경우에 가장 재미있게 수강 가능. 수강신청 전에 웹 크롤링 활용 사례를 구글링하여 보고, 관심분야가 웹 크롤링으로 구현가능할지 고민하여 보기를 권함.

  • Overall goals

    • 데이터 분석 실무역량 강화

  • 선이수과목

    • 통계학과 3-4학년 전공과목 수강경험

      • 필수 : 팀원 중 적어도 2명 이상이 다음 조건을 만족할 것: [통계학과 3-4학년 전공 + 회귀분석입문] 중 3과목 이상 수강완료

        • 증빙자료는 필요없으나 허위진술이 밝혀진 학생은 F 부여

      • 권장 : 다변량통계분석, 데이터마이닝, 시계열분석, 범주형자료분석, 통계적기계학습 중 3과목 이상 수강완료 또는 이번학기 수강

    • Python (크롤링), R (R Shiny) : 반복문, 제어문, 함수작성, 클래스, 파일 입출력 등의 기초지식을 전제하고 수업이 진행됩니다.

  • 원활한 실습을 위하여 PC 개발환경을 점검하시기 바랍니다.

    • 최소 하드웨어 사양 : Intel Core i5급 CPU, 8GB RAM, 하드디스크 여유공간 25GB

    • 권장 하드웨어 사양 : Intel Core i7급 CPU, 16GB RAM, 하드디스크 여유공간 50GB 혹은 그이상

    • 운영체제 : Windows 10 / OS X 10.14 / Ubuntu 18.04 이상 (실습강의는 Win 10 기준으로 진행)

    • Python (v3.7 이상), R (v4.0 이상) 설치

    • 주의 : 실습환경 구축은 수강생의 책임이며, 환경 미비로 인한 과제수행의 어려움에 대하여 운영진은 별도 지원책을 마련하지 않습니다.

강의 운영

  • 강의 시간 : 월, 수 3:00pm - 4:15pm

  • 강의실 : [대면] 사회교육관 514호 // [비대면] 실시간강의는 Zoom 746-487-4094, 녹화강의는 SnowBoard 업로드

  • 평가 : 출석 20점 + 프로젝트 70점 + 가산점 슬롯 10점

    • 출석 : 호명 (대면/실시간 수업의 경우) + 녹화강의 업로드 1주일내 수강 + 온라인 퀴즈 (객관식, 비정기적) 혼합

    • 프로젝트 : 교수평가 40점 + 팀내 평가 15점 + 팀간 평가 15점

    • 가산점 슬롯 : 기본 0점 // 타 수강생에게 도움이 되는 행위의 양과 질에 따라 차등 부여 (e.g. 슬랙 질문답변 참여, 발표시 질문 참여)

  • 강의 방법 (가안)

    • 강의/실습 : 녹화강의 위주, 월요일에 일주일분의 학습내용을 업로드합니다.

    • 프로젝트 피드백 : 각 팀은 격주마다 15분씩 교강사와 만나 프로젝트의 진행상황/애로사항/계획을 공유합니다. (수요일 수업시간대 활용)

  • 효율적 운영을 위하여 다음 플랫폼들을 활용합니다.

    • 이메일 : 중요 공지 배포 (스노우보드 및 포탈에서 본인의 이메일 설정을 다시 확인하세요.)

    • 슬랙(Slack) : 실시간 커뮤니케이션 및 질문답변

      • 슬랙은 실시간 의사소통을 편하게 하는 플랫폼입니다. 여러 줄의 타이핑 및 Code formatting, 이미지 삽입, 파일 첨부가 모두 가능합니다.

      • 혼동되는 개념을 명확히 하고 싶을 때, 개념에 질문이 있을 때, 프로젝트 도중에 막힌 부분이 있을 때에는 #질문답변포럼 게시판에 질문을 남겨주세요. (물론 Office hours도 활용하실 수 있습니다.)

        • 사려깊고 건설적인 참여를 적극적으로 장려합니다. 이를 위하여 합리적인 기준 하에 가산점으로 보상합니다. 교강사는 정기적으로 질문을 체크하고 답변을 남기겠지만 학생들의 답변을 먼저 기다릴 예정입니다.

        • 이메일/DM으로 질문이 올 경우에는 민감한/기밀 질문이 아닌 한 슬랙 질문답변포럼 게시판으로 유도합니다.

    • 스노우보드(Snowboard) : 과제물 수거

과목 운영진

교재

  • 주교재

    • 강의노트 제공

  • 부교재

    • 크롤링 관련 (통계학과 라이브러리에 비치)

      • 파이썬으로 웹 크롤러 만들기 (2판), R. Mitchell 지음 (한선용 번역), 한빛미디어, 2019.

      • 완친파 웹크롤러 대마왕편, 가치랩스 기술연구소 지음, 한국정보인재개발원, 2019.

    • 데이터베이스 관련 (생활코딩 강의)

프로젝트 안내 (펼치기)

프로젝트 개요

  • 목적 : 데이터 분석의 전체 과정 (계획, 수집, 탐색, 모델링, 결과보고)를 체험

  • 주요 과업 : 관심 분야와 관련있는 웹사이트를 선정하여,

    • (시제품형) 관심 정보를 주기적으로 수집하고 실시간 통계분석 결과를 웹 페이지로 제공합니다.

      • 요소기술: 서버에서 주기적으로 크롤링 코드를 동작시키고 (동적 크롤링), 정보는 MySQL 기반 DB에서 관리하며, 웹 앱은 인터페이스는 R Shiny 이용

      • Science ('통계분석')보다는 Engineering (크롤러/DB/R Shiny app의 안정적인 관리)가 강조됨

    • (보고서형) 관심 정보를 수집하여 다양하게 탐색하고 가설을 세워 여러 개의 통계분석 방법론들을 적용하여 과학적이고 의미있는 인사이트를 도출하는 보고서를 작성합니다.

      • 요소기술: 본인의 로컬 컴퓨터 혹은 서버에서 크롤링 코드를 비정기적으로 동작시키고 (정적 크롤링), 만들어진 데이터셋의 가공/처리/분석에 집중

      • Engineering (크롤러/DB의 안정적인 관리) 보다는 Science (탐색과 통계분석)가 강조됨

  • 최종 산출물

    • 시제품형: 포스터, 소스코드 매뉴얼, 소스코드 (R Shiny app, MySQL DB, 크롤러)

    • 보고서형: 포스터, 보고서, 소스코드 (분석 코드, 크롤러)

  • 주요 일정

    • 2주에 1회 교강사와 정기 미팅 -- 진행 상황 공유, 단기목표 설정, 장기목표 미세조정

    • 8주차 월/수 : 중간 발표 (기말 포스터 상에 동일 양식으로 작업), 시제품형/보고서형 중 택1 완료

    • 14주차 금 (12/2 23:59) : 결과물 최종 제출

    • 15주차 월/수 : 최종 발표


프로포절 (학기 시작 전)

  • 프로포절 내용 (A4 반장 분량, 양식은 자유)

    • 팀원 구성 (2-3인, 팀 리더를 명시)

      • 이름, 학번, 소속, 이메일 주소, [통계학과 3-4학년 전공 + 회귀분석입문]중 수강완료한 과목

      • 팀원 중 적어도 2명 이상이 다음 조건을 만족할 것: [통계학과 3-4학년 전공 + 회귀분석입문] 중 3과목 이상 수강완료 (증빙자료는 필요없으나 허위진술이 밝혀진 학생은 F 부여)

      • '낯선 만남' 권장: 친구들과 팀을 편성해도 좋지만 학교 웹커뮤니티를 활용하여 조원을 찾아보길 권함

    • 관심있는 도메인분야 2-3개

    • 관심있는 크롤링 대상 사이트 2-3개 (도메인 분야와 연관성이 있어야 함)

    • 위 사이트에서 어떤 자료를 수집하여 어떤 분석을 하고 싶은지? (구체적이지는 않아도 괜찮으나 어느 정도 방향성이 존재하고 스스로 가치있게 느끼는 문제였으면 함)

    • 보고서형/시제품형 중 어느 유형에 관심있는지? (8주차까지는 자유롭게 변경 가능)

  • 제출하는 곳: 제 이메일 (ygchoi@sm.ac.kr)

개강 전 공지 (펼치기)

  • 문의 및 상담을 위하여 Office hour를 예약제로 운영합니다. (매주 수,금 4:00pm-5:00pm, ygchoi.youcanbook.me에서 예약)

  • 본 과목은 작년 <통계데이터베이스>에 통계분석실습 측면을 강화하였습니다.

    • 작년 <통계데이터베이스>와의 공통점

      1. 크롤링, 데이터베이스, R Shiny를 실습합니다.

      2. 프로젝트 진행: 실습을 토대로 관심있는 사이트의 정보를 크롤링하여 저장합니다.

    • 작년 <통계데이터베이스>와의 차이점

      1. 프로젝트 요구사항 변경

        • 수집된 데이터에 3-4학년 전공지식 수준의 통계학 방법론 적용 후 의미있는 결론도출을 목표로 함 (e.g. 기계학습, 다변량 분석, 시계열 분석, 범주형 분석, 비모수 분석, 회귀분석, etc.)

        • 결과물

          • 시제품형: 포스터, 소스코드 매뉴얼, 소스코드 (R Shiny app, MySQL DB, 크롤러)

          • 보고서형: 포스터, 보고서, 소스코드 (분석 코드, 크롤러)

          • 시제품형/보고서형의 소개는 아래 <프로젝트 안내 (펼치기)> 참조

      2. 팀 프로젝트 (2-3인이 한 조)

      3. 시험 없음 (SQL 쿼리문작성 테스트 폐지, 개별과제는 일부 유지 계획)

      4. 절대평가 (캡스톤디자인 과목으로 운영 예정)

  • 요청사항: 수강신청 전에 팀을 구성하여 프로포절을 제출하여 주세요.

    • 프로포절 내용 (A4 반장 분량, 양식은 자유)

      1. 팀원 구성 (2-3인, 팀 리더를 명시)

        • 이름, 학번, 소속, 이메일 주소, [통계학과 3-4학년 전공 + 회귀분석입문]중 수강완료한 과목

        • 팀원 중 적어도 2명 이상이 다음 조건을 만족할 것: [통계학과 3-4학년 전공 + 회귀분석입문] 중 3과목 이상 수강완료 (증빙자료는 필요없으나 허위진술이 밝혀진 학생은 F 부여)

        • '낯선 만남' 권장: 친구들과 팀을 편성해도 좋지만 학교 웹커뮤니티를 활용하여 조원을 찾아보길 권함

      2. 관심있는 도메인분야 2-3개

      3. 관심있는 크롤링 대상 사이트 2-3개 (도메인 분야와 연관성이 있어야 함)

      4. 위 사이트에서 어떤 자료를 수집하여 어떤 분석을 하고 싶은지? (구체적이지는 않아도 괜찮으나 어느 정도 방향성이 존재하고 스스로 가치있게 느끼는 문제였으면 함)

      5. 보고서형/시제품형 중 어느 유형에 관심있는지? (8주차까지는 자유롭게 변경 가능)

    • 제출하는 곳: 제 이메일 (ygchoi@sm.ac.kr)

    • 참고용으로 작년 <통계데이터베이스>의 우수 프로젝트들의 결과물 (초기 프로포절, 중간발표, 최종발표, 코드)을 하단에 업로드 하였습니다.

    • 선착순으로 최대 10팀을 수강허가 합니다.

      1. 도착한 순서대로 심사하나, 성의있는 프로포절이 아니거나 팀원들이 위 조건을 만족하지 않은 경우 거절&재제출요청 합니다.

      2. 허가받지 않은 수강생의 수강신청을 금지합니다. (허가되지 않은 학생이 수강신청된 경우 제 임의로 수강자 목록에서 제거하거나 F를 부여합니다.)

    • 왜 사전 팀 구성을 계획하나요?

      1. 프로젝트 과목은 이론과목과 달리 피드백이 많이 필요하여 수강가능 최대인원이 적습니다. 동기와 의욕이 있는 학생들에게 수강의 우선권을 부여하고 싶습니다.

      2. 비대면 환경이라 사전팀구성이 없을 경우 강의초반 상호탐색에 오랜 시간이 소모되어 교과내용에 충실할 수 없을 가능성이 큽니다.

작년 우수 프로젝트 (7개)

*** Zoom 세팅법 (펼치기)

  1. 수강 환경 구축

    • PC (데스크탑 혹은 노트북) --- 스마트폰과 태블릿도 가능하나 비권장

    • 스피커 --- 마이크 기능이 있는 이어폰 권장

    • 초고속 인터넷 --- 유선인터넷 권장

    • 조용한 공간

  2. Zoom (실시간 회의 소프트웨어) 설치