JD의 블로그

데이터에 기반을 둔 의사 결정 본문

카테고리 없음

데이터에 기반을 둔 의사 결정

GDong 2020. 1. 20. 22:41

이 글은 "구글 클라우드 플랫폼상의 데이터 과학"의 내용을 정리한 것입니다. 

데이터 분석의 주요 목적은 데이터 분석의 결과를 통해 의사 결정을 내리는 데 도움을 주는 것입니다.

 

예를 들어, 자동차에는 주행거리계가 붙어 있는데 이는 중고 자동차 구매를 할 때, 오일을 교환할 때가 됐는지 등을 판단할 때 활용됩니다. 하지만, 만약에 사고로 인해 보험회사에서 주행거리계를 통한 분석을 하려고 할 때 주행거리계가 정확하다는 것을 어떻게 판단할 수 있을까요? 임의 조작의 가능성은 없는 것일까요? 

 

즉, 여러 당사자가 관여할 때마다 데이터 감사 가능성은 중요하며 데이터가 검증되지 않았을 때에는 시장에서 실패하게 되고, 최적의 의사 결정을 내릴 수 없으며 당사자는 시장의 반응과 모니터링에만 의존해야합니다.

 

또한 데이터 분석을 시작하기 위한 목적은 반드시 결정해야 할 사항입니다. 

예를 들어, 시장 진입을 할지, 말지 결정할 때, 수수료를 지불할지, 말지, 등을 결정해야 한다는 뜻입니다. 

이제는 관련된 데이터가 어디에나 있기 때문에 경험이 아닌 데이터 기반으로 이런 의사 결정을 할 수 있습니다. 

그러나, 모든 데이터 기반 의사 결정 작업을 직접 할 필요는 없는데, 그 이유는 이런 서비스를 제공하는 여러 회사가 있기 때문입니다. 이러한 회사가 가진 진정한 가치는 데이터 기반의 의사 결정을 한 번만 제공하는 게 아니라 시스템적으로 실행할 수 있는 서비스를 제공한다는 점입니다. 이를 통해 회사는 전문성을 가지고 지속적으로 의사 결정의 정확성을 높이게 됩니다. 

 

데이터를 수집할 때 또한 명심해야할 점은 바로 데이터를 안전하게 보관하는 것입니다. 만약, 주행거리를 체계적으로 수집하는데 이를 통해 해당 자량의 정확한 주행거리를 알게 된다면 고객에 대한 추가 정보를 통해 그 사람의 위치를 항상 추측할 수도 있게 됩니다. 따라서 언뜻 무해해 보이는 정보가 때론 엄청난 영향을 끼칠 수 있습니다. 따라서 데이터에 대한 접근을 제어해야하며, 데이터를 열람하거나 수정한 사람에 대한 로그도 기록해야합니다. 

 

데이터 과학에 있어서 분석 방법에 있어서 실시간으로 데이터를 수집하는 방법과 내가 가진 데이터가 가질 수 있는 오류의 종류를 인지하는 것은 매우 중요합니다. 따라서, 데이터에 대한 해박한 지식은 데이터 과학을 다루는 데 있어 매우 중요한 요소로 작용합니다. 

 

데이터 기반의 의사 결정 기능을 서비스로 제공하고자 할 때, 몇 가지 고려할 점이 있습니다.

  • 의사 결정 자체의 품질

    • 일반적으로 서비스가 얼마나 정확한가?

    • 일반적으로 발생하는 오류의 원인은 무엇인가?

    • 시스템을 어떤 상황에서 사용하지 말아야 하는가?

  • 서비스의 품질

    • 정보를 얼마나 신뢰할 수 있는가?

    • 초당 몇 개의 쿼리를 제공할 수 있는가?

    • 제공되는 일부 데이터와 의사 결정을 위해 필요한 모델을 통합하는 데 걸리는 시간이 얼마나 되는가?

즉 실용적인 데이터 과학을 위해 이런 것들을 따져보아야 하며, 앞으로 실용적인 데이터 과학의 다양한 측면을 탐구해볼 것입니다.

 

데이터 분석을 수행하기 위해서는 먼저 데이터에 기반을 둔 의사 결정을 지원할 수 있는 통계 모델을 작성해야 합니다.

데이터 엔지니어는 간단한 통계적 프레임워크를 이해하고 그래프를 그리는 것을 넘어 해당 문제에 대한 답을 얻어낼 수 있는 통찰력을 제시해줄 수 있어야합니다.

 

따라서 다음과 같은 능력이 필요합니다.

  • 관심을 가지는 특정 집계가 의미가 있도록 만드는 통계적인 설정 방법에 대한 이해

  • 목표로 하고 있는 비즈니스 결과를 이끌어낼 수 있는 분석 방법에 대한 이해

즉, 특정한 비즈니스 문제를 해결하기 위해 통계적으로 유효한 데이터 분석을 수행하는 능력은 필수적이며, 최종 목표는 항상 검증 가능한 정확한 결정을 보조하는 것입니다.

 

데이터 분석이라는 것은 일회성으로 끝나지 않으며, 확장을 필요로 하는 경우가 많습니다. 이 말은 즉 정확한 의사 결정 프로세스가 반복되어야 하며 여러 사람에 의해 수행될 수 있어야 한다는 것을 뜻합니다. 그리고 이런 확장을 하는 방법은 자동화하는 것입니다. 

 

데이터 엔지니어는 통계 및 머신 러닝 모델을 구축하고 이를 자동화할 수 있는 엔지니어입니다. 안전성, 신뢰성, 내결함성, 확장성 및 효율성을 갖춘 데이터 처리 시스템을 설계하고 구축할 수 있으며 문제에 대한 대처 능력을 가지는 사람이야말로 데이터 엔지니어로 인정받을 수 있습니다. 

 

회사는 데이터 엔지니어를 찾을 때 데이터 분석가, 데이터 과학자, 그리고 데이터 엔지니어의 역할을 모두 섭렵할 수 있는 사람을 기대합니다. 즉, 데이터베이스 스키마를 설계할 수 있고 SQL 쿼리를 작성할 수 있으며, 머신 러닝 모델을 훈련시킬 수 있고, 데이터 처리 파이프라인 코딩을 할 수 있고 어떻게 확장할 수 있는지 설계할 수 있는 그런 사람 말입니다. 이런 기대를 하면 너무 많은 것을 바라는 것이 아닌가 하는 생각을 할 수 있지만, 최근에는 이런 일을 하기 위한 지식의 양이 이전보다 훨씬 적어졌기 때문에 상당히 합리적인 기대로 받아들여지고 있습니다. 

 

클라우드의 도입, 즉 자동 확장, 서버리스, 관리가 용이한 관리형 인프라의 출현으로 확장 가능한 시스템을 구축할 수 있는 사람이 늘어남에 따라 포괄적인 데이터 기반 솔루션을 구축할 수 있는 데이터 엔지니어는 불가능한 것이 아니게 되었습니다.  

 

클라우드에서 데이터 엔지니어링을 수행할 때 얻는 주요 이점은 시간을 절약할 수 있다는 점입니다. 이러한 이점을 얻을 수 있는 이유는 많은 작업을 수천 대의 시스템에서 병렬로 진행할 수 있기 때문입니다.

 

구글 클라우드 플랫폼의 핵심적인 자동 확장 및 완전 관리형 서버리스 서비스는 BigQuery(SQL 분석용), Cloud Dataflow(데이터 처리 파이프라인), Cloud Pub/Sub(메시지 기반 시스템), Bigtable(대량 입수), App Engine(웹 애플리케이션) 및 ML Engine(머신 러닝) 등이 있습니다.

 

이와 같은 자동 확장 서비스를 이용해 데이터 엔지니어는 베어 메탈, 가상머신 또는 컨테이너에 소프트웨어를 설치하고, 서버를 관리하는 것에서 벗어나 좀 더 복잡한 비즈니스 로직에 집중할 수 있게 되었습니다. 

 

전반적인 내용은 사례 연구를 통해 현실 세계의 문제를 다룰 것이며 이를 통해 데이터 과학의 있는 그대로의 모습을 나타낼 것입니다. 

 

우리는 데이터에 기반한 의사 결정을 위해 확률론적 접근법을 사용할 수 있는데, 확률론적 접근법이라는 것은 우리가 의사 결정을 위해 어떤 일이 일어날 가능성을 기반으로 의사 결정을 하는 것을 뜻합니다.

 

가령, 비행기 지연에 의해 회의를 취소할지 말지 결정해야할 때 어떤 기준을 가지고 결정해야할까요? 주관적인 기준으로 비행기 도착 지연 시간이 15분 이상이면 회의를 취소하는 것을 기준으로 삼을 수 있습니다. 그러면 비행기 도착 지연 시간에 대한 CDF(Commulative Distribution Function)을 구하여 도착 지연 시간이 15분 이하인 확률을 구하여 그것을 기준으로 삼아 의사 결정을 할 수 있습니다. 

 

그리고 통계 및 머신 러닝 모델을 이용해 이러한 CDF를 구하는 파이프라인을 구축할 수 있습니다.