기본적인 분석

마지막 업데이트: 2022년 4월 4일 | 0개 댓글
  • 네이버 블로그 공유하기
  • 네이버 밴드에 공유하기
  • 페이스북 공유하기
  • 트위터 공유하기
  • 카카오스토리 공유하기

기본적인 분석

이 법은 자격에 관한 기본적인 사항을 정함으로써 자격제도의 관리·운영을 체계화하고 평생직업능력 개발을 촉진하여 국민의 사회경제적 지위를 높이고 능력중심사회의 구현에 이바지함을 목적으로 한다.

자격기본법 제19조(민간자격의 공인)

① 주무부장관은 민간자격에 대한 신뢰를 확보하고 사회적 통용성을 높이기 위하여 심의회의 심의를 거쳐 법인이 관리하는 민간자격을 공인할 수 있다.

자격기본법 제30조(자격취득자에 대한 우대)

① 국가 및 지방자치단체는 국가자격 및 공인자격의 직무 분야에 관한 영업의 허가·인가·등록 또는 면허를 하거나 이익을 부여하는 경우에는 다른 법령에 어긋나지 아니하는 범위 안에서 그 직무 분야의 국가자격 또는 공인자격을 취득한 자를 우대할 수 있다.

②사업주는 근로자의 채용·승진·전보, 그 밖에 인사상의 조치를 하는 경우 해당 분야의 국가자격 또는 공인자격을 취득한 자를 우대할 수 있다.

데이터분석 전문가 정의

데이터분석 전문가란 데이터 이해 및 처리 기본적인 분석 기술에 대한 기본지식을 바탕으로 데이터분석 기획, 데이터분석, 데이터 시각화 업무를 수행하고 이를 통해 프로세스 혁신 및 마케팅 전략 결정 등의 과학적 의사결정을 지원하는 직무를 수행하는 전문가를 말한다.

데이터분석 자격검정의 필요성

오늘날 데이터 처리 및 분석을 통한 데이터 활용은 생산성 향상, 고부가가치 및 고용 창출 등 국가 경제적 가치 창출의 핵심동력으로 급부상하고 있다.

특히, 과학적 의사 결정의 토대가 되는 데이터분석은 기업과 국가의 생산성 향상에 기여하는 혁신 도구로 각광을 받고 있다. 기업체들은 자사의 경영 전략에 데이터분석을 도입하여 수익 증대를 실현할 수 있으며, 데이터분석을 공공영역에 도입할 경우에는 높은 사회적‧경제적 효과가 발생할 것으로 예상된다. 이러한 데이터분석의 가능성을 실현하기 위해서는 데이터의 다각적 분석을 통해 조직의 전략방향을 제시하는 우수한 역량을 갖춘 데이터분석 전문가의 확보가 필수적이다.

미국과 유럽을 비롯한 세계 각국은 데이터분석 시장 선점을 위해 데이터분석 전문가 확보와 양성에 집중하고 있는 실정이다. 반면, 국내 상황은 데이터 전문가 인력양성 체계 미흡 등으로 데이터 관련 신규 비즈니스의 고부가가치 창출 등 연계 효과 저하가 우려되며, 사회 전반의 데이터 활용에 필수적인 데이터분석 능력을 객관적으로 검증, 공공․민간 분야의 실무형 데이터분석 전문가 양성이 필요한 시점이다.

이에 한국데이터산업진흥원은 전문인력의 실질적 수요자인 사업주를 대변하여 데이터분석 전문가 자격검정을 실시하고자 한다. 이를 통해 산업 현장에 부응하는 민간자격을 부여하고, 자격취득자에게 직무 수행에 대한 자신감 고취와 함께 보다 나은 직무 수행 기회 제공 및 사회적 지위의 향상은 물론 기업의 국제 경쟁력 제고에도 기여할 것이다.

데이터분석 전문가의 직무

  • 비즈니스 목표 달성을 위해 내부 업무 프로세스를 기반으로 다양한 분석기회를 발굴하여 분석의 목표를 정의하고, 분석대상 도출 및 분석 결과 활용 시나리오를 정의하여 분석과제를 체계화 및 구체화하는 빅데이터분석과제 정의, 분석로드맵 수립, 성과 관리 등을 수행한다.
  • 분석에 대한 요건을 구체적으로 도출하고, 분석과정을 설계하고, 요건을 실무담당자와 합의 하는 요건정의, 모델링, 검증 및 테스트, 적용 등을 수행한다.
  • 다양한 데이터들을 대상으로 어떤 요소를 시각화 해야 하는지 정보 구조를 분석하며 어떤 형태의 시각화 모델이 적합한지 시각화에 대한 요건을 정의하고 시나리오를 개발하는 시각화 기획, 모델링, 디자인, 구축, 배포 및 유지보수 등을 수행한다.

과목 및 내용

데이터분석 전문가 자격검정 시험의 과목은 총 5과목으로 구성되어 있으며 데이터 이해 과목을 바탕으로 데이터분석 기획, 데이터분석, 데이터 시각화를 수행하는 능력을 검정한다.

ESLint 기본적인 사용법

"semi" : ["off", "always"] : semi콜론을 항상 붙여야 하는 규칙을 꺼버린다. 다시말해 규칙을 안지켜도됨. 안지켜도 되는 규칙을 굳이 추가해서 off시키는 이유는 다른 사람들이 만들어놓은 규칙을 고대로 가져다 쓸때 특정 규칙들만 꺼주기 위해서이다.

숫자로는 0에 해당한다.

"semi" : ["warn", "always"] : 세미콜론을 안붙이면 경고를 뿜는다. 내 코드는 계속 실행은 된다.

숫자로는 1에 해당한다.

error

"semi" : ["error", "always"] : 세미콜론을 안붙이면 프로그램이 종료된다. 엄격하게 코드를 관리하기 위해서는 이 옵션이 warn보다 좋다고 생각한다.

숫자로는 2에 해당한다.

Advanced Options

.eslintrc.js 에 더 세세한 기본적인 분석 옵션들을 적어줄 수 있다.

Parser Options

"ecmaVersion" : 6 : ESLint가 분석하려는 JS코드의 버전이 ECMAScript6라는걸 지정해 놓는다

"sourceType": "module" : ESLint의 Parser가 분석하려는 JS file이 script가 아닌 module이라는거를 지정해 놓는다. 요즘엔 JS File을 단순히 코드가 적혀져있는 파일이 아니라 하나의 모듈로 만들고 import/require해서 쓰기 때문에 sourceType도 “script”가 아닌 “module”로 해준다. 자세한건 모르겠지만 뭐. parser가 다르게 작동할거라고 생각한다.

jsx문법도 사용될거니까 놀라지 말라고 알려준다. 다만, jsx문법을 사용한다고 해서 ESLint가 react코드를 잘 분석할 수 있다는 의미는 아니다. react에서는 jsx문법을 고대로 사용하고 있는게 아니라서 ESLint가 react를 잘 분석하게 하기 위해서는 eslint-plugin-react 설치해줘야한다.

Parser

ESLint는 기본적으로 esprima 파서를 사용하는데, 필요에 따라서는 다음과 같은 parser를 사용해야한다.

해당 환경에서 정의된 함수나 전역변수를 사용할 수 있게 된다. 그래서 "browser": true 를 하게 되면 console.log() 를 에러없이 사용할 수 있게되고, "node": true 를 하게되면, require 를 에러없이 사용할 수 있게된다.

만약에 jQuery의 $ 를 사용할때 에러를 내뿜지 않게 하고싶다면 아래와 같이 작성하면된다.

근데 jQuery를 쓰고싶으면 아래와 같이 하는게 정석이긴하다.

Plugins

“eslint-plugin-react”의 “eslint-plugin”기본적인 분석 기본적인 분석 은 생략 가능하다

@jquery/eslint-plugin-jquery 도 짧게 @jquery/jquery 로 생략해서 사용할 수 있다

“eslint-plugin-react” 플러그인을 사용하면 ESLint가 react코드를 알아먹고 문제점을 알려주게된다. 더 기본적인 분석 엄밀히 말하면 단순히 플러그인을 가져오는것에 끝나면 아무일도 일어나지 않는다. 이거를 사용해야한다.

rules로 사용하기

이렇게 plugin으로 가져온 규칙을 일일이 rules에 적용해주면된다.

하지만 규칙이 많다면 상당히 귀찮다.

extends로 사용하기

플러그에서 추천하는 규칙들을 모아놓은거를 extends해서 한꺼번에 적용하는게 rules에 일일이 적어주는것보다 훨씬 편하긴 하다.

Extends vs Plugin

위에서 Plugin과 Extends를 같이 설명했기 때문에 둘의 차이점만 알아보도록 하자.

extends는 다른 사람이 만든 규칙을 가져와서 내 규칙에 붙여서 확장되는거고, plugin은 다른사람이 만든 규칙을 가져오는것이다. 다시말해 extends에 그냥 뭘 확장할건지만 써주면 자동으로 rules에 rule group이 추가 되고, plugin을 쓸때는 내가 일일이 rules에 적어줘야한다. (아님 extends랑 섞어서 쓰던지)

주식투자 원칙만 파악하면 반은 성공!

한 번 재미 삼아 투자에 발을 넣었다가 수익을 보게 되면 빠져나오기란 여간 쉬운 일이 아닙니다.

하지만 투자에도 전략, 원칙이 있기 때문에 아무런 정보 없이 수익성이 높아 보이는 것에 투자만 하면 나중에는 실패를 맛볼 수 있기 때문에 투자 전문가들이 말하는 원칙에 대해서 정확하게 알고 있는 것이 유리하다고 할 수 있습니다.

주식의 원칙

원칙이라고 해서 거대하게 생각할 필요까지는 없으며 주식 투자에 처음 손을 대 본다면 미리 알아두는 게 분명 도움이 될 것이라고 예상합니다.

그럼 주식 투자를 할 때 알아봐야 하는 원칙 에는 어떠한 것이 있는지 한 번 알아보도록 하겠습니다.

① 기업의 가치 체크하기

투자를 하려는 기업의 상태에 대해서 정확하게 이해하는 자세는 분명 필요합니다. 눈여겨봤던 기업의 가치가 기준 이하로 떨어졌을 때 구매해서 가치 수준이 많이 올랐을 때 팔면 많은 수익을 얻을 수 있게 됩니다.

단, 눈여겨볼 기업을 선정할 때는 자본 이익률, 순이익, 주가 수익 비율 등등을 확인해보시기 바랍니다.

② 매매하려는 시점 파악하기

매매하려는 시기를 정확하게 파악할 수 있는 방법은 얼마나 해당 기업에 대해서 공부를 하고 관심 있게 보고 있었느냐가 관건이라고 할 수 있습니다.

앞에서 기업 가치가 떨어지면 매매하면 된다 했지만 앞서 기업의 거래량, 추세 등등에 대해서 먼저 파악 후 매매 시점을 정해두는 것이 가장 좋다 고 할 수 있죠.


운 좋게 몇 번 주식 투자에 성공을 할 수 있는데 사람의 욕심은 정말 끝도 없다고 할 수 있습니다. 몇 번 성공한 것을 실력이라고 믿고 계속해서 투자를 하려는 경향을 보이기 때문이죠.

그러나 이는 언젠가 들통날 예정이기 때문에 주식 투자에 대한 원칙을 정확하게 숙지하고 정한 다음에 진행했으면 합니다.

원칙을 얼마나 숙지하고 나만의 원칙으로 만드는가가 성공의 지름길로 갈 수 있는 방법이라고 할 수 있습니다. 그리고 한 번 만든 원칙을 계속 뒤엎지 말고 계속해서 지켜가는 것이 현명한 자세라고 할 수 있습니다.

기본적인 통계지식 익히기 — 평균, 분산, 표준편차

요즘 부쩍 데이터 분석에 관심이 있다. 꼭 데이터 사이언스가 되는 게 목표는 아니지만 요즘 업계에서 가장 핫한 분야이니만큼 뭐가 어떻게 돌아가고 있는지는 알아야겠다는 생각이 들었다. 그리고 나 또한 마케팅을 하는 사람으로서 데이터를 바탕으로 무언가 결론을 내야 하는 상황들이 때때로 있다. 그런 상황들에 조금이나마 도움을 받을 수 있는 부분이 있지 않을까 내심 기대도 해보며 이 책을 집어들었다. 오늘은 통계의 가장 기본 지식인 평균, 분산, 표준편차를 이해하는 시간을 가져보겠다.

평균, 분산, 표준편차, 그게 뭔데?

데이터 분석을 실제로 하는 사람 뿐 아니라, 그 밖의 관계자들도 최소한의 통계 지식은 아는 상태에서 프로젝트를 진행해야 한다. 통계적 사고의 기초가 되는 평균, 분산, 표준편자의 개념과 이 분석 수법을 가지고 무엇을 할 수 있는지 사례를 통해 알아보자.

여기 영업사원 A와 B가 있다. A와 B는 지난 3개월 간 각각 330만원, 420만원의 매출을 올렸다. 둘 중 어느 영업사원이 더 좋은 성과를 냈는가? 얼핏 봤을 때는 B가 더 잘한 거 아니야? 하기 쉽다. 근데 통계적인 시각을 가지고 보면 저것 만으로는 실적을 평가하기가 어렵다. 정확한 평가를 위해서는 매출 내역을 자세히 들여다볼 필요가 있기 때문이다.

분산, 데이터가 들쭉날쭉한 정도를 파악하다.

영업사원 A와 B의 월별 매출 성과를 살펴보니 3개월간 총 매출액이 A보다 90만원 정도 우세했던 B가 더 우수한 영업사원이라고 평가하기가 어려워졌다. 월별 매출액이 안정적이지 않고 들쭉날쭉 격차가 크기 때문이다. 이 들쭉날쭉한 정도를 조사하기 위한 계산이 바로 ‘분산’이다.

분산 계산법

분산을확인하려면 평균값이 필요하다. 즉 3개월간 A와 B가 담당했던 월평균 매출액은 각각 110만원, 140만원이다. 이 평균값을 바탕으로 A와 B의 월별 매출액과 월평균 매출액의 기본적인 분석 차이를 확인해본다. (아래 계산식 참고) 다음에는 차이의 평균값을 구한다. 다만 마이너스 숫자가 있는 점을 고려해 편의상 각 수치들을 제곱해 플러스로 바꾼 다음 제곱한 수치의 합을 데이터의 개수로 나눠 ‘분산’을 구한다.

위 이미지와 같이 분산을 계산하니 큰 차이가 생겼다. 이 수치는 평균에서의 편차의 제곱이므로 제곱근으로 되돌린다. 그리고 이 것이 바로 ‘표준편차’다. 단순히 데이터가 평균에서 ‘얼마나 벗어났는가’를 측정하는 것을 넘어서 ‘분산’을 이용한 단순한 계산을 거침으로써 평균적인 들쭉날쭉함으로 지표화된 ‘표준편차’가 된 것이다.

평균, 분산, 표준편차는 데이터 분석을 할 때 제일 먼저 이해해야 하는 요소이다.

  • 평균 : 수집한 데이터의 수치를 더한 다음 데이터의 개수를 나눠서 구함. 하지만 평균이 모든 성과의 측정의 기준이 되어서는 안된다. 평균은 데이터의 들쭉날쭉한 정도를 반영하고 있지 않기 때문이다.
  • 분산 : 들쭉날쭉한 정도를 조사하기 위한 계산. 분산을 계산하기 위해서는 ‘평균값’이 필요. 평균과 각 지표의 차이의 평균값을 구한다. 이 상태로 평균을 구하면 플러스와 마이너스가 상쇄되기 때문에, 기본적인 분석 기본적인 분석 편의상 각 수치를 제곱해 플러스초 바꾼 다움 제곱한 수치의 합을 데이터의 개수로 나누어 계산한다.
  • 표준편차 : 분산은 평균에서의 편차의 제곱이므로 제곱근으로 되돌린다. 이것이 ‘표준편차’다. 단순히 데이터의 평균에서 ‘얼마나 벗어났는가’를 측정하는 데 불과했던 ‘편차’가 ‘분산’을 이용한 단순한 계산을 거침으로써 ‘평균적인 들쭉날쭉함’으로 지표화된 ‘표준편차’로 새롭게 태어났다.

주목해야 할 부분이 어긋나면 결론도 어긋나기 때문에 똑같은 데이터를 봐도 통계에 관한 지식이 있느냐 없느냐에 따라 결론이 크게 달라질 수 있다고 한다. 통계학에 대한 기본적인 이해를 통해서 데이터 분석에 있어서 더욱 정확한 판단을 할 수 있는 날이 오기를 바라며…

기본 동작 원리 및 아키텍쳐

이렇게 생성된 JOB이 외부 저장소 (HDFS와 같은 파일 시스템이나 외부 데이터 베이스)로 부터 데이터를 로딩하는 경우, 이 데이터는 스파크 클러스터 Worker node로 로딩이 되는데, 로딩된 데이터는 여러 서버의 메모리에 분산되어 로딩이 된다. 이렇게 스파크 메모리에 저장된 데이터 객체를 RDD라고 한다.

이렇게 로딩된 데이터는 애플리케이션 로직에 의해서 처리되는데, 하나의 JOB이 여러 worker node에 분산된 데이터를 이용해서 분산되어 실행되기 때문에, 하나의 JOB은 여러개의 Task로 분리되어 실행이 된다. 이렇게 나눠진 Task를 실행하는 것을 Executor 라고 한다.

클러스터 매니저(Cluster Manager)

스파크는 데이터를 분산 처리하기 위해서 하나의 클러스터 내에 여러대의 머신, 즉 워커(Worker)들로 구성된다. 하나의 JOB이 여러대의 워커에 분산되서 처리되기 위해서는 하나의 JOB을 여러개의 기본적인 분석 TASK로 나눈 후에, 적절하게 이 TASK들을 여러 서버에 분산해서 배치 해야 한다. 또한 클러스터내의 워크 들도 관리를 해줘야 하는데, 이렇게 클러스터내의 워커 리소스를 관리하고 TASK를 배치 하는 역할을 하는 것이 클러스터 매니저이다.

워크들을 관리할 수 있는 클러스터 매니저는 일종의 스파크 런타임이라고 생각하면 되는데, 아래 그림과 같이 Standalone , Yarn, SIMR 등의 타입이 있다.

Standalone은 하나의 머신 내에서 스파크를 운영하는 방식으로 로컬 개발 환경등에 적합한다. 다른 방식으로는 하둡 2.X의 리소스 매니저인 YARN을 사용하여, YARN으로 하여금 클러스터내에 TASK를 배치하도록 하는 방법이 있고, 하둡 1.X 이하를 사용할 경우 하둡의 맵리듀스안에 맵 작업으로 스파크 TASK를 맵핑하는 Spark In MR (SIMR)방식이 있다.

하둡 에코 시스템 외에도 다른 클러스터 매니저를 사용할 수 있는데, 대표적으로 Apache Mesos나, Kubernetes등을 클러스터 매니저로 사용이 가능하다.

스파크는 메모리 베이스로 데이터를 처리하지만 외부 스토리지는 포함하고 있지 않기 때문에 별도의 외부 스토리지를 사용해야 한다. 가장 대표적으로 사용되는것이 하둡의 HDFS 분산 파일 시스템이고, 클라우드의 경우 AWS S3나 Google Cloud의 Google Cloud Storage(GCS)등을 사용한다.

데이터 베이스로는 분산 노드에서 데이터를 동시에 읽어드려야 하기 때문에, 분산 처리를 잘 지원할 수 있는 NoSQL인 HBase등이 널리 사용된다. 그외에도 목적에 따라서 Solr, Kudu 등의 데이터 스토어를 사용한다.

파일 포맷

만약에 스파크 데이터를 파일로 저장할 경우 여러가지 파일 포맷을 사용할 수 있는데, 대표적으로 사용되는 파일 포맷들은 다음과 같다.

  • CSV,JSON : 우리가 일반적으로 사용하는 TEXT기반의 파일 포맷으로, 사람이 읽을 수 는 있지만 압축이 되지 않았기 때문에 용량이 크다
  • Parquet (Columna) : 스파크와 함께 가장 널리함께 사용되는 파일 포맷으로 기본적인 분석 바이너리 포맷을 사용한다. 특히 데이터 뿐만 아니라 컬럼명, 데이터 타입, 기본적인 통계 데이타등의 메터 데이터를 포함한다.
    CSV,JSON과는 다르게 기본적인 압축 알고리즘을 사용하고 특히 snappy와 같은 압축 방식을 사용했을때, 원본 데이터 대비 최대 75% 까지 압축이 가능하다.

Parquet 포맷의 특징은 WORM (Write Once Read Many)라는 특성을 가지고 있는데, 쓰는 속도는 느리지만, 읽는 속도가 빠르다는 장점이 있다. 그리고 컬럼 베이스의 스토리지로 컬럼 단위로 저장을 하기 때문에, 전체테이블에서 특정 컬럼 만 쿼리하는데 있어서 빠른 성능을 낼 수 있다.


0 개 댓글

답장을 남겨주세요