Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

인포그래픽스 데이터분석과 저널리즘 3장 데이터수집,정제에서 분석까지

1,239 views

Published on

  • Login to see the comments

인포그래픽스 데이터분석과 저널리즘 3장 데이터수집,정제에서 분석까지

  1. 1. 영남대학교 언론정보학과 인간-컴퓨터상호작용과 인포그래픽스 2015년4월10일 수업발표자료
  2. 2. 3.1~3.4
  3. 3. 이해 뉴스와 데이터를 연결 지어 생각해 보고, 취재와 제작에 데이터의 정량 분석과 시각화의 힘을 적극적이고 효과적으로 활용하려는 자세 데이터 마인드가 갖춰진 기자 • 유용한 데이터가 어디엔가 존재할 것이라는 전제하에 일을 시작 • 정부의 공공기관의 정책 정보와 마찬가지로 공공 데이터 역시 국민의 알 권리 차원에서 당당하게 요구하고 활용할 권리가 있다는 점을 분명히 인지하고 있어야 한다. • 취재처에 무슨 데이터가 존재하고 어떻게 구할 수 있는지 파악하는 한편 자신만의 취재 데이터베이스를 구축해 부가가치를 높이려고 한다. • 보조적 수단의 통계자료 차원이 아닌 데이터를 기반한 기사를 쓴다.
  4. 4. 이해 『자료 입수의 기술(The Art of Access』 (미국의 정보공개 전문가인 미주리 대학교의 찰스 데이비드 교수, 아리조나 대학교의 데이비드 컬리어 교수) 탐사 보도 전문 기자들의 문서 추적 기법의 데이터 취재에 접목해도 효과를 배가 할 수 있다, 자료 추적 하기 전 취재하는 기관의 성격, 업무에 관해 자문자답! 1. 무슨 일을 하는 기관인가? 2. 어느 사업에 어떤 예산을 지출하나? 3. 이 기관이 감독하고 규제하는 영역은? 4. 누가 자료를 생산하나? 5. 기관에서 정기적으로 발표하는 통계자료는? 6. 이 기관에서 문서를 공유하는 다른 기관은 어디인가?
  5. 5. 이해 탐사 보도 전문 기자 돈 레이의 문서 체크리스트! 1. 부모님은 누구인가? (누가 만든 자료인가?) 2. 언재 태어났나? (언제 만들어졌고 자료 갱신 주가는?) 3. 사용하는 언어는? (데이터에 쓰인 용어의 의미는>) 4. 결혼 했나? 형제는 없나? (연계된 다른 데이터는 없는가?) 5. 어떻게 여기에 오게 됐나? (자료 생성의 흐름은?) 6. 숨기고 있는 건 없는가? (자료 한 켠에 숨겨진 작은 글씨나 코드는 없 나? 그 의미는?) 『자료 입수의 기술(The Art of Access』 (미국의 정보공개 전문가인 미주리 대학교의 찰스 데이비드 교수, 아리조나 대학교의 데이비드 컬리어 교수) 탐사 보도 전문 기자들의 문서 추적 기법의 데이터 취재에 접목해도 효과를 배가 할 수 있다,
  6. 6. 이해 문서는 만든 사람의 의도성에 따라 그 성격이 달라진다. 1. 누가 무슨 목적으로 작성한 것인지를 파악 2. 언제 만들어졌고, 어느 정도 주기로 갱신되는 자료인지도 정확히 숙지 3. 데이터베이스의 각 항목이 뜻하는 의미는 무엇인지도 정확히 숙지 이와 같은 ‘데이터에 관한 데이터’을 메타데이터라고 한다. ∴ 데이터 마인드는 분석도구에 익숙할수록 더 깊어진다.
  7. 7. 이해 데이터 파일 형식의 기본: 구분자(delimiter) 이해하기 가장 널리 사용되는 엑셀 오피스 2007년 버전 이후에서 사용하는 .xlxs(엑셀 통합문서) 2003년 이전 구 버전에서 사용하던 .xls가 있다. 엑셀의 대용인 무료 ‘Open Office Calc’ .ods확장자의 ODF 파일을 생성한다. CSV 다음으로 많이 사용되는 파일은 탭(tab) (TAB-Delimited Text File)이다.
  8. 8. 이해 데이터 파일 형식의 기본: 구분자(delimiter) 이해하기 스프레드 시트 만큼 사용되는 CSV(Comma-Separated Value) 글자와 숫자 단락마다 쉼표(Comma)가 들어가 있다. CSV에서는 쉼표가 데이터와 데이터를 구분한다. 이와 같은 쉼표의 역할을 구분자 혹은 분리자(Delimiter, Separator)라고 한다.
  9. 9. 이해 데이터 파일 형식의 기본: 구분자(delimiter) 이해하기 CSV파일 불러오기 • 엑셀의 ‘열기’ 메뉴에서 쉽게 불러올 수 있는 경우 • 상단 메뉴의 ‘데이터’→’텍스트’ 메뉴를 통해야 한다.
  10. 10. 이해 데이터 및 자료 수집 1. 기획 2. 데이터 수집 3. 데이터 정리 및 정제(가장 많은 시간과 노력이 필요한 부분) →올바른 분석과 시각화를 위해서는 반드시 거쳐야 하는 작업 4. 데이터 분석과 사각화 5. 현장 취재 병행 6. 방송, 신문 혹은 웹 콘텐츠 제작 (순서는 고정 불변한 것은 아님. 상황에 맞춰 작업 순서가 바뀌거나 여러 가지 작업 이 동시에 진행되기도 한다.) 아무리 비싼 도구와 좋은 소대로 분석한다고 하더라도, 부정확한 데이터로 작업을 하면 아무 소용이 없다. 오류를 안고 있는 데이터를 투입하면, 오류 투성이의 결과를 낳을 수 밖에 없다.
  11. 11. 이해 데이터 수집의 6가지 방법 1. 현장 취재 데이터 직접 입수 2. 인터넷상에서 검색으로 자료 취득 3. 정보공개 청구 4. 공개 API 활용 5. 웹스크레이핑(Web Scraping, Web Crawlng) 6. 데이터베이스 자체 구축 <극히 예외적인 한 가지 사례> 웹스크레핑 사례 “미국 언론인이 웹스크레이핑으로 인해서 법정 논란” 미국의 ‘스크립스 하워드 뉴스(Scripps Howaed News Service)’의 취제 기자 아이작 울프(Issac Wolf) http://www.niemanlab.org/tag/isaac-wolf/ 법적 윤리적으로 갈등의 소지가 없는지는 좀 더 사회적 논의와 합의가 필요한 부분이지만, 우리나 라의 데이터 분석가와 기업, 연구기관들도 이미 웹스크레이핑을 폭넓게 활용하고 있다. 대부분의 웹스크레이핑은 특정 사이트의 공식적인 허락을 받지 않고, 통상적인 방법과는 다른 경 로로 데이터를 수집하게 된다. 이 때문에 원칙적으로는 해당 기관에 데이터 파일 제공을 직접 요 청하는 등 가능한 모든 수집방법을 시도해 본 다음 마지막 대안으로 사용 or 미리 해당 기관에 통 지하는 것이 바람직하다.
  12. 12. 이해 데이터 수집의 6가지 방법 또 하나의 방법, 구글 고급검색 “F-35A” filetype:pdf site:gov 인터넷상에는 검색엔진의 레이더망에는 포착되지 않는 숨겨진 고급 정보도 무수히 많다. “보이지 않는 웹(Invisible Web)”이 그것이다. 프리즘 : 국내 각종 정부 용역 보고서 제인스 연감 : 해외 사이트에서 무기에 대한 상세한 정보 Lexisnexis : 기업 간의 소송에 대한 정보 *유료와 무료가 섞여 있으니 선별해서 사용! 언론진흥재단 등 탐사 보도 혹은 데이터 저널리즘 교육 프로그램의 강좌를 통 해 검색 노하우와 관련된 정보를 얻을 수 도 있다.
  13. 13. 3.5
  14. 14. 이해 야후 파이프 이용하기 야후파이브 작업창
  15. 15. 이해 야후 파이프 이용하기 야후 파이프 모듈 구성화면
  16. 16. 이해 야후 파이프 이용하기 야후파이프 필터 모튤
  17. 17. 이해 야후 파이프 이용하기 RSS 피드 필터링정렬용 야후 파이프 모듈 구성
  18. 18. 이해 야후 파이프 이용하기 모듈 실행 결과 RSS 피드 불러온 모습
  19. 19. 3.7~3.10
  20. 20. 1. 홈페이지(openrefine.org) 접속 2. 다운로드 3. Window kit 다운로드 4. (자바 프로그램이 깔려 있지 않으면 자바 프로그램 다운) Refine
  21. 21. 5. (다운로드 후) 알집 풀기 6. 다이아 모양 google-refine 클릭 Refine
  22. 22. 7. 파일 선택 클릭 8. 제3장 中 “서울시도로시설물” 클릭 Refine
  23. 23. 9. NEXT 클릭. 10. Project name 설정 후 Create project 클릭 Refine
  24. 24. Refine : Record -> rows 바꾸기
  25. 25. 시설물명 -> Facet -> Text facet 클릭Refine
  26. 26. Refine : name -> count 클릭
  27. 27. : blank위에 마우스 올리면 “edit” , “include” 뜸Refine
  28. 28. : (좌) “include” 클릭 : (우) “edit” 클릭 후 -> “이름없는 시설물” 작성 후 -> apply 클릭 Refine
  29. 29. : (좌) exclude 클릭 : (우) 무명교 -> “edit” -> 이름없는 시설물로 변경 Refine
  30. 30. : 이름없는 시설물 없애는 법 이름없는 시설물 -> edit -> (띄워쓰기 한번) Refine
  31. 31. : 이름없는 시설물 없애는 법Refine (좌) 빈칸 우측의 “include” 클릭 (우) 시설물명 -> edit cells -> common transforms -> blank out cells
  32. 32. : (좌) 소유자 -> facet -> text facel : (우) 같은 곳이지만 (“강북구청”=“강북구청장”) 다른 표기 발견 Refine
  33. 33. : (좌) 강북구청에 마우스 커서 올린 뒤 -> edit 클릭 : (우) 강북구청 -> 강북구청장으로 변경(apply) Refine
  34. 34. : 준공일(일반 데이터의 유형은 TEXT, 준공일의 유형은 시간(DATA)) : 우선 준공일 -> Edit cells -> common transforms -> to date 선택 Refine
  35. 35. : (좌) 준공일 -> Facet -> Timeline facet : (우) (좌)의 결과 Refine
  36. 36. : (좌) 1900년대 지어진 건물들이 많음(이상함) : (우) 그 이유를 알아보기 위해 범위를 줄임 Refine
  37. 37. : 477개나 되는 건물이 1900년대 지어짐? -> 그 원인은 그 시대에 지어진 것이 아니라 준공 시점을 모르기 때문 Refine
  38. 38. : 문제의 1900년 1월 1일의 표기 문제 해결 : 준공일 -> edit cells -> common transforms -> to text Refine
  39. 39. : 문제의 1900년 1월 1일의 표기 문제 해결 : (좌) 준공일 -> facet-> text facet : (우) 그 결과, 1990년 1월 1일 준공된 시설물(408개) + 빈 셀(69개) Refine
  40. 40. : 문제의 1900년 1월 1일의 표기 문제 해결 : 1990년 1월 1일 준공된 시설물(408개) + 빈 셀(69개) -> edit -> “준공일 미확인” 으로 적용 Refine
  41. 41. : 준공일 미확인(477개)이 정해지면, 준공일 -> edit cells -> common transforms -> to number 선택 Refine
  42. 42. • 오픈 리파인을 사용하는 이유 : 데이터를 정제하기 위해 • 파란색(검은색)은 문자, 녹색은 숫자나 시간 데이터를 나타냄 • 셀의 왼쪽에 붙어 표시되는 데이터는 문자 형태, 수치는 반드시 숫자 유형(to number)으로 형식을 바꿔줘야 제대로 된 계산 가능 Refine
  43. 43. 정규표현식은 문자열의 배열에서 일정한 패턴을 찾아내 데이터 처리를 쉽게 만드는 수단 Refine
  44. 44. Refine 문자열 사이의 공백을 기준으로 ‘위치’ 칼럼을 두개의 칼럼으로 분리하기
  45. 45. “시”, “구”가 분리되어 있지 않음 Refine 문자열 사이의 공백을 기준으로 ‘위치’ 칼럼을 두개의 칼럼으로 분리하기
  46. 46. value.replace("특별시","특별시 ").replace(" 광역시","광역시 ").replace("도","도 ").replace("영도 구","영도구") Refine 문자열 사이의 공백을 기준으로 ‘위치’ 칼럼을 두개의 칼럼으로 분리하기
  47. 47. “시”,”구”가 분리되었음 Refine 문자열 사이의 공백을 기준으로 ‘위치’ 칼럼을 두개의 칼럼으로 분리하기
  48. 48. Refine 특정 문자만 추출하기
  49. 49. value.replace("특별시","특별시 ").replace(" 광역시","광역시 ").replace("도","도 ").replace("영도 구","영도구").split(" ")[0] 컴퓨터 언어는 순서를 셀 때 1부터 세는 것이 아니라 0부터 센다. Refine 특정 문자만 추출하기
  50. 50. value.partiton(/^.{4}시|^.{2,}도/)[1] 을 입력했을때도 똑같이 첫번째 문자열인 ‘시’를 기준으로 나눠진다. Refine 특정 문자만 추출하기
  51. 51. • / : 정규표현식의 시작을 알리는 기호 • ^: 첫 번째 나오는 문자열 • . : 아무 글자나 한 글자 • {4}: 앞 문자열이 4번 나타날 때 • | : 영어의 OR와 같은 이른바 blooean 연산자 • ^ : 첫 번째 나오는 문자 • {2,}: 앞 문자열이 2번 이상 나타날 때 • / : 정규표현식 마무리를 알리는 기호 Refine 특정 문자만 추출하기
  52. 52. Refine 특정 문자만 추출하기
  53. 53. value.replace("특별시","특별시 ").replace("광 역시","광역시 ").replace("도","도 ").replace(" 영도 구","영도구").split(" ")[0] Refine 특정 문자만 추출하기
  54. 54. Refine 특정 문자만 추출하기
  55. 55. value.replace(/d+-d+/,"") Refine 특정 문자만 추출하기
  56. 56. • / : 정규 표현의 시작 • d : 숫자(digit) 한 개 혹은 여러 개 • - : 1-010처럼 숫자 사이에 위치한 – 기호 • d+ : 숫자가 한 개 혹은 여러 개 • / : 정규표현식 마무리 Refine 특정 문자만 추출하기
  57. 57. Refine 특정 문자만 추출하기
  58. 58. value.split("|")[0]+"."+value.split("|")[1]+ value.split("|")[2] Refine 특정 문자만 추출하기
  59. 59. Split : 괄호안의 문자를 “.”로 처리 하라는 의미 value.split("|")[0]+"."+value.split("|")[1]+ value.split("|")[2] Refine 특정 문자만 추출하기
  60. 60. cells["위도"].value+ " "+cells["경도"] .value Refine 칼럼과 칼럼을 합치는 기능
  61. 61. 3.11~3.15
  62. 62. 엑셀 스프레드 시트 Ctrl + end : 커서 위치를 데이터값이 입력된 영역의 오른편 아래쪽 끝단으로 이동한다. Ctrl + shift + end : 특정 셀을 기준으로 오른쪽 아래 방향으 로 데이터 값이 입력된 영역의 끝단까지를 모두 선택한다. Ctrl + 화살표키 : 데이터 값이 입력된 영역의 끝단으로 커서 를 옮긴다. Ctrl + shift + 화살표 키 : 데이터 값이 입력된 영역의 끝단 으로 선택 범위를 확대.
  63. 63. 엑셀 스프레드 시트 연간 상승률 : (올해 연봉 – 지난해 연봉)/지난해 연봉*100 반올림 함수 round 수식 앞에 추가 = round(숫자값, 표시할 소수점 이하 자릿수) =round((셀-셀2))/셀2*100,0) SUM : 합산 AVERAGE : 평균 MAX, MIN : 최대, 최소치 총합이 1372368107으로 계산됬을때, 3자리 단위로 쉼표 표시 : 전체범위 지정 – 표시형식 – 우하단 X 특정 공기관의 부채를 전체 공기관 부채 총합으로 나누기 위해 분모를 고정하려면 $붙여야 한다. – 절대참조를 하지 않고 셀 자동 채움을 할 경우 분모 값에서 연속으로 오류 발생.
  64. 64. 엑셀 스프레드 시트 필터링 : 내가 원하는 조건의 데이터만 뽑아내는 것 일정 조건 에 해당하는 데이터만 걸러낼 수 있다. 원하는 셀 선택 후 데이터 – 필터로 가서 화살표 표시 클릭 – 걸 러낼 셀 클릭 – ‘모두 선택’ – 걸러낼 셀 체크해서 필터링. 칼럼 여러 개를 선택하면 복수 필터 동시 사용 가능 입력된 칼럼 - =,>,<와 같은 등호와 부등호를 사용해 일정 값을 기준으로 초과, 미만, 이상, 이하의 데이터만 추출 가능.
  65. 65. 엑셀 피벗테이블 피벗 테이블 – 특정 범주 데이터를 기준으로 다른 수치 데이터 를 합산하고 평균을 내거나 비율을 계산하고 정렬해 일목요연 한 표로 정리한 것. 차트상 아무 셀이나 한 곳 클릭 – 상단메뉴의 삽입 – 핍업테이 블 – 확인 – 오른편에는 피벗 테이블 필드, 왼편에는 표 만들어 짐 – drag and darg 방식 사용 – 원하는 데이터 칼럼의 네모난 빈 상자를 클릭하거나 칼럼 명을 클릭한 뒤 원하는 곳으로 끌어 다놈 – 평균값으로 변환하기 위해 셀을 아무 곳이나 클릭한 뒤 마우스 우 클릭 – 값요약 기준 – 평균으로 조정 – 총합계는 제 거한 뒤 마우스 우클릭해 필드 표시형식 메뉴에서 연봉 평균값 을 소수점 1자리로 표시.
  66. 66. 엑셀 피벗테이블 몇 개씩 분포했는지 개수세기 ‘행’에 범주 데이터를 옮기고 ‘값’에도 동일한 범주 데이터를 넣 으면, 각 항목별로 개수 세어준다. 퍼센트 비율로 나타내기 – 개수 칼럼에서 마우스 우클릭 뒤 값 요약 기준 – 기타 옵션 – 값 표시형식 – 설정 피벗테이블 셀 위에서 마우스 우클릭해 정렬 메뉴를 선택하면 내림차순 혹은 올림차순으로 정렬 가능 피벗테이블은 데이터의 분포를 요약하는데 탁월한 기능
  67. 67. 엑셀 텍스트 분리 기능 : 메뉴 데이터 – 텍스트 분리 바꾸기 기능 : 홈 – 찾기 및 선택 – 바꾸기 Ex) ‘서울시 강북구 번동’ 셀이 있을 경우 ‘시’를 ‘특별시’로 변동 가능 Concatenate(문자열, 문자열, …, 문자열) 문자가 입력된 셀 합쳐 주는 함수 Ex) A2셀에 서울시, B2셀에 강북구라고 입력돼 있을 때, =concatenate(A2,””,B2)은 ‘서울시 강북구’라는 셀을 발생 Concatenate함수와 같이 함수명이 긴 경우con만 입력해도 con 으로 시작하는 여러 함수가 뜨기 때문에 선택 가능, &로 문자열 을 연결시켜도 concatenate와 동일한 효과 낼 수 있다. 가령 =A2&””&B2라고 입력해도 =concatenate(A2,””,B2)과 같은 결과를 낸다.
  68. 68. 엑셀 Datevalue – 시간 데이터를 숫자로 변환 Today - 오늘의 연월일 날짜를 산출하는 함수 Leet(A2,5)는 셀A2의 문자열에서 왼쪽에서 다섯글자를 추출 Mid(A2,7,3)은 A2의 왼편에서 7번째 자리부터 시작해 세 글자 를 뺌 Right(A2.3) A2의 오른쪽에서 세 글자를 추출 If(조건문, 결과값이 참인경우, 결과값이 거짓인 경우) Ex) if(A2>70, “합격” , “불합격”)
  69. 69. 엑셀 쿼리 – sol을 사용해 원본데이터를 검색, 추가, 수정, 삭제하는 질의문으로 dbms를 사용하여 데이터베이스를 조작하는 것 이미 구축되어 있는 테이블로부터 데이터베이스를 분석하여 필 요한 정보를 찾는 도구 폼이나 보고서의 원본데이터가 됨
  70. 70. 엑셀 Secect - 필요한 칼럼 선택해 불러옴 Where - 조건에 맞는 행을 불러옴 Group by – 특정 칼럼을 기준으로 다른 칼럼 데이터를 집게해 보여준다. 피벗 테이블의 ‘행’에 끌어 넣어주는 칼럼명이 바로 이기준 칼럼 Pivot – 피벗 테이블의 ‘열’ 만듬 Order by – 올림차순 혹은 내림차순으로 정렬 Limit – 표시할 행수 설정 Label – 표시할 칼럼 이름 새로 지정
  71. 71. 3.16~3.17
  72. 72. 마무리 통계에 관한 몇 가지 기본 상식 통계학 • 기술 통계 : 자료의 특징을 간단히 설명 하는 통계 • 추리 통계 : 표본집단을 설정해 가설을 만든 후, 참과 거짓을 결정
  73. 73. 마무리 통계에 관한 몇 가지 기본 상식 평균 = 자료 분포의 특성을 보여주는 대푯값 산술평균 : 전체 값을 모두 더한 뒤, 개수로 나눈 값 (outlier 발생 가능) 중앙값 : 표본 수치를 나열 했을 때 중앙값 (홀수면 정중앙 수치, 짝수면 중앙의 나란히 위치한 두 수의 평균값) 최빈값 : 표본 수치 중 가장 많이 등장하는 값 일반적으로는 산술평균을 사용하지만 분포가 쏠릴 경우, 중앙값 사용
  74. 74. 마무리 통계에 관한 몇 가지 기본 상식 우리가 주목해야 하는 것, 데이터 간의 차이 범위 : 최댓값과 최솟값을 구한 차이 편차 : 각 데이터와 평균의 차이 (편차를 모두 더하면 0) 분산 : 각 편자의 제곱의 평균 표준편차 : 수치와 중심값과 거리를 가늠할 수 있는 수치 이러한 수치를 통해 정규 분포를 만들어 시각적으로 데이터를 볼 수 있다.
  75. 75. 마무리 데이터에 대한 과신을 버려야 데이터 저널리즘이 산다. 데이터에 근처한 취재는 “객관적이고 입체적인 보도"가 목적이다. 따라서, 데이터 저널리즘은 데이터의 객관성과 정확성이 중요하다. 숫자는 의견이고, 요약이고, 추정치에 불과하다. 뉴욕타임즈 컴퓨터 활용보도(CAR) 에디터 사라코헨 수치 자료에서 가치와 효용성을 끌어내는 것은 전적으로 데이터를 적극 사용하는 사람의 몫인 것이다.

×