-
[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 데이터 분석 준전문가 (출판 : 데이터에듀)
반응형'ADsP' 카테고리의 다른 글
[ADsP] 3과목 데이터 분석 - 기출문제 해설(5.정형 데이터 마이닝) (0) 2021.02.27 [ADsP] 3과목 데이터 분석 - 기출문제 해설(4.통계분석) (0) 2021.02.27 [ADsP] 2과목 데이터 분석 기획 - 기출문제 해설 (0) 2021.02.27 [ADsP] 1과목 데이터 이해 - 기출문제 해설 (0) 2021.02.27 [ADsP] 3과목 데이터 분석_요약 정리(5.정형 데이터 마이닝) (0) 2021.02.27