해야겠지?

공부/확률통계

[프로그래밍 확률 통계] 02 논리적인 자료의 요약

jinyong 2023. 5. 22. 00:46
728x90
반응형

<논리적 요약이 필요한 이유>
수치를 통한 연속형 자료 요약시 그림이나 도표 (시각화)에 의한 분석의 단점으로는 작성자의 주관적 판단에 따라 달라지므로 일관성, 객관성이 부족하다. (시각적 자료는 이론적 근거 제시가 어렵다)
 → 많은 양의 자료를 의미있는 수치로 요약하여 대략적인 분포상태를 파악 가능하므로 단점 보완 가능

1. 중심위치의 측도 (measure of center): 자료의 중심위치

  1) 평균(mean): 가장 많이 사용되는 방법으로 모든 관측값의 합을 자료의 개수로 나눈 것 (관측값들의 무게중심)
    - np.mean()
    - 관측값의 산술평균으로, 통계에서 기초적인 통계수치로 가장 많이 사용되나, 극단적으로 큰 값이나 작은 값의 영향을 많이 받음

  2) 중앙값(median): 전체 관측값을 정렬했을 때, 가운데 위치하는 값
    - np.median()
    - 자료 개수가 홀수(n) 이면, (n+1)/2 번째 관측값, 짝수(m) 이면 m/2, m/2+1 번째 관측값의 평균
    - 관측값을 크기 순서대로 정렬할때 중앙에 위치. 가운데에 위치한 값 이외의 값의 크기는 중요하지 않다. 관측값의 변화에 민감하지 않고, 극단값의 영향을 받지않음.
    - 새로운 값이 추가되면 다시 정렬 후 새로 계산해야하므로, 자주 사용되지않음

  3) 최빈값(mode) - 거의 사용안함
    - stats.mode() (from scipy import stats) (최빈값 출력: mode[0][0], 빈도수 출력: mode[1][0])
    - 관측값 중 가장 자주 나오는 값
    - 이산형/범주형 자료에서 많이 사용
    - 연속형 자료에서는 같은 값이 나오는 경우는 흔치않으므로 최빈값을 사용하기 부적절. 단봉형 분포를 갖는 자료에서만 유용

  4) 평균(mean) vs 중앙값(median) vs 최빈값(mode) 비교
    - 사용빈도: 평균 > 중앙값 > 최빈값
    - 평균(mean): 이해하기 쉽고 통계적으로 가장 많이 사용. 관측값이 골고루 반영. 극단값으로 인한 영향을 많이 받음.
    - 중앙값(median): 중앙부분 외 관측값의 변화에 민감하지 않음. 극단값으로 인한 영향을 받지않음.
     → 극단값의 영향을 배제하고 싶으면 중앙값 사용, 전체 관측값을 모두 포함하고 싶으면 평균 사용.
    - 단봉형 대칭: 평균 = 중앙값 = 최빈값
    - 이봉형 대칭: 평균 = 중앙값 ≠ 최빈값
    - 비대칭 분포: 평균 ≠ 중앙값 ≠ 최빈값 
     → 왼쪽으로 치우치면(positively skewed; 오른쪽꼬리분포) 중앙값<평균, 오른쪽으로 치우치면(negatively skewed; 왼쪽꼬리분포) 평균<중앙값)


2. 퍼진정도의 측도 (measure of dispersion): 자료가 중심위치로 부터 얼마나 흩어져 있는지

  1) 분산(Variance): 데이터가 중심위치로부터 얼마나 떨어져있는가
    - variance()
    - 각 관측값이 자료의 평균으로부터 떨어진 정도를 숫자로 표현
    - 분산(s²) = 편차의 제곱의 평균 (편차 = 관측값 - 평균)
      (표본분산(s²)은 일부 표본 대상, 모분산(σ²) 은 모집단 전체를 사용하는 경우)

  2) 표준편차(Standard Deviation): 분산의 양의 제곱근 (s = +√s²)
    - stdev() (from statistics import variance, stdev)

  3) 범위(Range): 관측값에서 최대값과 최소값의 차이 --- 잘 쓰이지 않음
    - np.max() - np.min()
    - 장점: 간편하게 구할 수 있고 해석 용이
    - 단점: 중간에 위치한 값은 고려되지 않고, 극단값의 영향이 클 수 있다.

  4) 백분위수: 중앙값을 확장한 개념으로 자료를 순서대로 정렬했을때 백분율로 특정위치의 값을 표현
    - np.percentile()
    - 100*p 백분위수 구하기: 관측값을 오름차순으로 배열 > 관측값의 개수(n) 에 p 곱셈 > n*p가 정수인 경우 n*p 번째로 작은 관측값과 n*p+1 번째로 작은 관측값의 평균, n*p가 정수가 아닌 경우 n*p에서 정수부분에 1을 더한값인 m을 구한 후 m번째로 작은 관측값
      (n=10, p=0.2 백분위수를 구할때, 최소부터 0.2 백분위와 최대부터 0.8 백분위의 평균)

  5) 사분위수 범위
    - Q1 = np.percentile(25), Q2 = np.percentile(50)(=np.median()), Q3 = np.percentile(75)
    - 사분위수 범위 (IQR) = Q3-Q1 (관측값의 중간 50%에 대한 범위)

  6) 표준편차 vs 범위 vs 사분위수 범위 비교
    - 표준편차: 전체 관측값의 퍼진 정도를 골고루 반영, 극단적인 관측값에 의해 영향을 받음
    - 사분위수 범위: 극단값의 영향 없이 퍼진정도를 확인 가능, Q1~Q3 사이 관측값의 분포는 알 수 없다.
    - 범위: 퍼진정도, 표준편차와 사분위수 범위의 단점을 모두 가짐

  7) 변동계수: 평균에 대한 상대적인 퍼진 정도를 백분율(%)로 나타냄
    - CV = 표준편차/평균 * 100
    - 비교대상의 단위가 다르거나 단위가 없는 경우 변동계수를 통해 퍼진정도 비교 가능

  8) 도수분포표에서의 자료의 요약
    - 자료가 도수분포표로 요양되고 원 자료는 주어지지 않을 경우, 계급구간의 모든 관측값이 계급의 중간값을 갖는다고 가정하여 평균과 분산을 계산
원 자료는 그룹화에 의해 정보가 상실되기 때문에, 가능하다면 원 자료를 이용
    - 도수분포표에서의 평균: Σ(각 계급의 중간값 * 각 계급의 상대도수) (상대도수: 각 계급의 도수/전체 자료의 개수)
    - 도수분포표에서의 분산: Σ(각 계급의 중간값 - 평균)² * 각 계급의 도수 / (전체 자료의 개수-1)


3. 상자그림 (Box Plot (Box-whisker plot))
  - plt.boxplot()
  - 다섯가지 요약 수치 (최소값, Q1, Q2, Q3, 최대값)를 그림으로 표현
  - 이상값: 정상범위를 벗어난 수치로 Q1보다 1.5IQR 작거나 Q3보다 1.5IQR 큰 값 (IQR = Q3 - Q1)
  - 봉우리가 여러개인 분포에서는 분석 어려움


4. 두 변수 자료의 요약

  1)범주형 자료의 요약(변수가 두개일 때): 분할표
    - 도수분포표를 2차원으로 확장한 형태로 요약
    - pd.crosstab(index[기준범주], columns[관측범주])

  2) 수치형 자료의 요약(변수가 두개일 때): 산점도, 공분산, 상관계수
    ① 산점도(Scatter plot): 두 연속형 변수 x, y 관측값을 좌표평면에 표시함
      - plt.scatter(x축변수, y축변수)
      - 두 변수 사이의 관계를 시각적으로 파악, 관측값이 많은 경우 점들이 띠를 형성

    ② 공분산: 두 변수 x, y에 대하여 서로 어떤 관계를 가지는지 나타냄, cov(x, y) 로 표현
      - dataframe.cov()
      - 두 변수의 편차를 곱해서 더한 후 자료의 개수로 나누어줌
      - 자료가 평균값으로부터 얼마나 멀리 떨어져 있는지 나타냄 (분산과 유사)

    ③상관계수(Correlation): 두 변수 x, y에 대하여 관측값 n개의 짝이 주어질 때 산점도의 점들이 직선에 가까운 정도를 수치로 나타내어 관계를 파악
      - 피어슨의 상관계수 r(=ρ)
      - dataframe.corr()
      - 표본상관계수 r은 항상 -1 과 1 사이에 존재, 절대값의 크기는 직선관계에 가까운 정도를 의미, 부호는 직선관계의 방향을 나타냄
      - r>0: 직선형 기울기 양수, 점들이 우상향 방향으로 띠를 형성. 두 변수가 비례 관계
      - r<0: 직선형 기울기 음수, 점들이 우하향 방향으로 띠를 형성. 두 변수가 반비례 관계
      - r=±1: 양/음의 상관관계 (모든 점이 정확히 기울기가 양수/음수인 직선에 위치)
      - r=0: 상관관계가 없다.
      - 상관계수는 단위가 없다. (분모/분자 상쇄) 단위가 다른 변수에서 직선관계의 정도 비교 가능
      - 상관계수는 직선관계 일때만 적합 (포물선은 상관계수로 해석 불가능)
      - 상관계수를 구하기 전에 산점도를 보고 전체 경향을 파악한 후 상관계수 계산
      - 큰 상관계수 값이 항상 두 변수 사이의 어떠한 인과관계를 의미하지 않는다. (다른 인과관계가 존재할 수 있다.)
        (상관계수가 높다 ≠ 인과관계이다)

728x90
반응형