2.
Spotfire 시작
전 배경지식
Spotfire를 사용하기 전에 알고 있으면 좋은 사전 지식들을 먼저 공유하고자
합니다. Spotfire는 대표적인 데이터 시각화, 분석
툴이기 때문에 데이터 처리와 분석에 관련된 지식들이 필요하며, 자주 사용됩니다. 하지만 관련된 이론적인 지식이 없어도 컴퓨터를 많이 사용하거나 Excel 등을
많이 사용해본 사람들이라면 알게 모르게 경험적으로 알고 있던 것일 수 있기 때문에 크게 어렵지 않습니다.
2.1. 데이터, 데이터베이스
그리고 빅데이터
n 데이터(Data)
데이터는 근래에 들어 가장
많이 사용되는 단어입니다. 4차 산업혁명과 빅데이터(Bigdata),
딥러닝(Deep learning) 등의 우리 사회 곳곳에서 등장하고 있는 기술들과 깊은
관계를 가지고 있는 단어로써, 일상 생활에서도 이제는 사용하는데 어색하지 않은 일상 용어로 사용되기도
합니다. 이처럼 사용 범주가 늘어나는 한편, 최근에 데이터는 '추론과 추정의 근거를 이루는 사실'로 의미가 확장되고 있습니다. 기존에는 단순한 사실을 뜻하는 용어로 사용 되었지만, 현재는 뜻이
확장되어 다른 객체와의 상호관계 가치가 더해진 의미로 확장 되었습니다.
한편, 데이터는 유사한 의미를 가지는 단어들과 DIKW 피라미드 관계를
가집니다. 각각 데이터(Data), 정보(Information), 지식(Knowledge), 지혜(Wisdom)를 의미합니다. 데이터는 객관적 사실, 정보는 관계성이 도출된 사실과 관계, 지식은 의미가 내재화 되어
사용 가능한 사실과 관계, 그리고 지혜는 지식의 축적과 동시에 새로운 아이디어가 가미된 창의적 산출로
정의 할 수 있습니다.
n 데이터베이스(DB; Data Base)
흔히 DB라고 많이 부르는 데이터베이스는, 데이터(Data)와 기지(Base)가 합성된 단어로 데이터들을 모아두는 축적
장소의 의미입니다. 또한 데이터베이스를 저장, 관리, 로드 등의 전반적인 관리 및 연결 기능을 하는 시스템을 데이터베이스 관리시스템(DBMS; Data Base Management System)라고 합니다. 컴퓨터에
관심 많은 사람들이 한번쯤은 들어봤을 오라클 DBMS, mySQL 등은 회사에서 개발한 DB 및 DBMS 제품 이름들입니다.
최근 많은 기업들이 디지털 전환(Digital Transform)을 하면서 DBMS를 필수적으로 구성하고 여러 분야로 확대하는 일들을 많이 하고 있습니다.
n 빅데이터(Big-data)
빅데이터는 정보통신 시대와
맞물려 4차 산업혁명에서 하나의 큰 축을 담당합니다. 기본적으로
빅데이터라는 이름에서 연상되듯이 크고 많은 데이터를 뜻하지만, 단순히 크기만 큰 데이터를 말하지 않습니다. 빅데이터는 데이터가 크기나 범위가 확장됨으로써 생기는 문제들을 해결할 수 있는 기술들의 집합을 포함합니다. 데이터가 커짐에 따라 물리적인 DB가 커져야 하며, 이를 나누어 저장하고 관리하고 호출할 수 있는 분산 시스템이 필요합니다. 또한, 많은 데이터 처리에 필요한 병렬 컴퓨팅이나 비정형 데이터인 이미지, 언어
등을 분석 가능하도록 변경하는 데이터 처리 기술 등의 많은 기술을 아우르는 단어입니다.
2.2. 데이터 분류와 형식
데이터는 다양한 방법으로
분류될 수 있습니다. 많이 사용하는 분류는 정량적 데이터와 정성적 데이터로 분류하는 것 입니다. 정량적 데이터는 수치, 기호, 도형
등으로 표현되어 활용성이 높고 사용을 위한 전환 비용이 낮은 데이터를 뜻 합니다. 반대로 정성적 데이터는
언어, 문자 등 사용을 위한 전환 비용이 상대적으로 높은 데이터를 의미합니다. 이와 비슷한 분류로 정형 데이터, 비정형 데이터로 나누기도 합니다.
또한 데이터 처리에서 많이
사용되는 분류는 데이터의 연속성과 비교 가능성을 기준으로 분류하는 것입니다. 이를 기준으로 데이터는
크게 범주형과 수치형으로 나뉘고, 이는 명목형, 순서형, 불연속, 연속으로 세분화 됩니다.
이 분류는 데이터의 특징을 잘 보여주며, 데이터 형식 분류에도 사용되기 때문에 알아두는
것이 좋습니다.
n 명목형 데이터(Nomial data)
순서가 없는 범주형 데이터를
뜻 합니다. 예를 들면, 성별(남자, 여자), 색(검정, 빨강, 파랑, 노랑...), 또는 국가(한국, 미국, 중국, 영국...) 등이 있습니다. 불연속 하며 비교할 수 없는 것(크기나 순서가 없음)이 특징입니다.
n 순서형 데이터(Ordinal data)
순서가 있는 범주형 데이터를
뜻 합니다. 예를 들면, 크기(대, 중, 소), 호불호(좋음, 보통, 나쁨) 또는 알파벳(a, b,
c, d...) 등이 있습니다. 불연속하지만 비교할 수 있는(크기나 순서가 있음) 것이 특징입니다. 이 데이터들은 종종 숫자로 치환하여 불연속 데이터처럼 사용하는 경우가 있습니다. 이는 크기와 순서를 비교할 수 있는 데이터의 특징을 활용하기 위함입니다.
n 불연속 데이터(Discrete data)
연속하지 않은 수치형 데이터를
뜻합니다. 예를 들면, 정수(1,2,3...)나 (1,0,-1) 등도 많이 사용합니다. 불연속하지만 비교할 수 있으며, 순서형 데이터와 특징이 같기 때문에
서로 치환하여 사용할 수 있습니다. 분류(Classification)
문제에서는 불연속 데이터(숫자1,2,3,4...)를
순서형 데이터(문자1,2,3,4...)로 치환해서 사용하기도
합니다.
n 연속 데이터(Continuous data)
연속되는 수치형 데이터를
뜻합니다. 예를 들면, 실수(real) 집합이나 구간[0:1]과 같은 것들이 해당됩니다. 연속하고 비교할 수 있는 특징이 있습니다.
컴퓨터에서 데이터를 다룰
때 데이터뿐만 아니라 많은 경우 데이터 형식도 같이 요구합니다. 숫자 1+1의 결과(연산가능, 2)와
문자1+1의 결과(연산불가,
1+1)가 다른 것처럼, 데이터 형식을 통해 데이터 간의 연산과 비교를 결정할 수 있기
때문입니다. 프로그램마다 분류하는 데이터 형식은 조금씩 다르며,
spotfire에서는 문자열(string), 정수(integer),
실수(real), 날짜(date), 참거짓(boolean) 등으로 데이터 형식을 나눕니다. spotifre에서
데이터를 불러오거나 처리 시에는 반드시 데이터 형식을 동반하여 불러오거나 처리가 됩니다. 따라서 데이터
로드 및 처리 시에 항상 데이터 형식을 고려하며 과정을 진행해야 합니다.
2.3. 데이터 테이블 구조
데이터 저장 방식 중에 널리
쓰이는 방법은 데이터 테이블(Data table) 형태로 저장하는 것 입니다. 단순히 일반적인 표(Table) 라고 볼 수 있지만, 데이터 분석, 처리를 목적으로 사용하는 표를 데이터 테이블이라고
합니다. 아래 그림은 데이터 테이블과 하위 구성 요소들을 나타낸 그림 입니다.
데이터 테이블과 컬럼, 로우 번호, 로우, 컬럼
이름
n 데이터 테이블
데이터 테이블(Data table)을 로우(Row, 행)와 컬럼(Column, 열)로
이루어진 데이터 세트를 의미합니다. 많은 경우 첫 번째 로우 위치에는 컬럼 이름(Column name)을 표시하고, 첫 번째 컬럼 위치에는 로우 번호(Row index)를 표시합니다. 일반적으로 컬럼 이름과 로우 번호는
로우와 컬럼의 개수에는 포함시키지 않습니다. 즉, 컬럼 이름과
로우 번호는 로우와 컬럼의 첫 번째 자리에 위치하지만 별개의 구조 입니다.
n 컬럼
컬럼은 열(Column), 필드(Field) 라고도 부르며 가장 작은 논리적
단위 입니다. 논리의 단위라는 이유는 컬럼 1개가 하나의
논리 또는 차원을 표현하기 때문입니다. 예를 들면 그림에서는 Sector이라는
컬럼은 IT, Financials, Consumer staple, 그리고 Industrials 등의 산업 분류들을 총칭하는 논리 또는 차원입니다.
Sector라는 컬럼 이름으로 묶어 향후 정보의 단위로 활용될 수 있기 때문에 컬럼을 가장 작은 논리적 단위로 봅니다. 가장 작은 단위라는 뜻은 이후의 계산이나 변환, 수정 등 모든 작업의
단위는 컬럼 단위로 진행된다는 것입니다. 그림에서는 세로 선으로 묶인 하나의 컬럼이 있고, 데이터 테이블 내에 총 6개의 컬럼(Ticker, Sector, Listing date, 2019Y, 2020Y, 2021Y)이 있습니다.
n 로우
한편, 로우는 행(Row), 레코드(Record)
라고도 부르며 정보의 단위가 됩니다. 정보의 단위라는 뜻은 하나의 로우가 하나의 데이텀(Datum; data의 단수 표현)을 의미한다는 것 입니다. 따라서 데이터를 처리하거나 편집할 때는 로우 개수 변화를 관찰하여 의도대로 처리되는지 확인해야 합니다. 그림에서는 가로 선으로 묶어 하나의 로우를 표시하였으며, 로우 번호는 0 ~ 10 까지 총 11개의 로우가 있습니다.
n 컬럼 이름
컬럼 이름(Column name)에서는 각 컬럼의 명칭을 보여줍니다. 컬럼이
차원을 의미한다면 컬럼 이름의 차원의 이름을 뜻합니다. 로우 번호와 같이 컬럼 이름 대신 컬럼 번호로
컬럼을 대표할 수도 있지만 컬럼 이름을 사용하는 것이 일반적입니다. 또한 컬럼 이름은 중복하여 쓸 수
없습니다.
n 로우 번호
로우 번호(Row index)는 정보를 구별해 줍니다. 하지만 로우 번호가 다르다고
해서 반드시 정보가 다른 것은 아닙니다. 로우 번호는 다르지만 동일한 데이터를 가진 경우가 있으며, 이 때 데이터가 중복되었다고 합니다. 많은 프로그램에서 보통 데이터
테이블에는 로우 번호가 표시되지 않는 경우가 많습니다. 대부분 프로그램 내에서 보이지는 않지만 시스템
내에서 로우 번호를 부여해 사용합니다.
2.4. Spotfire와 Excel 비교
우리가 흔히 사용하는 테이블
구조는 셀(Cell) 단위의 테이블입니다. 이것은 Excel에서 많이 사용되는 구조이기 때문에 많은 사람들이 테이블을 셀 단위 테이블을 많이 떠올립니다. 특히 Excel은 데이터 테이블 모습과 더불어 그래프와 차트 역시
제공하기 때문에, 이를 이용해 본 사람이라면 더욱 셀 단위 테이블에 익숙할 것 입니다. 하지만 Spotfire를 비롯한 큰 데이터를 저장하는 DB들은 다른 구조로 데이터 테이블을 저장합니다. 이번에는 둘의 비교를
통해 Spotfire의 데이터 테이블이 어떠한 데이터 구조를 가지고 있는지 파악해 보겠습니다.
Spotfire와 Excel의 데이터
구조 비교
두 데이터 테이블은 모두
Ticker와 Sector 컬럼은 동일하지만, Spotfire의 경우 Year와 EPS가 각각 컬럼으로 배치되었고 로우 개수가 많습니다. 반면 Excel은 Year 컬럼 대신 구체적인 2019Y, 2020Y, 2021Y 컬럼을 가지며 셀에 EPS 값이
부여되어 있습니다. 하지만 중요한 것은 서로 달라 보이지만 Spotfire
구조의 정보과 Excel 구조의 정보는 완벽히 일치한다는 것입니다. 즉 동일한 데이터 테이블에서 Spotfire와 Excel는 위와 같이 데이터 구조만 다른 것 입니다. 이 차이는 논리의
단위가 Spotfire에서는 컬럼인 반면 Excel에서는
셀이기 때문입니다. Spotfire에서는 덧셈, 뺄셈을 포함한
모든 연산이나 차트의 축 설정, 새로운 데이터 처리가 컬럼 단위로 발생하는 반면 Excel은 셀 단위로 데이터를 입력, 가공, 그리고 분석합니다.
Spotfire와 Excel 차이
설명
좀 더 정확하게 설명하면, Spotfire에서는 로우 하나를 데이터 하나로 보고 나열한 데이터 테이블입니다. 하지만 Excel의 방식은 좌표 평면처럼 셀 하나를 데이터 하나로
보고 배열한 데이터 테이블 입니다. 기존 Excel에 익숙한
유저나 2차원 좌표 평면에 익숙한 사람들은 Excel 데이터
구조가 직관적으로 이해하기 쉽지만, 2차원이 아닌 그 이상 차원 혹은 3개 이상의 컬럼으로 구성된 데이터 테이블의 경우 Excel로 좌표
평면처럼 표현하기 어렵습니다. 따라서 큰 데이터를 다루는 프로그램들에서는 Spotfire의 데이터 테이블 구조로 관리하고 처리합니다.
0 댓글