Stitchfix- Lumpers and Splitters- Tensions in Taxonomies

stichfix 블로그 중 Lumpers and Splitters: Tensions in Taxonomies
읽고 정리해보았습니다

데이터 과학자와 종 분류학자.
같은 학자라는것 말고는 공통점이 없을것같지만
자세히 들여다보면 둘은 비슷한 점이 많습니다.

figure1. DATA SCIENTIST vs SPECIES TAXONOMIST

데이터 과학자와 종 분류학자는 각각 거대한 고객군/개체들 을 선을 그어 작은 그룹으로 나눕니다. 개개인 수준의 풍부한 데이터가 제공되면서 데이터과학자는 클라이언트, 개인의 행동 및 제품에 대해 더 자세히 분류할 수 있게 되었습니다. 마찬가지로 유전학의 발달로 종을 식별하고 복잡한 계층 구조로 그룹화하는 생물학자의 능력도 변화하고 있습니다. 이번 글에서 lumping(병합) splitting(세분화) 전략을 살펴보고 둘 사이의 적절한 지점을 찾는것에 대해 고민해보려 합니다

To lump or to split?

비즈니스 , 데이터 케이스에서 추구하는 목적에 따라 병합, 세분화를 고려해야합니다. 더 적은 구분(선택지)은 단순해서 결정에 속도를 낼 수 있게합니다. 특별히 사람이 직접 의사결정을 해야할 경우에 있어서.

figure2. To lump or to split?

잘 구분된 분류는 우리가 다양성과 숨겨진 포인트를 이해할 수 있게합니다. 때로는 유망한 기회를 발견하기도 합니다. 예를 들면, 생태학자들은 보존대상을 선택할 때에 병합, 세분화 간의 trade off 문제에 부딪힙니다.
특정한 종을 보존하기 위해서 한정된 자원을 투자해야한다면 일정한 서식지에 거주하는 특별한 종을 구분해야합니다. 반면 보존에 대한 의사결정을 내리는건 인간이라 때로는 병합할 필요가 있습니다. 한 연구에 의하면 번식깃털을 기반으로 지구상에 18,000 마리의 조류가 있을 수 있지만 그 중 절반만이 현장에서 직접 구별이 가능하다고 합니다.(병합과 세분화의 어려움을 보여주기 위해서 든 예인것 같습니다)

Stitch Fix에서는 도매로 상품을 구입할때 고객을 묶어서 판단합니다. 이럴 때에는 lumped data(일괄 데이터)로 훈련된 알고리즘이 안내하는 아이템(작은 검은색 드레스 또는 핵심 그룹의 고객을 기쁘게하는 편안한 레깅스)을 구매합니다. 그러나 고객그룹을 더 작게 나누고 분포의 끝부분에 집중한다면 특정 사람에게 맞는 아이템(매끄러운 핀 스트라이프 재킷 또는 찢어진 청바지)을 안내할 것입니다.
overfitting의 위험이 있기에 고객을 너무 세세하게 구분해선 안되지만, 비즈니스 성장에 대해 보고할 때는 병합이 필요합니다. 고객을 더 큰 그룹으로 뭉치게하여 전체적인 비즈니스 상태를 명확하게 이해하기 위해서입니다.

Constructing a segmentation

새로운 분류를 생성할때
종 분류학자는 유전학, 깃털, 의사 소통 방법, 식량원 및 서식지와 같은 특성을 고려하고 stichfix에서는 선호스타일, 생활스타일, 체형과 같은 고객특성을 고려합니다.

새로운 분류 생성과정은 크게 3단계로 나뉘어집니다.

Setp1 . computational clustering techniques
정해진 특정개수로 분류해야 할 때는 K-means(K-평균알고리즘), PCA(주성분분석), hierarchical clustering(계층분석) 방법을 사용하고, 데이터 중심으로 분류간 균형이 중요할 때에는 DBSCAN(밀도 기반 클러스터링) 또는 the Chinese Restaurant Process 를 사용합니다. 이 때 추가로 고려해야할 부분이 있다면 확장성과 데이터가 커짐에 따라 미리 정의된 클러스터에 새로운 관측치를 할당하는 기능입니다.

Step2. model evaluation
지도학습에서는 AUC 라는 표준의 측정방식이 있지만 비지도학습 클러스터링 모델에선 단일한 측정방식이 없고 경우에 따라서 다른 방법이 있습니다.
케이스가 응집력 있고 잘 분리 된 클러스터가 필요한 경우에는
— silhouette coefficient
클러스터가 안정적이어야한다면
— bootstrapped evaluation of the Jaccard coefficient
개체들을 각자의 세그먼트에 맞추는 것이 중요하다면
— log likelihood

Step3. choosing names for the segments새롭게 생성된 분류의 특징을 잘 나타낼수있는 네이밍이 중요합니다

…maybe your data is actually continuous?

figure3. greenish warbler(_히말라야에 서식하는 _songbird 일종)

현실세계의 모든 문제 그리고 모든 데이터가 쉽게 분류되어지지는 않습니다.
한 예를 들면, 히말라야에 서식하는 songbird 일종인 greenish warbler는 모든 범위의 새들이 이웃 새들의 노래를 이해할 수 있습니다. 그러나 범위의 극단적인 끝에 있는 새는 다른 극단에 있는 새의 노래를 이해할 수 없습니다. 이런 경우 두 새는 같은 분류인가요? 다른 분류인가요?
사람들을 특정 세대로 나눌때(실제로 밀레니엄 세대는 누구인가?) 또는 크기의 문제에 있어서도 (XXL과 XXL+간에 명확한 경계가 있는가?) 마찬가지입니다. 이런 상황에서 좋은 해결책은 데이터 자체의 연속성을 살펴보는 것입니다. 선형 모델 또는 GAMs는 연속된 특성을 특정짓는데 있어서 유용합니다.

Best of both worlds

데이터 과학자로서 직무의 상당 부분은 비즈니스 파트너에게 적절한 양의 복잡성을 (너무 많지 않고 또 너무 적지도 않게) 표면화하는 방법을 파악하는 것, 적절한 시기에 중요한 정보를 잡아내는것 (너무 이르지도 또 너무 늦지도 않게) 입니다.

숲을 발견하는 것 만큼 특성있는 소수의 나무들을 발견하는 것이 중요합니다.
유연한 세분화체계는 사람들과 알고리즘이 변화하는 데이터 및 비즈니스 우선 순위에 함께 적응할 수 있게 돕습니다.

제한된 보존자원과 자본 그리고 사람들 속에서
얼마나 많은 인구(개체)에 합리적으로 지원할 것인지
/얼마나 많은 고객들을 우선순위에 둘지 정해야합니다.
집중과 분할 간의 균형을 통해 보유한 자원을 바탕으로 최상의 데이터 중심 의사결정을 내릴 수 있습니다.