1.1 정형화된 데이터의 요소 ~ 1.3 위치 추정

hyeji·2022년 9월 18일
0

우리는 많은 데이터를 얻고있지만 대부분 정형화되지 않은 상태의 데이터이다.

데이터를 이용하기 위해서는 데이터를 활용 가능한 형태의 정보로 변환하는 것이 중요함

활용 가능한 형태의 정보 → 정형화된 형태의 데이터

❓정형 데이터의 가장 기본이 되는 종류

  • 수치형 데이터
    • 연속형 데이터 : 일정 범위 안에서 어떤 값이든 취할 수 있는 데이터 (ex. 키, 몸무게, 풍속 등)
    • 이산형 데이터 : 정수 값만 취할 수 있는 데이터 (ex. 사건 발생 빈도, 횟수 등)
  • 범주형 데이터
    • 이진 데이터 : 두 개의 값 중 하나를 갖는 데이터 (ex. 예/아니오, 참/거짓 등)
    • 명목형 데이터 : 범주 안의 값들이 순서를 갖지 않는 데이터 (ex. 혈액형, 성별, 우편번호 등)
    • 순서형 데이터 : 범주 안의 값들이 순서를 갖는 데이터 (ex. 순위, 평점, 등급 등)

위와 같이 데이터 종류를 분류하는 이유는?

데이터를 어떻게 처리할지 정하는 것과 같음

데이터 분석, 모델링, 시각화, 해석 등에 데이터의 종류가 중요한 역할을 하기 때문

(ex. 우편번호는 숫자로 되어있지만 수치형 데이터가 아님 → 이를 더하거나 곱해도 어떤 의미있는 결과가 나오지 않는다.)

데이터를 시각화 할 때,
수치형 데이터데이터가 어떻게 분포되어 있는지가 중요하고,

범주형 데이터는 데이터 값에 따라 수치형 데이터가 어떻게 변화하는지 보는 것이 중요

데이터 형태

데이터를 분석할 때 가장 많이 사용되는 형태는 엑셀 같은 테이블 데이터

테이블 데이터 : 행과 열로 이루어진 이차원 행렬 (ex. 데이터 프레임)

  • 행 : 각 레코드(사건, 관측값)을 나타냄
  • 열 : 각 피쳐(변수, 특징)를 나타냄

기본적으로 데이터 프레임에서는 각 행마다 순차적으로 정수값을 붙여 이를 인덱스로 사용함

💡 다중인덱스(멀티인덱스) `pandas`에서는 다중 인덱스를 설정할 수 있지만 `data.frame`(R)에서는 불가능 `data.table`, `dplyr`은 가능

이외에도 시계열 데이터, 공간 데이터, 그래프(네트워크) 데이터 등 여러 형태의 데이터가 있음

1.3 위치 추정

데이터가 주어졌을 때 각 변수의 대푯값을 구하는 것이 가장 기초적인 단계

대푯값으로 사용될 수 있는 값

  • 평균 : 가장 기본적인 위치 추정 방법으로 계산과 사용이 쉽지만 가장 좋은 방법은 아니다. → 이상값에 민감하기 때문에
    • 산술평균 : 모든 값의 총합을 값의 개수로 나눈 값
      import numpy as np
      
      np.mean(data['column1'])
    • 절사평균 : 값들을 크기 순으로 정렬한 후, 양 끝에서 일정 개수의 값들을 삭제한 뒤 남은 값으로 평균을 구한 값
      from scipy import stats
      
      stats.trim_mean(data['column2'], 0.1) # 데이터의 양 끝 10%를 삭제한다는 뜻
      stats.trim_mean(data['column2'], 0.2) # 데이터의 양 끝 20%를 삭제한다는 뜻
      (ex. 심사 점수의 최고점과 최저점을 제외한 점수의 평균)
      • 장점 이상치 제거에 용이하다
    • 가중평균 : 각 데이터 값에 가중치를 곱한 값들의 총합을 가중치의 총합으로 나눈 값
      import numpy as np
      
      rate = [0.1, 0.8, 1.0, 2.0] # 가중치
      
      np.average(data['column3'], weights = rate)
      • 가중평균을 사용하는 두 가지 상황
        1. 관측값에 더 작은 가중치를 부여할 때
          → 어떤 값들이 다른 값들에 비해 큰 변화량을 가질 때
          (ex. 여러 기계 중 한 기계의 정확도가 떨어진다면 그 기계의 데이터에는 낮은 가중치를 부여하는 것이 합리적이다.)
        2. 관측값에 더 큰 가중치를 부여할 때
          → 관심 있는 서로 다른 대조군에 대해 항상 같은 수가 얻어지지 않음.
          (ex. 온라인 실험을 진행할 때,모든 사용자 그룹에 대해 정확히 같은 비율을 반영하는 데이터를 수집하기 어려움 → 데이터가 부족한 소수 그룹에 더 큰 가중치를 부여)
  • 중앙값
    • 중앙값 : 데이터를 순서대로 일렬로 정렬했을 때, 한가운데 위치한 값
      만약 데이터가 짝수라면 가운데 있는 두 값의 평균이 중앙값이 된다.

      data['column4'].median()
      
      import statistics as st
      
      st.median(data['column4']
    • 가중 중앙값 : 상위 절반의 가중치 합과 하위 절반의 가중치 합이 동일한 위치의 값

      ```jsx
      import wquantiles
      
      rate = [0.1, 0.8, 1.0, 2.0] # 가중치
      wqantiles.median(data['column5'], weights=rate)
      ```

      → 중앙값과 가중 중앙값 모두 이상값에 로버스트하다는 장점이 있다.

    • 이상값 : 데이터 집합에서 다른 값들과 매우 멀리 떨어져 있는 값

    • 로버스트 : 민감하지 않다

profile
Data Analyst

0개의 댓글