ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [ADsP] 3과목 데이터 분석 - 기출문제 해설(1.데이터 분석 개요, 2.R프로그래밍 기초, 3.데이터 마트)
    ADsP 2021. 2. 27. 21:02
    반응형

    기출문제 해설(1.데이터 분석 개요, 2.R프로그래밍 기초, 3.데이터 마트)

    * 탐색적 자료 분석(EDA)

    - 데이터가 가지고 있는 특성을 파악하기 위해 해당 변수의 분포 등을 시각화하여 분석하는 분석 방식

    - 다양한 차원과 값을 조합해가며 특이한 점이나 의미있는 사실을 도출하고 분석의 최종목적을 달성해나가는 과정

     

    * 데이터마이닝

    - 데이터마이닝 모델링은 통계적 모델링이 아니므로 지나치게 통계적 가설이나 유의성에 집착하지 말아야 한다.

    - 반드시 다양한 옵션을 줘서 모델링을 수행하지 않고, 충분한 시간이 있으면 다양한 옵션을 줘서 시도하는 것이고 일정 성과가 나오면 해석과 활용 단계로 진행할 수 있도록 의사결정을 해야 한다.

    - 분석데이터를 학습 및 테스트 데이터로 6:4, 7:3, 8:2 비율로 상황에 맞게 실시한다.

    - 성능에 집착하면 분석 모델링의 주목적인 실무 적용에 반하여 시간을 낭비할 수 있으므로 훈련 및 테스트 성능에 큰 편차가 없고 예상 성능을 만족하면 중단한다.

     

    * 데이터 마이닝에서는 정확도, 정밀도, 디렉트 레이트, 리프트 등의 값으로 판단하고 시뮬레이션에서는 Throughput, Average Waiting Time, Average Queue Length, Time in System 등의 지표가 활용된다.

     

    * 탐색적 데이터 분석에 대한 설명

    - 데이터에 대한 전반적인 이해를 통해 분석 가능한 데이터인지 확인하는 단계이다.

    - 탐색적 데이터 분석 과정은 데이터에 포함된 변수의 유형이 어떻게 되는지를 찾아가는 과정이다.

    - 상자그림(Box Plot) 등을 그리면 이상치를 식별하기 쉽다.

    - 알고리즘이 학습에 얼마나 잘 하느냐 하는 것은 전적으로 데이터의 품질과 데이터에 담긴 정보량에 달려 있다.

     

    * 데이터 처리 구조에 대한 설명

    - 데이터를 분석에 활용하기 위해 데이터웨어하우스와 데이터마트에서 데이터를 가져 온다.

    - 신규 시스템이나 스테이징 영역의 데이터는 정제되지 않았기 때문에 정제하고 DW나 DM과 결합해야 한다.

    - ODS는 운영데이터저장소로 기존 운영시스템의 데이터가 정제된 데이터이므로 DW나 DM과 결합하여 분석에 활용할 수 있다.

    - 스테이지 영역에서 가져온 데이터는 정제되어 있지 않기 때문에 데이터의 전처리를 해서 DW나 DM과 결합하여 사용한다.

     

    * 최근의 시각화의 발전된 형태에 대한 설명

    - 텍스트 마이닝에서의 워드 클라우드를 통한 그래프화

    - SNA(social network analysis)에서 집단의 특성과 관계를 그래프화

    - polygon, heatmap, mosaic graph 등의 그래프 작업

     

    * 대용량 데이터에서 패턴을 파악해서 예측하는 분석 방법은 데이터마이닝 방법이다.

     

    * 추론(추측)통계는 모집단으로부터 추출된 표본의 표본통계량으로부터 모집단의 특성인 모수에 관해 통계적으로 추론하는 절차이다.

     

    * 탐색적 자료 분석(EDA)의 4가지 주제는 저항성의 강조, 잔차 계산, 자료변수의 재표현, 그래프를 통한 현시성이다.

     

    * 공간적 차원과 관련된 속성들을 시각화에 추가하여 지도 위에 관련 속성들을 생성하고 크기, 모양, 선 굵기 등으로 구분하여 인사이트를 얻는 분석방법은 무엇인가? 공간분석(Spatial analysis)

     

    * 벡터는 하나의 스칼라 값 또는 하나 이상의 스칼라 원소들을 갖는 단순한 형태의 집합으로 한 벡터의 모든 원소는 같은 자료형(숫자 또는 문자)로 구성된다. 벡터는 행렬 구조로 나타나지 않는다.

     

    * R에서의 summary 함수는 수치형 변수의 경우 최대값, 최소값, 평균, 1사분위수, 2사분위수(중앙값), 3사분위수를 출력하며, 명목형 변수의 경우 명목값, 데이터의 개수를 출력하는 함수이다.

     

    * R의 데이터 구조와 저장 형식에 관한 설명

    - as.numeric 함수에 논리형 벡터를 입력하면 TRUE에 대응하는 원소는 1, FALSE에 대응하는 원소는 0인 숫자형벡터로 변형된다.

    - 숫자형 행렬에서 원소 중 하나를 문자형으로 변경하게 되면 해당 행렬의 모든 원소가 문자형으로 변경된다.

    - 데이터 프레임은 각 열 별로 서로 다른 데이터 타입을 가질 수 있다.

    - 행렬을 as.vector 함수에 입력하면 열방향으로 1열부터 차례로 원소를 나열하는 벡터가 생성된다.

     

    * 데이터프레임은 표 형태의 데이터 구조이며, 각 열은 서로 다른 데이터 형식을 가질 수 있다.

     

    * R 코드 중 na.rm은 결측치를 제외하느냐에 대한 물음이며, T는 TRUE로서 결측치를 제외하겠다는 의미이다. ( > mean(x, na.rm=T) )

     

    * R에서 제공하는 데이터 가공, 처리를 위한 패키지의 설명

    - data.table 패키지는 큰 데이터를 탐색, 연산, 병합하는데 아주 유용하다.

    - reshape 패키지는 melt와 cast를 이용하여 데이터를 재구성할 수 있다.

    - sqldf 패키지는 R에서 표준 SQL 명령을 실행하고 결과를 가져올 수 있다.

    - plyr 패키지는 데이터의 분리, 결합 등 필수적인 데이터 처리 기능을 제공한다. (ddply 함수)

     

    * R에서 NA : 결측값, Inf : 무한대, NaN : Not a Number, dim : 행렬의 차원

     

    * R에서 표준편차를 계산하기 위해 사용하는 함수는 sd(), sqrt(), var()이다.

     

    * 두 개의 테이블을 하나로 변경할 때 merge 함수를 사용한다.

     

    * apply 함수에서 두 번째 인자가 1이면 행, 2이면 열의 자료를 적용한다.

     

    * 리스트는 타입이 같지 않은 객체들을 하나의 객체로 묶어놓을 수 있는 자료구조이다.

     

    * 단어나 문장에 포함되어 있는 문자열의 길이를 구하고자 할 때는 nchar 함수를 사용한다.

     

    * install.packages(“패키지명”)로 패키지를 설치하고 library(패키지명)로 패키지를 불러와 사용할 수 있다.

     

    * 데이터셋 조회 - subset(dfrm, select=변수, subset=변수>조건) / 데이터셋의 특정변수의 값이 조건에 맞는 변수셋 조회, subset은 벡터와 리스트에서도 선택 가능

    예) subset(test, subset=(학과==경영학과))

     

    * 데이터 병합 - merge(df1, df3, by = “df1과 df3의 공통 열 이름”) / 공통변수로 데이터셋 병합

    예) merge(A, B, by=”class”)

     

    * SQL을 활용하거나 SAS에서 porc sql로 작업하던 사용자들에게 R 프로그램에서 지원해 주는 패키지는 무엇인가? slqdf()

     

    * 데이터 웨어하우스와 사용자 사이의 중간층에 위치한 것으로, 하나의 주제 또는 하나의 부서중심의 데이터 웨어하우스라고 할 수 있다. 데이터 마트 내 대부분의 데이터는 데이터 웨어하우스로부터 복제되지만, 자체적으로 수집될 수 도 있으며, 관계형 데이터베이스나 다차원 데이터베이스를 이용하여 구축한다.

     

    * 변수를 조합해 변수명을 만들고 변수들을 시간, 상품 등의 차원에 결합해 다양한 요약변수와 파생변수를 쉽게 생성하여 데이터 마트를 구성할 수 있는 패키지는 무엇인가?

    - reshape 패키지는 데이터를 원하는 형태로 바꿔주는 melt 함수와 원하는 부분만을 선택하는 cast 함수로 구성되어 있다.

     

    * 파생변수는 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수로서, 매우 주관적일 수 있으므로 논리적 타당성을 갖추어 개발해야 한다.

     

    * 휴면고객 - 많은 기업에서 평균거래주기를 3~4개 이상 초과하거나 다음 달에 거래가 없을 것으로 예상되는 고객

     

    * cast 함수는 모양을 만드는 함수로서 오른쪽의 각 ID와 Variable에 대해 Time의 Value를 확인하는 것이므로 cast(md, id+value~time)

     

    * melt 함수는 데이터를 재구성하기 위한 함수로서 id는 month와 day이고 각 variable별로 value 값을 나타내고 NA값은 na.rm=TRUE로 제외했음을 알 수 있다.

     

    * sqldf 패키지는 R에서 sql의 명령어를 사용 가능하게 해주는 패키지이다.

     

    * 각 feef별 weight의 평균을 계산하기 위해서는 ~feed, summarize, mean이라는 명령어가 필요하다.

     

    * 결측치에 대한 설명

    - 해당 칸이 비어있는 경우 결측치 여부는 알기 쉽다.

    - 관측치가 기록된 값을 결측치로 처리하여 분석에 활용하는 것은 옳지 않다. defalut 값이 기록된 경우라도 그 값의 의미를 가지고 있기 때문에 결측치로 처리하면 분석에 큰 오류로 작용할 수도 있다.

    - 결측치가 있는 다양한 대치(Imputation)방법을 시용하여 완전한 자료로 만든 후 분석을 진행할 수 있다.

    - 결측치가 20% 이상인 경우에는 해당 변수를 제거하고 분석해야 한다.

     

    * 결측값을 대치하는데 활용되는 R 함수에 대한 설명

    - complete.cases 함수는 레코드에 결측값이 없으면 TRUE, 있으면 FALSE를 반환하는 함수이다.

    - is.na() : 결측값이 NA인지 여부를 판단하여 반환하는 함수

    - knnImputation() : NA 값을 k 최근 이웃 분류 알고리즘을 사용하여 대치하는 함수로 k개의 주변 이웃까지의 거리를 고려하여 가중 평균한 값을 대치해 주는 함수

    - rfImpute() : 랜덤 포레스트 모형의 경우, 결측값이 있으면 에러를 발생하기 때문에 랜덤포레스트 패키지에서 NA 결측값을 대치하도록 하는 함수

     

    * 결측값을 처리하는 방법에 대한 설명

    - complete Analysis는 불완전 자료를 모두 제외하고 완전한 관측치만으로 자료를 분석하는 방법이다. 그러나 부분적 관측자료를 사용하므로 통계적 추론의 타당성 문제가 있다.

    - 평균대치법은 자료의 평균값으로 결측값을 대치하여 불완전한 자료를 완전한 자료로 만들어 분석하는 방법이다.

    - 단순확률대치법은 평균대치법에서 추정량 표준오차의 과소 추정문제를 보완하고자 고완된 방법이다.

    - 다중대치법은 단순대치법을 한번하지 않고 m번 대치를 통해 m개의 가상적 완전 자료를 만들어서 분석하는 방법으로 순서는 1단계인 대치(imputation step), 2단계인 분석(combination step), 3단계인 결합(Analysis step)이다.

     

    * 상자그림을 이용하여 이상치를 판정하는 방법에 대한 설명

    - IQR = Q3 - Q1이라고 할 때, Q1 - 1.5 * 1QR < X < Q3 + 1.5 * IQR을 벗어나는 X를 이상치라고 규정한다.

    - 이상치라고 규정한 자료는 분석에서 제외를 할 수 있지만 무조건적으로 제거할 수는 없다.

    - 이상치는 변수의 분포에서 벗어난 값으로 상자 그림을 통해 확인할 수 있다.

    - 이상치는 분포를 왜곡할 수 있으나 실제 오류인자에 대해서는 통계적으로 실행하지 못하기 때문에 제거여부는 실무자들을 통해서 결정하는 것이 바람직하다.

     

    * 이상값을 검색하여 한 집단에서 매우 크거나, 매우 작으면 의심되는 대상이므로 부정사용방지 시스템에 활용이 가능하다.

     

    * 이상치에 대한 설명

    - 군집분석을 이용하여 다른 데이터들과 거리상 멀리 떨어진 데이터를 이상치로 판정한다.

    - 이상치는 분석에 의미가 있을 수 있으므로 제거하면 안된다.

    - 설명변수의 관측치에 비해 종속변수의 값이 상이한 값을 이상치라 한다.

    - 통상 평균으로부터 표준편차의 3개가 되는 점을 기준으로 이상치를 정의한다.

     

    * 이상값(outlier)에 대한 설명

    - 부정사용방지 시스템이나 부도예측시스템에서는 이상값(outlier)이라도 의미가 있으므로 제거하지 않는다.

    - 이상값 인식에 있어서 가장 많이 활용하는 방법은 ESD(Extreme Studentized Deviation)으로 평균에서 3 표준편차를 벗어나는 경우 이상값으로 인식하는 방법이다.

    - 이상치를 절단이나 조정하는 경우 제거방법에 비해 데이터의 손실율이 낮아지기 때문에 설명력이 높아지는 장점이 생긴다.

    - 의도하지 않게 잘못 입력된 데이터인 경우 bad data에 해당되면 이러한 경우, 데이터를 제거하여 분석한다.

     

    * R에서 반복문을 다중으로 사용할 경우 계산 시간이 현저하게 떨어지는 단점이 있다. multi-core를 사용하여 반복문을 사용하지 않고도 매우 간단하고 빠르게 처리할 수 있는 데이터 처리 함수를 포함하고 있는 패키지는? plyr - 데이터 처리에 필요한 R패키지로 데이터를 분할된 결과에 함수를 적용한 뒤 결과를 재조합하는 함수를 포함한다.

     

    * 데이터 전처리 단계에서 데이터의 이상치(Outlier)에 대한 설명

    - 데이터 입력 시 오타로 인해 잘못 입력된 경우

    - 분석 목적에 부합되지 않아 제거해야 하는 경우

    - 부정사용방지 시스템에서 의도된 이상 값

    - 최대값과 최소값은 이상치(Outiler)로 볼 수 없다.

     

    * 이상치 탐지에 활용할 수 있는 분야는 사기탐지, 의료, 침입탐지 등에 활용이 가능하지 환경 파괴에는 적용하기 어렵다.

     

    * 평균으로부터 t standard deviation 이상 떨어져 있는 값들을 이상값(outlier)으로 판단하고 t는 3으로 설정하는 이상값 검색 알고리즘은? ESD(Extreme Studentized Deviation)

     

    출처 : ADsP 데이터 분석 준전문가 (출판 : 데이터에듀)

    반응형

    댓글

Designed by Tistory.