1. Data Exploration
- 데이터 분석을 위해 변수들의 상태를 파악
- 중요 함수들
① head(데이터셋) / tail(데이터셋) : 시작/마지막 6개의 record만 조회하는 함수
② summary(데이터셋)
ⓐ 수치형 변수 : 최대값, 최소값, 평균, 1사분위수 등
ⓑ 명목형 변수: 명목값, 데이터 개수
2. 변수 중요도
- 변수 선택법과 유사한 개념으로, 모형을 생성하여 사용된 변수의 중요도를 살피는 과정
- 종류 : klaR 패키지
- 특정 변수가 주어졌을 때 클래스가 어떻게 분류되는지에 대한 '에러율'을 계산, 그래픽으로 결과 보여줌
- greedy. wilks() : 세분화를 위한 stepwise forward 변수선택을 위한 패키지. 종속변수에 가장 영향을 주는 변수를 'wilks lambda'를 활용하여 변수의 중요도 정리
* wilks lambda = 집단내분산/총분산
3. 변수의 구간화
- 연속형 변수를 분석 목적에 맞게 '구간화' 하여 모델링에 적용
- 신용평가모형, 고객 세분화 같은 시스템에서 모형에 활용하는 각 변수들을 구간화해서 구간별로 점수를 적용하는 '스코어링 방식'으로 많이 활용되고 있음
(1) 구간화방법
① binning : 신용평가모형의 개발에서 연속형변수를 범주형변수로 구간화하는데 자주 활용되는 방법
② 의사결정나무 : 동일한 변수를 여러 번의 분리기준으로 사용 가능하기에, 연속 변수가 반복적으로 선택되는 경우 각각의 분리 기준 값으로 연속형 변수를 구간화 가능.
# 기초 분석 및 데이터 관리
1. 결측값 인식 및 처리
1) 결측값이란 (Missing Value)
- NA, 99999999, (공백), Unknown, Not Answer 등으로 표현됨
- 결측값을 처리하기 위해 많은 시간을 사용하는 건 비효율적
- 결측값 처리는 전체 작업속도에 많은 영향을 줌
- '0'을 결측값으로 표현하면 안됨 ('0'이라는 데이터에 의미를 두고 사용하는 경우도 있기에)
- 결측값 자체의 의미가 있는 경우도 있는데, 예를 들어 설문조사 시 질문에 해당이 안되는 경우 공란으로 남겨두어 결측치가 발생하는 경우
2) 결측값 처리 방법
① 단순 대치법
ㄱ) Completes analysis : 결측값 삭제
ㄴ) 평균대치법 : 다른 데이터의 평균으로 결측치를 대치
- 비조건부 평균 대치법: 관측데이터의 평균으로 대치
- 조건부 평균 대치법: 회귀분석을 활용한 대치법
ㄷ) 단순확률 대치법 : 평균대치법의 '과소 추정문제'를 보완하고자 고안된 방법
- Hot deck 방법: 변수값이 유사한 집단에서 하나를 뽑아 결측치와 대치
- nearest neighbor : 결측치 주변에 있는 이웃값 중 가장 중심이 되는 데이터로 대치
② 다중 대치법
- 여러번 반복을 통해 가장 완전하다고 생각되는 값을 구해서 대치하는 방법
- 총 3단계 : 1단계 대치 > 2단계 분석 > 3단계 결합
3) R에서 결측값 처리
함수 | 내용 |
complete.cases() | 데이터내 레코드에 결측값이 있으면 FALSE, 없으면 TRUE로 반환 (*결측값이 없으면 완전한거니까 complete 즉 T로 표현되는 것) |
is.na() | 결측값을 NA로 인식하여, 결측값있으면 TRUE 없으면 FALSE로 반환 |
DMwR 패키지의 centrallmputation() | NA 값에 가운데 값으로 대치, 숫자는 중위수, 요인은 최빈값으로 |
DMwR 패키지의 knnlmputation() | NA 값을 최근 이웃 분류 알고리즘 사용하여 대치 |
Amelia 패키지의 amelia() | time-series-cross-sectional data set : 여러 국가에서 매년 측정된 자료로 활용 *랜덤포레스트모델은 결측값이 존재하는 경우 바로 에러가 발생 *randomForest 패키지의 rflmpute() 함수를 활용하여 NA 결측값을 대치한 후 알고리즘에 적용 |
2. 이상값 인식과 처리
1) 이상값이란?
- 의도하지 않게 잘못 입력하거나, 분석 목적에 부합되지 않아 제거해야 하는 경우 (Bad Data)
- 의도하지 않은 현상이지만 분석에 포함해야 하는 경우
- 의도된 이상값인 경우
- 이상값을 꼭 제거해야 하는 건 아니기 때문에 분석 목적이나 종류에 따라 적절한 판단 필요
2) 이상값 인식 방법
① ESD : 표준정규분포 활용
- 평균으로부터 3표준편차 떨어진 값
- 3표준편차 범위 내에는 약 99.7% 정도의 자료가 포함되는 것으로, 즉 대다수의 데이터가 들어오는 범위이기에 이 안에도 들어오지 않는 값이 있다면 '이상치'로 판단하는 것
② 사분위수 이용한 제거 방법
- Q1~Q3 사이는 IQR(사분위범위) 라고 칭하며 이 안에 들어온 값은 정상값이라 판단
- 계산법: Q1-1.5(Q3-Q1) < 데이터 < Q3+1.5(Q3-Q1)
- 위의 계산 통한 값을 기준으로 잡고 이를 벗어나는 데이터 '이상치'로 판단
3) 절단 방법
① 기하평균을 이용한 제거
- 기하 평균 이용: geo_mean
- 하단, 상단 %를 이용한 제거 : 10% 절단 (상하위 5%에 해당되는 데이터 제거)
② 극단값 조정 방법
- 상한값과 하한값을 벗어하는 값(=이상치)들을 상한, 하한값으로 바꾸어 활용
- Q1에 1.5 곱한 값 (=하한값) , Q3에 1.5 곱한 값 (=상한값)
'ADsP > 3과목' 카테고리의 다른 글
[3과목] 3-4. 통계분석 (2) 기초통계분석 (0) | 2022.10.01 |
---|---|
[3과목] 3-4. 통계분석 (1)통계분석 이해 (1) | 2022.09.25 |
[3과목] 3-3. 데이터마트 (2) | 2022.09.19 |
[3과목] 3-2. R기초 (2) 매트릭스 & 데이터프레임 (0) | 2022.09.18 |
[3과목] 3-2. R 기초 (1) 변수& 벡터 (0) | 2022.09.17 |