본문 바로가기
[개발] 이야기

python 기술적 지표 구현해 보기(1) [Describe, 평균, 분산, 사분위]

by 헤이나우
반응형

기술적 지표 count, std, min, quartile

  • 데이터를 확인하다보면 각각 피처들의 형태를 파악해야 하는 경우가 많습니다.여기서 알아 볼것은 판다스의 describe를 통해 알수 있는 count, mean, std, min, 25%, 50%, 75%, max를 알아 볼텐데요 여기선 각각 무엇을 의미하는지 간단하게 알아보고, 다음 포스팅에서 각각 파이썬으로 구하는 함수를 구현해 보겠습니다.
  • 시각화를 할때 데이터의 가지고 있는 속성들을 기술적인 지표를 통해서 빠르게 확인이 가능합니다.
  • 왜 pandas나 numpy를 통해서 알수 있는것들을 직접구현해 보나요? 라고 생각할수 있습니다.
  • 하지만 직접 함수를 구현해 보면서 내부에서 어떻게 처리가 되는지 알수 있고 원론적인 내용을 파악할수 있어서 직접 구현해 보는것만큼 좋은건 없다고 생각이 듭니다.

내용 확인

  • 우선 우리가 구현해 보기전에 pandas, numpy로 각각의 지표를 확인하는 방법을 알아 봅시다.
    • [1,2,3,3.5,7,9,11,13,15,17] 요 리스트의 값들의 각각 통계를 확인해 봅시다.
  • values = [1,2,3,3.5,7,9,11,13,15,17] s1 = pd.Series(values) s1

  • 판다스의 시리즈의 describe()함수를 통해서 값들의 기술적 통계를 확인해 봅시다.
s1.describe()

그럼 위와 같이 각각 count, mean, std, min, 25%, 50%, 75%, max 값들이 무엇을 의미하는지 알아 봅시다.

  1. count : 데이터의 총 개수
  2. mean : 데이터 리스트의 평균
  3. std : 표준분산
  4. min : 최소값
  5. quartile
  6. 최대값

그럼 구현해 보기에 앞서 각각 이 지표들을 가지고 무엇을 알수 있을까요?

  1. count : 데이터의 총 개수를 파악하고 데이터가 얼마만큼 있는지 확인할 수 있습니다.
  2. mean : 데이터총 개수와 평균을 알면 데이터의 범위의 중간을 알수 있습니다. 평균으로 부터 데이터가 분포되어 있겠구나
  3. std : 표준분산을 알수 있으면 데이터의 분산을 알수 있기 때문에 데이터가 평균으로 부터 분포되어 있는데 얼마만큼 분포되어 있는지 대략 알수 있습니다.
    1. 분산은 평균과 각각 데이터의 차이에서 제곱을 한값이 분산입니다.
    2. 1번의 분산에서 스퀘어 루트를 씌운것이 표준분산입니다.
  4. 최소값, 최대값 : 데이터의 가장큰값과 가장 작은값을 알수 있기 때문에 데이터의 분포를 정확히 알수 있습니다.
  5. quartile : 4분위수로,단순히 데이터를 나열하였을 때 데이터의 25%지점의 값, 가운데 값, 75%값을 알수 있습니다.

혹시 이러한값들을 한번에 볼수 있는 차트가 있는데 알고 있나요?

seaborn이나 pandas에서 boxplot을 통해서 이러한 값들을 한번에 볼수 있도록 차트화 하고 있습니다. 즉, 우리가 이런것들을 알아야 차트를 정확한 눈으로 볼수 있게 되는 겁니다.

import seaborn as sns
sns.boxplot(y=s1)

그럼 다음부터 기술적 지표 통계들을 어떻게 구하는지 하나씩 알아 봅시다.

 

[Data Science] - python 기술적 지표 구현해 보기(1) [Describe, 평균, 분산, 사분위]

[Data Science] - python 기술적 지표 구현해 보기(2) [count, mean, std 구현하기]

[Data Science] - python 기술적 지표 구현해 보기(3) [min, max, quartile 구현하기]

반응형

댓글