본문 바로가기

현대로템의 빅데이터 전처리 기술

현대로템은 빅데이터를 접목해 열차 상태 기반 유지보수(CBM) 시스템을 고도화 하는 동시에 빅데이터를 활용을 위해 반드시 필요한 데이터 전처리 기술 역량도 강화하고 있다.

현대로템은 상태 기반 유지보수(Condition Based Maintenance, CBM) 시스템의 일환으로 철도차량에서 수집되는 다양한 데이터를 활용해 열차 및 부품의 실시간 진단 및 고장을 예지하기 위한 실시간 진단 모니터링 플랫폼과 빅데이터 분석 플랫폼을 개발하고 있다. 또한 빅데이터 분석 기술을 바탕으로 실시간 진단 모니터링 플랫폼을 고도화하는 한편, 수소전기트램과 수소충전설비의 운영 및 고장 데이터를 활용해 수소 통합 관제 시스템을 위한 디지털 트윈 기술도 준비하고 있다.

이러한 기술을 위해 필요한 다양하고 엄청난 양의 데이터를 빅테이터라 일컫는데, 빅데이터를 사용자가 원하는 방향으로 활용하기 위해서는 불필요한 데이터를 걸러내고 정리하는 데이터 전처리 과정을 반드시 거쳐야 한다. 세계적인 경제지 포브스(Forbes)에 따르면 빅데이터 분석 과정 중에서 분석가들이 가장 많은 시간과 노력을 투입하는 작업이 바로 데이터 전처리 과정이며, 전체 분석 시간 가운데 무려 60%를 데이터를 정제하고 정리하는데 사용한다고 한다. 현대로템이 데이터 전처리 기술에 주목하는 이유도 바로 이 때문이다.

빅데이터, 미래 경쟁력을 좌우하는 정보 자산

데이터 전처리에 대해 알아보기에 앞서 빅데이터에 대한 이해가 필요하다. 빅데이터는 디지털 환경에서 실시간으로 생성되는 엄청난 양의 데이터로, 시간이 흐를 수록 기하급수적으로 늘어나며 숫자와 문자로 된 정보는 물론 사진, 영상 등 비정형 데이터도 빅데이터에 포함된다. 초기에는 이른바 3V라고 부르는 양(Volume), 데이터 속도(Velocity), 형태의 다양성(Variety)만을 빅데이터의 속성으로 꼽았는데, IoT 센서 및 ICT 기술이 발달하면서 정확성(Veracity), 가변성(Variability), 시각화(Visualization), 가치(Value)도 빅데이터의 조건에 추가됐다.

방대한 규모의 데이터 자원은 다양한 비즈니스에 활용할 수 있다. 마케팅부터 수요 예측에 따른 제품 생산, 그리고 소비 성향 분석 기반의 서비스 제공 등 빅데이터 분석을 통해 여러 분야에서 유용한 가치를 도출해낸다. 글로벌 컨설팅 업체 맥킨지(Mckinsey)는 빅데이터를 통해 고객의 행동을 미리 예측해 대응 방안을 마련하고, 기업의 경쟁력을 높여 생산성 향상은 물론, 비즈니스 혁신까지도 가능한 것으로 예측한다. 이처럼 빅데이터는 단순 자원을 넘어 기업의 미래 경쟁력과 생존에까지 영향을 미치는 정보 자산의 핵심이다.

데이터 전처리, 빅데이터를 유용한 정보로 변환하는 일련의 모든 작업

수집된 빅데이터를 유용하게 사용하려면 방대한 양의 원시 데이터를 분석 목적과 방법에 맞는 형태로 만들어야 한다. 이를 위해 불필요한 정보를 분리하고 가공한 뒤 제거하는 과정을 거치며, 이러한 일련의 과정을 데이터 전처리라고 한다. 이를 위해 수집된 데이터를 사용 목적에 맞게 효과적으로 가공해야 하며, 데이터가 갖고 있는 본래의 정보를 왜곡시키거나 변형시키지 않도록 다음과 같은 전처리 방법들을 사용한다.

·데이터 정제(Cleansing) : 데이터에서 누락된 결측값을 보완하고 튀는 값을 이상값으로 제거해 데이터를 깨끗하게 만드는 기술
·데이터 변환(Transformation) : 데이터 분석을 보다 쉽게 하기 위해 데이터를 변환해 일관성을 확보하고 데이터의 중복을 최소화해 데이터 분석 시간을 절약하는 기술
·데이터 필터링(Filtering) : 데이터의 오류를 발견하고 삭제 및 보정을 통해 데이터의 품질 향상시키는 기술
·데이터 통합(Integration) : 데이터 분석을 수월하게 하기 위해 유사한 성질의 데이터를 연계하는 등 데이터를 통합하는 기술
·데이터 축소(Reduction) : 데이터 분석 시간을 단축하기 위해 해당 분석에 사용되지 않는 데이터를 분석 대상에서 제외시키는 기술

데이터 전처리는 데이터를 정제, 가공, 변환 등의 작업을 통해 모델링에 필요한 변수로 만드는 과정이다

그렇다면 실제로 수집된 빅데이터를 효율적이고 신뢰성 높게 분석하기 위해 반드시 필요한 데이터 전처리는 어떤 절차와 방법으로 진행될까? 데이터 전처리는 수집된 데이터 세트의 확인, 데이터 분석 결과에 영향을 줄 수 있는 결측값과 이상값 처리, 실제 분석에 사용되는 변수의 분석이 용이하도록 유용한 정보를 추가하기 위한 변수 가공 순으로 진행된다.

데이터 전처리 1단계, 데이터 세트(Set) 확인

데이터 전처리는 데이터 세트 확인, 결측값 처리, 이상값 처리, 변수 가공 등 총 4단계를 통해 데이터로부터 정보를 파악해 문제 해결에 필요한 것을 분석하는 과정이다. 첫번째 데이터 세트 확인 작업은 데이터를 파악하는 작업이며, 데이터의 변수를 확인하는 방법원시 데이터를 확인하는 방법으로 구분할 수 있다.

1) 데이터 변수 확인
분석하고자 하는 변수 즉, 지속적으로 변화하는 데이터 변수를 확인하는 방법은 아래와 같이 3가지다.

·변수 정의 확인 : 독립변수(원인)와 종속변수(결과)에 대한 구분
·변수 유형 확인 : 질적·범주형과 양적·수치형으로 구분, 양적·수치형 데이터 중 트랜드가 보이면 연속형, 트렌드가 없다면 이산형으로 구분
·변수 데이터 형식 확인: 날짜, 수치, 텍스트, 이미지 등의 구분

열차의 출입문의 데이터를 예로 들어 설명하면 다음과 같다.

·출입문 변수 정의 : 닫히는 동작 시간을 종속변수, 장애물 검지를 독립변수로 구분
·출입문 변수 유형 : 열차의 종류와 호선이 질적·범주형 변수이며, 출입문이 닫히는 동작 시간과 장애물 검지 횟수를 양적·수치형 변수로 구분
·출입문 변수 중, 닫히는 동작 시간이 증가하거나 감소하는 트렌드를 보이면 연속형 변수, 장애물 검지 횟수와 같이 별도의 트렌드 없이 이벤트의 횟수로만 표현되는 것은 이산형 변수로 구분

열차의 운행뿐만 아니라 문의 개폐 여부와 상태 등도 데이터로 축적된다

2) 원시(RAW) 데이터 확인
데이터 정의가 끝났으면 데이터 분석 방법을 확인하기 위해 원시 데이터를 들여다봐야 한다. 이러한 원시 데이터를 확인하는 방법은 다음과 같이 3가지로 구분할 수 있다.

·단변수 분석
·이변수 분석
·다변수 분석

단변수 분석은 원시 데이터의 평균값, 최빈값, 중간값 등 변수들의 분포를 산포도, 박스 플롯, 히스토그램 등의 그래프를 통해 단변수, 즉 하나의 데이터 분포를 확인해 분석할 수 있는 방법이다.

이변수 분석 방법은 두 개의 데이터 분포를 확인하기 위해 사용하며, 각 변수의 유형에 따라 사용되는 그래프와 분석 방법이 달라질 수 있다. 두 개의 변수가 모두 연속형 변수인지 범주형 변수인지, 아니면 하나의 변수는 연속형이고 다른 하나는 범주형인지에 따라 분석 방법은 달라진다.

이변수 분석은 다음과 같이 예를 들 수 있다.

·이변수 모두 연속형인 경우 : 승객수와 출입문의 개폐 시간은 모두 연속형 변수이며, 이 두 변수는 추세선이 있는 산포도를 활용해 상관관계를 분석할 수 있다.
·이변수 모두 범주형인 경우 : 환승역과 장애물 검지 이벤트는 모두 범주형 변수이며, 누적막대그래프를 통해 두 변수 사이의 연관성 분석이 가능하다.
·이변수가 서로 다른 유형인 경우 : 출입문의 개폐 시간이라는 연속형 변수와 환승역이라는 범주형 변수는 누적막대그래프 및 범주 별 히스토그램을 통해 두 변수로 만들어진 환승역별 출입문 개폐 시간 정보를 활용해 모든 정차역의 개폐 시간을 분석해 환승역과의 유의성 여부를 분석할 수 있다.

데이터 전처리 2단계, 결측값 처리(Missing value treatment)

데이터를 수집하고 입력하는 과정에서 당연히 누락되는 값이 생기는데, 이를 결측값이라고 한다. 변수의 결측값이 있는 상태로 데이터 분석 모델을 만들면 변수간의 관계가 왜곡될 수 있어 모델의 정확성이 떨어지게 되고, 이는 데이터의 시각적 표현에도 문제를 일으킨다. 결측값이 발생하는 유형은 다양한데, 이러한 결측값이 무작위인지 또는 다른 변수와의 관계가 있는지에 따라 결측값을 처리하는 방법도 달라진다. 이같은 이유로 결측값을 처리하는 방법은 크게 삭제, 대체, 삽입으로 나뉘며 각 방법 또한 경우에 따라 처리 방법이 조금씩 달라진다.

서울 지하철 고장 발생 데이터 예시

우선, 삭제는 결측값이 발생한 모든 변수(데이터)를 삭제하는 방법과 데이터 분석에 사용되는 변수들에서 부분적으로 발생한 결측값을 삭제하는 방법이 있다. 결측값 처리를 위한 전체 삭제 방법은 간편한 반면 분석에 사용되는 데이터 수가 줄어들어 분석 결과의 신뢰도가 낮아진다. 부분 삭제는 사용되는 변수가 달라 결측값 처리를 위해 소요되는 시간이 증가하는 단점이 있으며, 각 분석에 사용되는 변수들에서만 결측값을 제외해야 해서 전처리 소요 시간도 늘어난다.

다음은 원래의 변수를 사용하는 것이 아닌 다른 값으로 대체하는 방식이다. 이는 결측값이 발생한 경우 다른 변수들의 평균, 최빈값, 중간값으로 대체하는 방법이다. 모든 변수들의 평균값을 구해 일괄적으로 대체하는 일괄 대체 방법과 범주형 변수들을 활용해 유사한 유형의 평균값으로 대체하는 유사 유형 대체 방법으로 구분할 수 있다.

삽입은 측정값(관측치)을 트레이닝 데이터로 사용해서 결측값을 예측하는 모델을 만드는 방법이다. 이때는 회귀분석 방법을 주로 사용한다. 예측값을 통해 결측값을 예측하는 것은 실제 값을 기반으로 하기 때문에 대체하는 방법보다 분석 결과의 신뢰도에 미치는 영향이 적다.

데이터 전처리 3단계, 이상값 처리(Outlier treatment)

이상값은 수집된 데이터(샘플링 데이터)와 동떨어진 데이터로, 통상 아주 작은 값이나 아주 큰 값을 가리킨다. 이러한 데이터는 데이터 분석 모델을 만들 때 신뢰성을 떨어뜨리기 때문에 제거하는 것이 바람직하다.

이를 위해서는 먼저 이상값을 찾아야 하는데 쉽고 간단한 방법은 데이터가 갖고 있는 각 변수의 분포를 시각화하는 것이다. 일반적으로 하나의 변수에 대한 이상값 찾기는 히스토그램 또는 상자그림을, 두 개의 변수 간에는 산점도를 사용한다. 그래프를 통해 시각적으로 확인하는 방법은 직관적인만큼 한눈에 파악이 가능하지만 분석가의 자의적인 판단이 반영되거나 일일이 수치를 확인해야 하는 번거로움이 있다. 때문에 두 변수 사이의 이상값을 찾기 위한 방법으로 두 변수 간 회귀 방정식을 사용하기도 한다.

이상값을 발견했다면 다음과 같은 방법으로 이상값을 처리할 수 있다.

·단순 삭제
·다른 값 대체
·변수화
·리샘플링
·케이스 분리 분석

단순 삭제는 이상값이 단순 오타나 주관식 설문 등의 정량화 하기 어려운 비정형 데이터 또는 데이터 처리 과정에서의 오류 등이 해당되며, 데이터를 수집하거나 전처리하는 과정에서의 인적 오류에 의한 사례도 포함된다. 이러한 경우에는 해당 측정값(관측치)을 삭제한다.
다른 값 대체는 수집된 데이터의 양이 적어 해당 데이터 내 이상값을 삭제하면 분석하고자 하는 대상 데이터의 절대량이 작아져 분석 결과에 대한 신뢰성 문제가 발생한다. 이런 경우에는 이상값을 삭제하는 대신 평균 등 다른 값으로 바꾸거나, 다른 변수들을 사용해 결측값 처리를 삽입하는 방법과 같이 예측값을 만들어 대체한다.
변수화 방법은 인적 오류나 데이터 부족 등으로 발생한 이상값이 아닌 데이터 수집 과정에서 발생한 데이터 중에 하나인 경우, 삭제나 대체보다는 하나의 변수로 만들어 분석 및 알고리즘 모델을 생성하는 방식이다.
리샘플링은 변수화 방법과 유사하나 정상적으로 수집된 데이터에서 분석 대상만 제외하고 나머지 데이터들은 이상값으로 처리해 제외한 후 남은 데이터로만 재분석 하는 방법이다. 일례로 열차의 운행 거리와 객실 출입문의 개폐 횟수에 대한 데이터의 일반적인 사례는 운행 거리가 많은 열차일수록 객실 출입문의 개폐 횟수도 많다. 그러나 간혹 운행 거리와 상관없이 객실 출입문의 개폐 횟수가 매우 많거나 또는 매우 적은 경우가 있다. 이때는 해당 열차의 고장 여부 확인 또는 객실 출입문의 고장 수리 후 점검(개폐 시험) 등으로 데이터를 변수화 또는 리샘플링해 이상값을 처리할 수 있다.
케이스 분리 분석은 수집된 데이터의 리샘플링 후에도 데이터 분석 결과의 신뢰도가 여전히 낮은 경우 사용하는 방법이며, 이상값의 존재가 이상값의 삭제 여부와 상관없이 결과에 영향을 미치지 않는 것으로 판단하고 부연 설명을 추가해 이상값을 처리하는 방식이다.

데이터 전처리의 마지막 과정, 변수 가공(Feature Engineering)

도메인 지식과 기존의 변수를 사용해서 기존의 데이터에 정보를 추가하는 일련의 과정을 변수 가공이라고 한다. 이는 데이터 전처리의 마지막 단계로 새로운 데이터 또는 변수의 추가 없이 기존의 데이터를 보다 유용하게 만드는 방법이며, 도메인 지식 여부에 따라 변수 가공의 결과와 그 유의성이 많이 달라지기도 한다.

변수 가공은 아래와 같이 4가지 방법으로 구분할 수 있다.

·스케일링(Scaling)
·구간화(Binning)
·변환(Transform)
·더미(Dummy)

변수 가공은 새로운 데이터가 아닌 기존의 데이터를 사용해 다듬는 과정이라고 보면 된다

스케일링은 데이터의 단위를 변경하거나, 데이터의 분포가 편향돼 데이터들 간의 관계가 잘 드러나지 않는 경우에 사용한다. 일반적으로 엑셀에서 데이터의 단위 및 범위가 큰 경우에 사용하는 방법으로, 로그(Log) 함수를 가장 많이 사용하며 유사하게는 제곱근(Square root)도 있다.

구간화는 연속형(수치형) 데이터를 범주형 데이터로 만드는 방법으로, 분석하려는 영역을 고려해 데이터를 특정 구간으로 나눠 범주형 또는 순위형 데이터로 변환한다. 이는 원칙이나 규칙이 있는 것이 아니기 때문에 분석 목적과 방법 등 필요한 영역에 따라 분석가의 도메인 지식을 최대한 활용해 수행하는 것이 좋다.

구간화의 예시

변환은 기존 데이터의 특성 또는 다른 정보를 이용해 다른 데이터로 변환 및 분석하기 위한 것으로, 분석 대상 데이터의 구간화 방법과 마찬가지로 정해진 원칙이 있는 방법이 아니어서 분석가의 데이터 특성에 대한 이해도에 따라 다양한 데이터가 생성될 수 있다.

날짜 데이터를 요일 데이터로 바꾼 변환의 예시

더미는 구간화 방법과는 반대로 범주형 데이터를 연속형(수치형) 데이터로 변환하는 방법이다. 대부분의 데이터 분석 모델은 수치형 데이터로 분석이 수행되는 수학 방정식이 때문에 숫자로 변환해 가상의 데이터를 사용해야 한다. 즉, 아래의 예시처럼 3개의 노선을 분류해야 하는 경우에는 세 자릿수를 이진수로 정의해 변환하면 된다.

범주형 데이터를 연속형(수치형) 데이터로 변환한 예시
빅데이터를 분석하는 기술과 도출해낸 결과를 활용하는 능력이 기업 경쟁력을 가늠하는 척도가 될 것이다

빅데이터는 미래 산업 환경에서 빼놓을 수 없는 필수 기술이자 핵심으로 자리잡고 있다. 현대로템 또한 빅데이터 분석 시스템을 구축해 철도차량을 비롯해 실시간 진단 모니터링 플랫폼을 발전시키고, 나아가 미래 수소 도시 조성에 필요한 수소 통합 관제 시스템도 완성할 계획이다. 이처럼 현대로템은 미래를 내다보며 보다 나은 열차 운영과 유지보수 서비스를 제공하기 위해 빅데이터 분석 기술 역량을 확보하고 이를 강화하기 위한 노력을 투입하고 있다.