본문 바로가기

4차산업/빅데이터

[Google] Making Sense of Data ____ Unit 3. Finding Patterns and Relationships in Data

참고: 모든 그림과 글의 출처는 https://datasense.withgoogle.com 의 Making sense of data 온라인 강좌 입니다.


Overview


데이터 분석을 위해 구글이 제공하는 퓨전 테이블을 이용하여 데이터 병합, 드릴다운 분석, 예측분석으로 값 추정, 공간적 데이터 분석등 데이터 분석에 대한 이해를 도와준다. 또한 분석 결과를 시각화 하고 공유하기 위한 방법을 소개한다.



데이터를 병합하여 관계 찾기



(1/3) 학습목표


테이블병합은 분리되어 있는 테이블의 변수간의 관계를 찾을 수 있다. 이 과정을 통해

데이터 분석을 위해 테이블을 어떻게 병합할 수 있는지 설명할 수 있다.

공통 컬럼을 가지는 두개의 테이블을 병합할 수 있다.







(2/3) 왜 데이터를 병합하는가?


패턴과 관계는 변수를 비교함으로써 발견된다. 그러나 초기 테이블이 분석하고자하는 모든 데이터를 포함하고 있지 않을 수 있다.

예를 들어 데이터는 여러개의 테이블에 저장되어 있을 수 있다.

몇년치의 기상 데이터가 다른 테이블에 저장되어 있다. 

또는 자동차를 구매하기 위해 자동차에 관한 정보를 수집하는 경우 각 자동차사의 유용한 정보들이 다른 테이블에 저장되어 있는 경우도 있을 수 있다.

이런 경우 분석을 위해 여러개의 테이블을 병합하는 작업이 필요하게 된다.


예제.

아래의 두개의 테이블중 하나는 세개의 주의 인구 통계학적 정보이고, 다른 하나는 겨울 날씨에 대한 정보이다.


기본적인 인구 통계 정보

StatePopulation (in millions)Per Capita Income
Georgia9.9$46,007
New York19.6$55,246
South Dakota0.8$48,321

겨울 기상 정보

StateSnowy Winter?Rainfall (inches)
South DakotaYes20.1
GeorgiaNo50.7
New YorkYes41.78


비와 인구 사이의 상관 관계를 알고 싶다면 두개의 테이블의 내용이 다 필요하게 된다. 이런 경우 두개의 테이블을 병합하여 새로운 테이블을 생성하여 분석에 사용할 수 있다.
StatePopulation (in millions)Per Capita IncomeSnowy Winter?Rainfall (inches)
Georgia9.9$46,007No50.7
New York19.6$55,246Yes41.78
South Dakota0.8$48,321Yes20.1


두개의 테이블을 병합하기 위해서는 공통 열이 있어야 하며, 여기서는 주(State)가 공통열(컬럼)이 된다.




(3/3) 두개의 퓨젼 테이블 병합


가상 학군 데이터를 이용하여 데이터를 병합하는 예를 설명한다. 가상 학군의 인구 통계정보를 가지고 있는 테이블과 가상 학군 정보를 병합해 보자.

1. 가상 학군 인구 테이블에서 [File] 메뉴를 선택한다.

2. [Merge..]를 선택한다.


Navigate to the file menu and select Merge...

구글 드라이브는 당신계정에 있는 모든 테이블 정보를 보여준다. "FictitiousSchool District" 테이블을 복사한것이 있으면 그 복사된 테이블을 선택한다. ( 만약 리스트에 테이블이 없으면 "Fictitous School DIstrict" 테이블의 URL을 복사해서 붙인다)  그 다음 [Next] 버튼을 클릭한다.

Select the Fictitious School District in the merge menu and click Next.

테이블에서 병합에 사용될 컬럼을 선택한다. 이 경우 'School"을 병합을 위한 공통열로 선택 한 뒤 [Next]를 클릭한다.

Select the School column for both tables.

모든 컬럼이 체크되었는지 확인하고 [Merge] 버튼을 클릭한다.

Select all the columns and click Merge

두개의 테이블이 정확하게 병합되었는지 확인한다. 테이블은 열개의 컬럼을 가지고 있어야 한다. 새로 생성된 테이블은 자동으로 구글 드라이버에 저장된다.

Screenshot of merged table with seven columns.





드릴다운분석을 이용한 관계 찾기



(1/7) 학습목표


드릴-다운(Drill-Down)분석으로 성능변수와 관련된 행과 열을 찾을 수 있다.  

이 과정을 통해

드릴-다운 분석을 정의할 수 있다.

드릴-다운 분석 단계를 적용할 수 있다.

성능변수가 숫자나 범주변수에 의해 영향을 받는지 확인할 수 있다. 







(2/7) 드릴다운 분석이란?


많은 데이터에서 중요한 행과 열로 데이터를 줄여간다.  

언제 변수가 중요한가? 

질문에 대한 대답을 하기 위해 하나 또는 그 이상의 성능변수를 선택해야 한다. 성능변수에 영향을 미치는 행이나 열은 중요하다.

예를들어 " 왜 졸업율이 떨어졌나?"라고 질문한다면, 여기서 성능변수는 졸업율이 된다.

그러므로 DDA는 낮은 졸업율에 영향을 미치는 행이나 열을 찾는 작업을 수행하게 된다.  


학군 테이블

SchoolAddressRemodel DateStudent/TeacherGrad. %Season of RemodelStudentsTeachers
HS 111 1st11-03-8232.148.11Fall32110
HS 222 2nd03-13-8545.236.22Winter90420
HS 333 3rd10-18-8928.389.33Fall84930
HS 444 4th10-30-9539.454.44Fall157640
HS 555 5th02-25-0051.529.55Winter257550





(3/7) 숫자변수에 대한 DDA 단계


1. 의미를 기반으로 하는 변수를 선택한다.

    수집된 데이터 중 관계없는 데이터가 포함되어 있으므로 이런 변수들을 제외하면 분석이 훨씬 단순해 질 수 있다.

2. 남아 있는 변수들로 scatter plots(산포도)를 만든다.  

     scatter plots는 숫자 변수 사이의 패턴을 쉽게 감지할 수 있으므로 분석에 사용될 수 있는 적절한 시각화 방법 중의 하나이다.

3. 영향을 미치는 변수를 선택한다.





(4/7) STEP1. 의미를 기반으로 변수를 선택한다.


일부 변수는 분석에서 제거하는 것이 쉽다. 

예를 들어 학군에서 졸업율에 영향을 미치는 요인을 찾는다고 한다면 학교의 주소와 같은 정보는 불필요하므로 제거할 수 있다.

하지만 이 단계에서는 성능변수에 영향을 줄수있는 정보에 대한 가정을 만드는것에 주력한다.


다음 테이블은 학교, 주소,리모델링날자. 리모델링 시즌을 제거한 테이블이다. 제거된 변수는 회색으로 표시하고, 

나머지 변수 Student/Teacher, Students, Teachers는 녹색으로 표시되는 성능변수 졸업율과 비교될 것이다.


SchoolAddressRemodel DateStudent/TeacherGrad. %Season of RemodelStudentsTeachers
HS 111 1st11-03-8232.148.11Fall32110
HS 222 2nd03-13-8545.236.22Winter90420
HS 333 3rd10-18-8928.389.33Fall84930
HS 444 4th10-30-9539.454.44Fall157640
HS 555 5th02-25-0051.529.55Winter257550







(5/7) STEP 2: 남은 변수의 Scatter plots(산포도)를 만든다.


일반적으로 숫자 데이터는 scatter plots를 통해 패턴을 찾는다. 차트 작성시 x축은 잠재적 영향 변수이고, y축은 성능변수를 배치한다.


y축은 졸업율, x축을 교사, 학생, 학생/교사 로 바꿔가면서 차트를 작성해 본다.


Scatter plot of teachers and graduation percent, no relationship.

Scatter plot of students and graduation rates, no percentage.

Scatter plot of student/teachers and graduation rates, downward linear relationship.

어떤 패턴이 감지되는가?




(6/7) 3 단계 : 영향을 미치는 변수를 선택 

Scatter plots에서 어떤 변수가 성능변수에 영향을 미치는지는 패턴을 찾는다 
선이나 곡선 같은 수학적 관계에 초점을 맞춘다. 실제 세상의 관계가 정확하게 수학적 관계를 따르는 것은 아니다. 

선생님수와 졸업률을 비교해보면, 선생님수와 졸업률의 관계는 평균라인으로 설명되는것이 최선이다.  이것은 졸업율이 선생님수에 의존하지 않는다는 의미이고, 다시 말해서 두개의 변수는 관계가 없다 라고 결론을 유추할 수 있다.
Scatter plot of teachers and graduation rate, with a red line to show that the points follow a horizontal line.

반면, 학생수/교사수 와 졸업율은 하향추세의 라인의 분석된다. 이 패턴은 학생수/교사수 는 졸업율에 영향을 미친다고 결론을 낼 수 있다.

Scatter plot of students/teachers and graudation rate, with a red line drawn to show that the points follow a downward sloping line.





(7/7) 숫자가 아닌 영향을 미치는 변수 

숫자가 아닌 변수도 성능변수에 영향을 미칠까?
예를 들어 리모델링 시즌이 졸업율에 영향을 미치는지 조사하길 원한다면, 다음과 같은 데이터를 조사해 볼 수 있다.

Grad % and Season of Remodel
Grad. %Season of Remodel
48.11Fall
36.22Winter
89.33Fall
54.44Fall
29.55

Winter


리모델링계절에 대한 데이터는 가을과 겨울 두개의 값이 있다. 
만약 리모델링 계절이 졸업율에 영향을 미치는지 조사하려면 바차트를 생성하여 분석할 수 있ㄷ.
다음은 리모델링 시즌의 범주 변수에 대한 졸업율을 요약한 데이터 이다.

Average Grad % by Season of Remodel
Season of RemodelAVG Grad %
Fall63.96
Winter32.88


분석 결과를 보면 가을이 겨울보다 두배 높은 졸업율을 보여주는 것을 볼 수 있다. 




예측분석으로 값 추정



(1/8) 학습 목표 


이 단원에서는 데이터를 알 수없는 값을 추정하는 방법에 대해 설명한다. 

이 과정을 통해 

예측 분석을 정의할 수 있다.

예측 분석의 단계를 적용할 수 있다.

기존의 변수를 사용하여  알수 없는 숫자 변수의값을 추정할 수 있다.






(2/8) 예측 분석이란?


가지고 있지 않은 값을 추정하는 기법으로 다음과 같은 경우가 해당될 수 있다.

- 완전하지 않은 데이터셋(학생이 20명인 반을 조사하는데 그날 한명이 결석을 한경우)

- 샘플 데이터 셋(회사내 2000명의 직원에 대해 조사할 시간과 자원이 부족한 경우 대신 몇백명의 직원을 대상으로 조사한 경우) 

- 가상의 데이터이거나 미래의 데이터(제품이 2년뒤에 판매량을 조사하는 경우)



이미 가지고 있는 데이터를 사용하여 예측하며, 추정에 사용되는 변수를 예측변수라고 부른다.


예측은 두가지 방법을 사용할 수 있다.


보간법(Interpolation): 

이미 가지고 있는 데이터의 범위안에서 값을 추정한다.

ex) 5만명 주민과 7만명주민이 거주하는 도시의 각각 필요한 음식량을 알고, 6만 거주 도시에 필요한 음식량을 추정하는 경우   

   

외삽법(Extrapolation):

이미 가지고 있는 데이터의 범위 밖의 값을 추정한다.

ex) 1학년과 2학년때 행동방법을 알고 있는 학생에 대해 3학년이 되었을때 행동을 예측하는 경우


예들 들면,


학군에 새로운 고등학교 HS6을 오픈하려고 한다고 가정하자.  

학생수 2,520명에 교사를 60명 채용할 예정이다.  이경우 Student/Teacher 값은 42이다. 예측분석을 통해 HS6의 졸업율을 예측할 수 있다.


Fictitious School District with High School 6

SchoolAddressRemodel DateStudent/ TeacherGrad. %Seas. of RemodelStudentsTeachers
HS 111 1st11-03-8232.148.11Fall32110
HS 222 2nd03-13-8545.236.22Winter90420
HS 333 3rd10-18-8928.389.33Fall84930
HS 444 4th10-30-9539.454.44Fall157640
HS 555 5th02-25-0051.529.55Winter257550
HS 6 (projected)66 6th 42??.?? 2520 60





(3/8) 숫자 변수에 대한 예측 분석의 단계 요약 


1. 영향을 미치는 변수와  예측 변수의 산포도(Scatter plots)를 구축 한다.

     예측변수에 영향을 미치는 변수와의 관계 패턴을 보여준다.


2. 예측에 영향을 미치는 변수 값의 위치를 표시한다.

     이 값은 측정 데이터의 범위 내에 있다고 가정 할 수 있기 때문에 왼쪽에서 오른쪽으로 표시된다.


3. 표시된 값 근처의 영향을 미치는 변수의 측정값을 선택한다.

     예측변수의 값과의 관계를 찾는다.


4. 3단계에서 선택된 예측변수의 값의 평균을 계산한다.





(4/8) 1 단계 : 영향을 미치는 변수와  예측 변수의 산포도(Scatter plots)를 구축 한다.


예측 분석의 첫번째 단계에서는 예측 변수와 영향을 미치는 변수간의  관계를  그래픽 표시로 제공 산점도를 구성한다. x-축은 영향을 미치는 변수이고 Y 축은 예측 변수가되도록 산점도가 구축되어야한다. 






(5/8) 단계 2 : 예측에  영향을 미치는 변수 값의 위치를 표시한다.


예측 분석의 두 번째 단계에서, 예측을 할 위치를 표시한다. 이는 x-축이  영향 변수의 값이다.  

아래의 산점도는 x 축 (42)의 값으로 표시됩니다. 





(6/8) 3 단계 : 표시된 값 근처 영향을 미치는 변수의 측정 값을 선택한다.


예측 분석의 세 번째 단계에서, 알수없는 값에 가장 가까운 예측 변수의 측정 값을 추정 할 수 있다. 

통계에서 이것을 "가장 가까운 이웃" 이라고 부른다.


표시된  영향을 미치는 변수의 값에 가까운 수평값을 찾으면 두개의 포인트가 선택된다. 영향을 미치는 변수의 값으로 표시된 42를 기준으로 

좌측의 값은 졸업율이 54.44%이고 우측의 값은 36.22% 이다.






(7/8) 4 단계 : 예측 변수의 선정 값에 대한 평균값을 계산한다. 


예측 분석의 네 번째 단계에서는 3 단계에서 얻어진 예측 변수의 값의 평균을 계산하여  미지의 값 추정치를 산출한다.

아래의 예에서는 예측 변수의 알 수없는 값으로 45.33의 예상 값을 얻기 위해 54.44와 36.22의 평균을 계산하였다.




(8/8) 숫자가 아닌 영향을 미치는 변수값 예측 


숫자가 아닌 영향을 미치는 변수값은 어떻게 구할까?

예를 들어, 학교 지구 6 고등학교를 만들 수있는 건물을 리노베이션 공사를 고려하고 있다고 가정한다. 가을에 공사를 하려고 고려하고 있는데 이것이 졸업율에 영향을 미칠까?

그렇다면 졸업비율의 추정치는 얼마일까?


여기에서 영향을 미치는 변수는 리모델링을 하는 계절이고 범주변수값은 가을과 겨울이다.


Grad % and Season of Remodel

SchoolGrad. %Season of Remodel
HS 148.11Fall
HS 236.22Winter
HS 389.33Fall
HS 454.44Fall
HS 529.55Winter
HS 6??Fall


이 값이 숫자가 아니기 때문에, 그것은 산점도를 사용하는 것은  의미가 없다.
대신, 요약  또는 영향을 미치는 변수에 대한 성능 변수의 막대 그래프를 만들 수 있다.
아래의 표는 리모델링의 범주 형 변수의 계절에대한  졸업율 요약을 보여준다.

Average Grad % per Season of Remodel

Season of RemodelAVG. Grad. %
Fall63.96
Winter32.88



가을에 리모델린 한 경우 평균 졸업율은 63.96이다. 이 값을 HS6 리모델링 의 졸업율을 추정하는데 사용할 수 있다.
하지만 이분석에서 얻어진 수는 HS6의 졸업율 추정은 Student/Teacher 변수를 사용한 졸업율 추정과 상당히 다르다. 

이유는, 첫번재 몇가지 데이터 포인트만 있기 때문에 예측이 정확하지 않을 수 있다는 것과 두번째 Student/Teacher가 리모델링 시즌으로 예측한 졸업율 보다 더 정확할 수 있다는 것이다.




지리공간 분석과 패턴 찾기



(1/4) 학습 목표 


데이터에 지리적 패턴을 찾기위한 강력한 방법은 지도를 생성하는 것이다. 

이 과정을 통해 

테이블의 위치 데이터를 지도에 표시할 수 있다. 

시각적 특성을 조절하는 지도의 스타일을 설정할 수 있다. 

숫자형, 비숫자형 모든 데이터로 부터 공간 분석을 할 수 있다.






(2/4) 맵 생성


데이터는 종종  국가별 인구, 국가소득, 지역별 생물종과 같은 공간특성을 가진다. 

이런 정보 데이터를 표현하는 가장 일반적인 방법이 지도를 사용하는 것이다.  가장 간단한 접근방식은 데이터 테이블에 있는 위치 정보에 대응하는 위치를 지도위에 표시하는 것이다. 

퓨젼테이블은 시, 도, 우편번호, 위도/경도 와 같은 다양한 종류의 위치 정보를 처리할 수 있다.


> 지도 생성

로그인 하지 않았다면 퓨전테이블의 오른쪽 코너 상단에 있는 [Sign In] 버큰을 클릭하여 로그인한다.

Sign In in the top right corner of the Fusion Table.

1. 빨간색 [+]을 클릭하여 "Add map"을 클릭한다.


Click the red plus to create a map

2. 퓨젼테이블은 자동적으로 컬럼에서 위도/경도 정보를 감지하여 지도를 생성한다.

3. Goole Maps-style 제어를 사용하여 줌인,아웃 할 수 있다. 


Fusion tables maps with Google Maps style controls.

4. 하나의 아이콘을 클릭하면 해당 레코드에 대한 데이터를 볼수 있다. 이렇게 팝업으로 뜨는 창을 Info Window 라고 부른다

info window

5. 퓨전테이블은 여러 다른 형태의 아이콘을 제공한다. 왼쪽 메뉴의 "Change feature styles"을 클릭하여 아이콘 모양을 변경할 수 있다. 

 

Change feature style button.

6. 드랍-다운 메뉴에서 지도에 표시될 마크의 색상을 변경할 수 있다.

Fusion tables maps with Google Maps style controls.





(3/4) HeatMaps 을 이용한  공간 분석 

 

히트 맵은 지도에 숫자 데이터를 시각화하기위한 일반적인 방법이다.

히트 맵은 값의 범위를 전달하기 위해 색상 변화를 사용하는데  녹색은 작은값, 황색이 중간 값, 적색은  큰 값으로 사용된다.

다음은 나비 샘플 테이블을 히트 맵으로  작성하는 방법에 대한 설명이다.


1. map탭에서 [+]을 클릭하여 새로운 맵을 추가한다.


Add a map by clicking the red plus

2.맵 구성 패널이 왼쪽에 보이지 않으면 Tools>Change map 메뉴를 클릭한다.


3. map의 왼쪽에 있는 아이템에서 Heatmap을 클릭한다. 


Click on the heatmap menu

4. 히트 맵에서 히트 맵의 Weight를  wingspan (mm)으로 설정한다.

반경 슬라이더는 픽셀에 영향을 반경을 설정한다.

Opacity 슬라이더 컨트롤은 히트 맵의 투명도를 설정한다.


set weight to wingspan(mm).

5. astraptes 나비 테이블에서 날개길이를 기준으로 분포도를 보여준다.



heat map





(4/4) 버킷을 이용한 공간 분석 

퓨전 테이블로 시각화하는 또 다른 방법은 그라데이션 마커를 사용하는 것이다. 
이러한 마커는 버킷으로 분리 된 값의 범위를 표시하기 위해 다른 색을 사용한다. 
Heapmap은 연속적으로 변경되는 변수의 값을 가시화 하기에 적절하다. 
burkets은 값의 범위가 함께 그룹화된 패턴을 찾기에 적절하다.

> Burkets 생성

1. Change feature styles… 을 클릭한다.

click on Change feature styles in the left menu.

2. [buckets] 탭을 클릭한다.

3. buckets의 갯수를 입력한다..

4.  [Save] 버튼을 클릭한다.


퓨젼 테이블은 자동적으로 버킷 값의 범위를 계산한다.

change the number of buckets in the bucket tab.

5. 나비테이블의 날개길이를 4개의 버킷으로 구분하여 지도에 표시하였다. 


map with buckets





분석결과 공유




(1/5)  학습 목표 


이 단원에서는 퓨전 테이블에있는 데이터, 차트, 요약을 공유하는 방법을 설명한다. 

이 과정을 통해 

분석을 설명하는 시각화를 선택할 수 있다.

시각화의 효과를 평가할 수 있다.

데이터의 일부만을 공유 할 수있는 뷰를 생성할 수 있다.

테이블이나 공유할 데이터의 뷰의 위치를 알려줄 수 있다.








(2/5) 분석을 설명하기 위한 형식 선택


공식, 요약, 차트, 필터를 사용하여 데이터를 조작할 수 있었다. 이제 질문에 대한 답변으로 의사 소통을 할 준비가 된것이다. 

상대에 따라 원시데이터 테이블의 부분을 뷰를 공유하거나, 주요 연구 결과를 설명하기 위해 차트를 생성하거나  결과를 전달하기 위해 요약을 표시하는 뷰를 공유할 수 있다.


> Views

하나의 데이터라 하더라도 각각 다른 관심을 가지고 데이터를 분석하기를 원하며, 이런 각각의 상대에게  각기 다른  뷰(테이블의 하위집합)을 생성하여 제공할 수 있다.


> Charts 

방대한 양의 데이터 부터 중요한 부분을 강도할 수 있고, 주요 동향및 연구 결과를 설명하기 쉽다.


> Summaries

고객의 관심사항에 대해 귑게 평균, 합계을 표시할 수 있다.





(3/5) 시각화 효과에 대한 평가


시각적으로 표현하고자 하는 이야기가 잘 전달되었는지 평가 하기 위해 고려해야할 몇가지 중요한 요소는 다음과 같다.

시각화된 차트 또는 테이블에  제목이 있는가?

변수 레이블을 포함하고 있나? 

축이 표시되어 있는가? 

단위가 분명한가? 

색상은 시각적 기능을 강화하거나, 감소시키고 있는가?


다음 예제 시각화는 이전 과정을 기준으로 작성되었다. 독자들을 대상으로 온라인 교육 분야에 대한 리서치 결과이다.  학생이 준 등급과 TA가 준 등급과의 상관관계를 설명할 수 있는 가장 최적의 시각화는 어느것 인가?


> 시각화에 대한 비교와 대조

art AChart A
Chart BChart B
Chart CChart C



차트C 가 가장 좋은 시각화이다. 위에서 설명한 평가 요소가 잘 적용되었으며, 학생이 준 점수와 조교가 준 점수가 잘 정돈 되어 있어 결과에 대한 설명이 쉽다.


비주얼 커뮤니케이션을 향상시키는 데 도움을 줄 수있는 많은 자료들을 참조할 수 있다.  





(4/5) View 생성


뷰는 퓨젼테이블의 컬럼들의부분 집합으로 구성된다.

여러 그룹에서 사용해야 하는 큰 테이블이 있다고 가정하자. 각 그룹은 각자 몇개의 컬럼에만 관심을 가지고 있다.  이런 경우 각 그룹을 위해 분리된 뷰를 만들어서 사용한다.

이 경우 원본 테이블의 변경에 대한 각각의 뷰에 반영되므로 추가적인 작업이 요구되지 않는다.


1. [File]을 선택한다.

2. [Create view.]를 클릭한다.

  

Click on file and select create a view.

3. 뷰에 포함 시키고자하는 컬럼을 선택한다. 


4. [Create] 버튼을 클릭한다.

Select all the columns to be included in the view.

5. [View Table]을 클릭한다.

Window for view table.






(5/5) 테이블이나 뷰를 공유하기 위한 포인트.


공유하기 위한 테이블이나 뷰를 생성하면, 다른 사람들이 해당 정보를 탐색할 수 있도록  테이블에 대한 링크나 URL을 전송할 수 있다.


1. 메뉴에서 [Tools]를 선택한다.


2.[Publish...]을 클릭한다.


Click on tools and then publish.

3."Change visibility" 설정이 표시되면,



4. 링크 정보를 복사해서 메일에 붙여넣는다.


5. 웹사이트의 HTML로 표시될 수 있도록 만들어진 코드를 복사해서 붙여 넣는다. 


Change visibility settings and copy and paste the desired link.