본문 바로가기

ADsP(데이터 분석 준전문가)/문제풀이

[3-3. 데이터마트] 오답노트

728x90

1. 데이터의 한 부분으로 특정 사용자가 관심을 갖고 있는 데이터를 담은 비교적 작은 규모의 데이터 웨어하우스 

> 데이터 마트
- 데이터베이스 : 체계적으로 구조화된 데이터의 모임
- 데이터 마이닝 : 대규모의 데이터 집합에서 유용한 정보나 패턴을 발견하기 위해 통계학, 수학, 인공지능 등의 기술을 활용하는 프로세스
- 데이터 프레임 : 표 형태의 데이터 구조로, 행과 열로 이루어짐. 데이터를 쉽게 조작하고 분석할 수 있게 하는 자료구조

2. 변수를 조합해 변수명을 만들고 변수들을 시간, 상품 등의 차원에 결합해 다양한 요약변수와 파생변수를 쉽게 생성하여 데이터 마트를 구성할 수 있는 패키지
-> reshape패키지 : 데이터를 원하는 형태로 바꿔주는 melt함수와 원하는 부분만을 선택하는 cast함수로 구성
- ETL패키지 : Extract, Transform, Load의 약자로, 데이터 웨어하우스나 데이터 마트 등에 데이터를 추출(Extract), 변환(Transform), 그리고 적재(Load)하는 과정
- OLAP(Online Analytical Processing) : 데이터 웨어하우스나 데이터 마트에서 다차원 데이터를 분석하고 검색하는 데 사용되는 기술과 프로세스
- rattle(R Analytical Tool To Learn Easily) : 데이터 마이닝 및 머신러닝 작업을 쉽게 수행할 수 있도록 도와주는 오픈 소스 소프트웨어

3. 파생변수는 사용자가 특정 조건을 만족하거나 특정 함수에 의해 값을 만들어 의미를 부여한 변수. 파생변수의 특징
- 매우 주관적일 수 있으므로 논리적 타당성을 갖춰야 한다
- 세분화, 고객행동 예측, 캠페인 반응 예측에 매우 잘 활용
- 특정 상황에만 유의미하지 않게 대표성을 나타나게 해야함

요약변수(수집된 정보를 분석에 맞게 종합한 변수)의 특징 
- 데이터 마트에서 가장 기본적인 변수
- 많은 모델에 공통으로 사용 될 수 있어 재활용성이 높다
- 간단한 구조이므로 자동화하여 상황에 맞게 일반적인 자동화 프로그램으로 구축가능
- 단점으로는 기준값의 의미해석이 애매 > 연속형 변수를 그룹핑해서 사용하면 좋다

4. 많은 기업에서 평균거래주기를 3~4배 이상 초과하거나 다음 달에 거래가 없을 것으로 예상되는 고객을 (휴먼고객)으로 정의

5. R의 reshape2 패키지에서 제공되는 cast 함수를 사용하여 데이터를 재구성하는 작업을 나타냅니다. 
이 함수는 데이터프레임에서 원하는 형태로 데이터를 재배치하는 데 사용됩니다. 
cast 함수는 데이터의 형태를 변환하여 행과 열의 구조를 변경하는데 유용하게 활용됩니다.
> cast(md, id + variable ~ time) > cast(data, formula, fun.aggregate = NULL, ...)
- "id"와 "variable" 열을 기준으로 데이터를 그룹화
- "time" 열의 값들을 열로 변환하여 새로운 형태의 데이터프레임을 만들어라는 의미

6. 정의가 가리키는 데이터 마트의 구성요소
> 특정한 의미를 갖는 작위적 정의에 의한 변수로, 사용자가 특정 조건을 만족하거나 특정함수에 의해 값을 만들어 의미를 부여한 변수 
- 파생변수

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

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

9. ddply() 함수에 대한 설명
ddply(.data, .variables, .fun = NULL)
- .data: 그룹화할 데이터프레임
- .variables: 그룹화할 기준이 되는 변수 또는 변수들. 여기서는 ~을 사용하여 변수들을 나열하거나 특정 함수를 사용하여 그룹화 기준을 지정
- .fun: 그룹화된 데이터에 적용할 함수를 지정합니다. 이는 summarize, transform, 또는 사용자 정의 함수일 수 있다
예시 : ddply(chickwts, ~feed, summarize, groupmean = mean(weight))
- chickwts: 데이터프레임으로, 그룹화하고자 하는 데이터
- ~feed: 데이터를 그룹화할 기준이 되는 변수를 나타냅니다. 여기서는 feed 변수를 기준으로 데이터를 그룹화하겠다는 의미
- summarize: 그룹화된 데이터에 대해 어떤 함수를 적용할지를 지정. summarize 함수를 사용하여 각 그룹에 대해 특정 요약 통계량을 계산
- groupmean = mean(weight): summarize 함수 내에서 그룹화된 각 데이터에 대해 계산할 통계량을 나타냄. 여기서는 groupmean이라는 새로운 열에 각 그룹의 weight 평균값을 계산하여 추가하겠다는 의미

10. 결측치에 대한 설명
- 해당 칸이 비어있는 경우 결측지 여부는 알기 쉽다
- 관측지가 기록된 값을 결측치로 처리하여 분석에 활용하는 것은 옳지 않다. Default값이 기록된 경우라도 그 값의 의미를 가지고 있기 때문에 결측치로 처리하면 분석에 오류가능성 있음
- 결측치가 있는 경우 다양한 대치방법을 사용하여 완전한 자료로 만든 루 분석을 진행할 수 있다
- 결측치가 20%이상인 경우에는 해당 변수를 제거하고 분석해야 한다

11. 결측값을 확인하고 결측값을 대치하는데 활용되는 R 함수들
- complete.cases() : 데이터 내 레코드에 결측값이 없으면 TRUE, 있으면 FALSE 를 반환
- is.na() : 결측값이 NA인지 여부를 판단하여 반환하는 함수
- knnImputation() : NA값을 k최근 이웃분류 알고리즘을 사용하여 대치하는 함수로 k개 주변 이웃까지의 거리를 고려하여 가중 평균한 값을 대치
- rfImpute() : 랜덤 포레스트 모형의 경우, 결측값이 있으면 에러를 발생하기 때문에 랜덤포레스트 패키지에서 NA결측값을 대치하도록 하는 함수

12. 결측값은 관측되어 얻어지는 실험자료에서 종종 나타나는 현상. 결측값을 분석할 수 있는 통계분석 방법론으로 대치법이 있다.
- Complete Analysis는 불완전 자료를 모두 삭제하고 완전한 관측치만으로 자료를 분석하는 방법. 그러나 부분적 관측자료를 사용하므로 통계적 추론의 타당성 문제가 있음
- 평균대치법은 자료의 평균값으로 결측치을 대치하여 불완전한 자료를 완전한 자료로 만들어 분석하는 방법
- 단순확률대치법은 평균대치법에서 추정량 표준오차의 과소 추정문제를 보완하고자 고완된 방법
- 다중대치법은 단순대치법을 한번만 하지않고 m번 대치를 통해 m개의 가상적 완전자료를 만들어서 분석하는 방법으로 추정량의 표준오차의 과소추정 또는 계산의 난해성 문제가 보완된 방법

13. 이상치를 찾는 것은 데이터분석에서 데이터전처리를 어떻게 할지 검정할 때 사용. 상자그림을 이용하여 이상치를 판정하는 방법에 대한 설명
- IOR=Q3-Q1이라고 할 때, Q1-1.5*IOR<X<Q3+1.5*IOR을 벗어나는 X를 이상치라고 규정
- 평균으로부터 3*표준편차 벗어나는 것들은 이상치라고 규정할 수 있음 그러나 이상치라고 규정한 자료는 분석에서 제외를 할 수 있지만 무조건적으로 제거할 수는 없다
- 이상치는 변수의 분포에서벗어난 값으로 상자 그림을 통해 확인할 수 있다
- 이상치는 분포를 왜곡할 수 있으나 실제 오류인자에 대해서는 통계적으로 실행하지 못하기 때문에 제거여부는 실무자들을 통해서 결정

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

15. 이상치에 대한 설명
- 군집분석을 이용하여 다른 데이터들과 거리상 멀리 떨어진 데이터를 이상치로 판정
- 데이터를 측정과정이나 입력하는 과정에서 잘못 포함된 이상치라고 해도 이상치는 분석에 의미가 있을 수 있으므로 제거하면 안된다
- 설명변수의 관측치에 비해 종속변수의 값이 상이한 값을 이상치라고 한다
- 통상 평균으로부터 표준편차의 3배가 되는 점을 기준으로 이상치를 정의

16. 이상값(Outlier)에 대한 설명
- 부정사용방지 시스템이나 부도예측시스템에서는 이상값이라도 의미가 있으므로 제거하지 않는다
- 이상값인식에 있어서 가장 많이 활용하는 방법은 ESD으로 평균에서 3 표준편차를 벗어나는 경우 이상값으로 인식하는 방법
- 이상값의 처리에 있어서 극단값 절단방법과 조정방법이 있으며 조정의 경우, 제거방법에 비해 데이터손실율이 낮아지기 때문에 설명력이 높아지는 장점
- 의도하지 않게 잘못 입력된 데이터인 경우 Bad Data에 해당되면 이러한 경우, 데이터를 제거하여 분석한다

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

18. 데이터 전처리 단계에서 데이터의 이상치에 대한 설명
> 이상치(Outlier) 탐지의 목적은 대부분의 객체들과 다른 객체들을 찾는 것이다. 
이상치 탐지는 속성값들의 일반적인 값들과 상당히 편차가 큰 값을 가지므로 편차탐지라고도 한다
그러나 이상치는 반드시 비정상적인 객체를 의미하지는 않는다
- 데이터 입력 시 오타로 인한 잘못 입력된 경우
- 분석 목적에 부합되지 않아 제거해야 하는 경우
- 부정사용방지 시스템에서 의도된 이상 값

19. 이상치 탐지에 대한 설명, 이상치를 유용하게 사용되는 분야의 예
- 사기탐지 > 도난당한 신용카드의 구매행위는 원 소유자의 행위와 다를 수 있다. 평상시의 행위와 다른 구매패턴을 조사하여 사기를 탐지할 수 있다
- 의료 > 특정 환자에게 보이는 예외적인 증세나 검사결과는 잠재적인 건강문제를 나타낸다
- 침입탐지 > 컴퓨터 네트워크에 대한 공격은 보편화되었다. 침입의 다수는 네트워크에 대한 예외적인 행위를 감시하는 경우에 탐지할 수 있다

20. 평균으로부터 t Standard Deviation 이상 떨어져 있는 값들을 이상값으로 판단하고 t는 3으로 설정하는 이상값 검색 알고리즘
> ESD(Extreme Studentized Deviation)

728x90