이때까지 제가 했던 분석의 대부분은
데이터 수집(크롤링) -> 데이터 분석 -> 시각화 의 과정을 거쳐왔습니다.
하지만 프로젝트를 진행하면서
용어에 대한 지식 자체가 부족했고
사람들과 의사소통을 넘어 간단한 논문 내용 조차, 통계 분석 결과 조차
해석 하기 어려웠습니다.
그렇기에 앞으로 공부와 복습을 위해
단어 및 공부 내용을
정의와 함께 간단하게 살펴보는 게시글을
올리게 되었습니다.
저는 R을 기반으로 공부하기 때문에
하단에 정의와 함께 게시된 코드는
R 코드 기반입니다.
1. 결측치
결측치는 NA, 즉 비어있는 값 입니다..
데이터를 전처리할 때 결측값을 제거하는 일이 종종 있었습니다.
결측치가 포함된 채 분석을 진행했을 때
분석 결과가 완전 다른 결과를 도출하거나, 도출 되지 않을 수도 있기에
결측치를 제거하는 상황을, 그리고 방법을 늘 생각해야합니다.
결측치를 알아보는 코드는
is.na()
->변수 또는 테이블 내에 na여부를 확인해주는 코드<-
인덱스 순서대로
na 가 해당되면 TURE를 출력
na에 해당되지 않으면 FALSE를 출력
is.na() 응용
결측치 값은 결국 없다는 거니까
x변수에 있는 결측치 값을
전부다 0으로 바꾸고 싶다면?
x[in.na(x)] <- 0
을 실행하는 것으로 간단하게 바꿀 수 있다.
혹은
그냥 변수 및 테이블에서 결측치를 제외하고
새롭게 변수에 저장하고 싶다면?
x <- as.vector(na.omit(x))
를 실행하면 x변수에 있는
결측치를 제거한 내용이
다시 x에 저장되는 것을 볼 수 있습니다.
sum(is.na())
코드를 실행한다면
변수 또는 테이블 내에 na 갯수를 출력해줍니다.
na가 포함된 변수 또는 테이블은
sum이 실행이 되지 않습니다.
그렇기에 결측치를 제외하고 계산을 하고 싶을땐
sum(열 또는 테이블 명, na.rm = TRUE)
를 실행해주면 됩니다.
2. 이상치
이상치는 정상 범주에서 크게 벗어난 값을 의미합니다.
평균을 산출할때 평균에 극한 영향을 미칠만큼 떨어져 있는 값 입니다.
즉 50, 51,52,53,54, 90이 있으면 90이 이상치에 해당합니다.
보이는 그림과 같이
상단에 Outlier이 이상치(극단치) 이며,
범위 이외의 값을 보이고 있기에
분석을 실행할 시 삭제하고 진행해야 합니다.
R 내에서도 이상치를 확인하는 코드를 확인해보겠습니다.
a <- c(50,51,52,53,54,90) 가 있을 때,
boxplot(a)를 실행한다면
의 값을 출력하게 됩니다.
그리고
boxplot.stats(a)$out 를 실행한다면
boxplot(a)에서 예상했듯이
90을 출력하게 될 것입니다.
3. 상관관계 분석
상관관계 분석이란
x와 y사이의 선형성 정도를 측정하는 방법입니다.
예를 들어 자동차 중량과 연비는 선형적 관계가 있다고 한다 라고 표현하는 이 의미에 대한
참거짓을 판별하는 것을 상관관계 분석이라고 합니다.
모델을 산점도 그래프로 나타내 그 상관관계를 확인하는 방법과
lm()이라는 코드를 사용하여 수치로 확인한는 방법이 있습니다.
무작위 숫자를 통해 간단하게 알아볼 것입니다.
a <- c(50,51,52,53,54,90,1,6,4,3,543,57,2,5,7,56,546,2,3)
b <- c(21,22,23,24,25,91,2,3,4,5,426,54,645,7,34,53,45,16,2)
두 가지 변수를 사용했으며
c <- data.frame(a,b)
2개를 data.frame으로 만들어서 진행했습니다.
plot(a~b, data= c)
이상치를 제거하지 않고 진행했습니다.
상단의 그래프를 보시면 산점도가 흩어져 있는 모습을 확인할 수 있습니다.
이제 관측값들의 추세를 가장 잘 나타낼 수 있는 선인 회귀선을 그어볼 것 입니다.
d <- lm(a~b, data= c)
abline(d)
회귀선을 그었지만 그다지 상관관계를 확인하기 힘든 모습입니다.
마지막으로
cor(a,b)로 상관계수를 확인해 본 결과
0.3086924 의 결과 값을 출력했습니다.
분석하는 기준에 따라 수치 값의 뜻이 상이하겠지만,
0.5 이상, -0.5 이하의 값이 출력되면
두 변수의 상관성이 높다고 판단합니다.
***상관 계수 출력 값이 0.5 이상 양수면 정비례 관계로써 상관성이 높으며
상관 계수 출력 값이 -0.5 이하 음수면 반비례 관계로써 상관성이 높습니다***
우리는 단순히 a,b를 비교하는 상관성 분석이였기에
a,b의 수치는 큰 상관성을 보여주고 있지 않다는 결과를 도출해 낼 수 있었습니다.
추가적으로 분석을 진행할때
상관 분석 실행 시
p-values 값을 확인하여 유의함을 확인할 수 있습니다.
p-values가 0.05보다 작으면 해당 모델은 유의한 모델이기에
p-values를 확인 해주시기 바랍니다.
상관관계 분석과 관련된 내용을
이론으로 설명만 들을 땐
잘 이해가 되지 않고 왜 하는지 잘 몰랐었지만
최근 하나의 프로젝트를 진행하고 나서
상관관계 분석의 중요성을 깨닫고 공부하기 시작했습니다.
상관관계 관련 내용은 추후 포스팅으로
자세히 다뤄보도록 하겠습니다.
감사합니다.
'R 데이터 분석' 카테고리의 다른 글
엑셀 중 원하는 부분만 끌어와서 시각화 자료 만들기 (0) | 2022.01.14 |
---|---|
웹 크롤링 (0) | 2021.08.19 |
R과 함께하는 반복문 (1) | 2021.03.23 |
R 데이터 분석에 필요한 R studio (2) (1) | 2020.04.06 |
R 데이터 분석에 필요한 R Studio (1) | 2020.03.23 |