top of page
  • 작성자 사진JC.kim

[JMP] 데이터 전처리 (Summary, Join 기능 활용)


오늘은 JMP프로그램을 이용하여, 마케팅 데이터를 이용한 데이터 전처리 과정에 대해 알아보자. 해당 게시글은 JMP 11버젼을 이용해 작성한 내용이다. JMP 13버젼이나 14버젼은 메뉴형태나 위치가 다를 수 있으니 유의해서 사용해야 한다.

먼저 우리가 사용할 데이터는, 매장에서 실제 이용된 적이 있는 데이터를 풀이를 위해 간단하게 처리한 판매데이터이다. 이 데이터는 회원정보가 있는 파일과 회원들이 제품을 구매한 정보가 담긴 파일이 존재한다.

판매정보데이터

판매정보 데이터의 경우 회원 한명이 물건을 살때마다 데이터를 저장하였다. 공급일자는 회원이 물품을 구매한 일자 인데, 이 파일의 경우 3월까지 데이터가 존재한다. 데이터는 약 14만개 정도 되는 많은 량의 데이터이며, 변수는 15개 정도가 있다. 주차(week)는 매 주마다 판매량을 계산하기 위해 따로 만들었다.

고객정보데이터

고객정보데이터의 경우 주소, 생년, 연령, 성별 변수가 존재하며, 8천여명의 고객정보가 들어있다. 그럼 이제 이 두개의 데이터를 어떻게 합쳐야 할까? 판매데이터의 경우 량이 너무 많아 데이터 분석에 유의하지 않다. 그럼 먼저 판매데이터를 이용해, 고객의 구매정보를 간략하게 줄여보자.




Summary를 이용한 데이터 요약하기

먼저 판매데이터를 고객정보 기준으로 축소 시켜보자. 탐색창에 [Tables]-[summary]을 누른 뒤 아래와 같이 값을 설정하여 확인 버튼('Ok')을 누른다.

그럼 아래와 같이 데이터가 아래와 같이 정리됨을 볼 수있다. 14만개의 판매데이터가 고객정보데이터의 고객정보 수 만큼 정리가 됨을 볼 수 있다. 이 데이터는 각 고객마다 구매금액의 총량, 총 방문횟수, 반품할 확률을 확인할 수 있다.

그럼 이 데이터를 이용해, 일주일에 한명의 고객이 얼마나 방문했는지, 한번 방문할때, 얼만큼 구매했는지 구해보자. 먼저 이 데이터는 13주가량의 데이터가 모여있으므로, N caregories(공급일자)의 데이터 (이 데이터는 고객이 13주 동안 총 방문한 횟수와 동일하다.) 를 13주로 나눠 줄 것이다.


1. 'N categories(공급일자)' 변수이름을 '총 방문일'로 바꾼다.

2. 새로운 Columns (변수)가 들어갈 공간을 추가한다.

3. Formula를 이용하여 '총 방문일'을 13주차로 나눈다.


1. 변수 명 바꾸기

이름을 바꾸고 싶은 변수에 마우스커서를 가져다 놓고 오른쪽 버튼을 눌러 화면처럼 Columns info.. 버튼을 누른다. 이후 아래와 같이 변수 명을 바꿔준다.


2. Column 추가하기

그리고 이름을 바꾼 변수를 클릭해 놓은 상태에서 [Cols]-[Add Multiple Columns..]를 누른다.

그리고 추가할 변수의 이름을 기입한 뒤 'OK'


3. 주당 방문횟수 계산하기

그리고 다시 새로만들어진 변수명을 클릭한뒤, 마우스 오른쪽 버튼을 눌러 [Column Properties]-[Formula]를 눌러 총 방문일을 13으로 나눠 준다. (Formula는 Column info 메뉴에서도 들어갈 수 있다.)


이렇게 입력하고, Apply 버튼을 눌러보자. 그럼 아래와 같이 소수점 까지 계산된 결과가 나왔을 것이다.

이 소수점을 정리해 주기위해 변수명 '주당방문횟수'을 선택한 뒤, 마우스오른쪽버튼을 누르고 [Column info..] 메뉴에 들어가 아래 [Format] 칸을 눌러 [Fixed Dec]를 선택한다. 이 기능은 수를 몇자리 수까지 출력할지 정할 수 있는 기능이다.

Width를 12, Dec를 2로 기입하여 Apply를 누르면, 난잡했던 데이터가 위의 그림과 같이 정리되었다. 이로써 우리는 summary기능을 이용해 데이터를 압축하고, 하나의 변수를 우리가 분석하기 쉽게 다듬는 과정을 진행하였다. 처음 진행하는 사람들을 위해 보다 자세히 설명하였다. 하지만 아래 많은 처리과정을 너무 자세히 설명하려면, 글이 매우 길어지기 떄문에, 아래 부터는 위에서 사용한 기능들을 간략하게만 설명하면서 진행하도록 하겠다.

같은 방법으로 총구매금액을 총 방문횟수로 나누어, 한번 방문할때 고객이 얼마나 구매하는 지 알아보자. 위와 같은 방법으로 Sum (구매금액) 변수의 이름을 바꾸고, 새로운 Column을 추가해 데이터를 생성해 보자.


1. Sum(구매금액)의 이름을 '총 구매금액'으로 바꾼다

2. '총 구매금액'변수 옆에 새로운 Column을 추가한다

3. 새로 추가한 Column의 이름을 '1회 방문시 구매금액' 으로 바꾸고, Formula를 이용해 '총 구매금액'을 '총 방문횟수'로 나눈다.


이 데이터는 단위가 '원' 단위 이므로, 소숫점 아래의 수가 의미 없으므로 역시 Fixed Dec를 이용해 아래와 같이 만들어 준다.

그리고 Apply를 누르면, 소숫점이 없이 원 단위의 구매금액만 정확히 볼 수 있을 것이다.


이제 판매데이터에서 summary 기능을 이용해, 회원마다 방문횟수와 구매금액을 구해 회원데이터로 다듬었다. 이제 기존에 있던 고객정보 데이터와 한번 붙여보자. 다행이도 summary를 한 후에 데이터가 8,514개로 고객정보에 있는 데이터의 갯수와 일치한다. 아마 같은 회사에서 얻은 데이터이므로, 각 회원 번호마다 우리가 summary한 회원번호가 1:1로 매칭될 것이다. 여기서는 Join 기능을 이용하여 두개의 Table을 하나의 데이터 테이블로 합쳐보자.




Join을 이용한 데이터 합치기

먼저 고객정보데이터를 열어보자. 그리고 탐색창에 [Tables]-[Join] 버튼을 누른다.

아래와 같이 창이 뜨면, 우리가 합치고 싶은 Table을 눌러 Source Columns에 추가한다. 아까 summary를 했던 Table을 눌러준다. ('판매정보 By (고객번호))

그리고 두 테이블에 하나로 합칠 변수를 선택하여 옆에 Match 버튼을 눌러준다. 우리는 '고객 번호'라는 변수가 서로 같으므로, 두개의 변수를 선택한뒤 Match를 누르고 'OK'버튼.

그러면 아래와 같이 새로운 테이블에 본래 있던 고객정보와 우리가 Summary해서 만들었던 데이터가 하나의 파일에 정렬된 모습을 볼 수 있다.


우리는 판매데이터를 이용해 필요한 변수를 summary하여 요약해 새로운 테이블을 만들었고, 새로 만들어진 테이블에서 우리가 원하는 데이터를 formula 기능을 이용해 얻었고, 기존에 있던 고객정보 데이터화 join기능을 이용해 하나의 테이블로 만들었다.


다음엔 Tabulate 기능을 활용해 보고 Formula의 if 문을 이용해 데이터를 처리하는 법을 알아보자. JMP에 관련한 데이터 분석교육은 이노벨류파트너즈 컨설팅 기업이 전담해서 진행중이다. 빠른 통계분석과, 복잡한 코딩없이 문제를 파악하고 모델링하기에 최적화 되어있다. 매주 토요일마다 JMP를 활용한 빅데이터 분석 교육이 진행 되니, 아래의 홈페이지를 들어가 꼭 교육을 듣기를 추천한다.

대학생인 경우 저렴한 가격으로 교육을 받을 수 있으며, 현재 8월 과정도 단국대에서 진행중이다.


조회수 610회댓글 0개

최근 게시물

전체 보기

bottom of page