반응형
snowman95
코딩수련장
snowman95
전체 방문자
오늘
어제
  • 분류 전체보기 (229)
    • 앱테크 (3)
    • 옵시디언 (5)
    • 드라마, 영화 (1)
    • 개발자 이야기 (23)
    • 프로젝트 (10)
      • 프로젝트 방법론 (7)
      • 프로젝트 기록 (2)
      • Github (1)
    • 개발 지식 (0)
      • 디자인 패턴 (0)
    • 프론트엔드 개발 (5)
      • 테크트리 (2)
      • React.js (19)
      • ReactNative (2)
      • Next.js (6)
      • GraphQL (6)
      • 패키지 매니저 (2)
      • 라이브러리 (3)
      • 상태관리 라이브러리 (4)
      • Web 지식 (3)
      • HTML CSS (26)
      • Javascript (16)
      • 도구 (Tool) (3)
      • 성능 최적화 (1)
      • 디자인시스템 (0)
    • Python (53)
      • 모음집 (1)
      • 문법 (12)
      • 라이브러리 (15)
      • 알고리즘 (10)
      • 백준 문제풀이 (9)
      • 코딩테스트 (2)
      • 도구 (Tool) (3)
    • C++ (20)
      • 알고리즘 (6)
      • 삼성SW기출 (6)
      • 삼성 A형 (6)
    • 데이터사이언스 (1)
    • 인프라 (9)
      • 하드웨어 지식 (4)
      • Ansible (2)
      • Database (2)
      • 쉘스크립트 (1)
    • 주식 (0)
    • 취업 준비 (4)
      • 취업 이야기 (0)

블로그 메뉴

  • 홈
  • 태그

공지사항

인기 글

태그

  • 티스토리챌린지
  • A형
  • 기계식키보드 #nuphy
  • 공간복잡도
  • 백준
  • 알고리즘
  • 나의 해방일지
  • 삼성SDS
  • 면접
  • GraphQL
  • nextjs
  • 전공 요약 #운영체제
  • 전공 요약 #데이터베이스
  • C++
  • 삼성SW역량테스트
  • 전공요약
  • 오블완
  • 언어
  • 전공 요약 #네트워크
  • Next.js #graphql #tailwind.css

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
snowman95

코딩수련장

통계학, 데이터 분석 공부
데이터사이언스

통계학, 데이터 분석 공부

2021. 3. 15. 22:02
728x90
반응형

통계학

과학적인 방법에 의해 자료를 수집,

목적에 맞게 적절한 방법에 의해 자료를 정리, 분석하는 학문

 

● 기술통계학 ( Descriptive Statistics )

자료의 특성을 표, 그림, 통계량 등을 사용하여 이해하기 쉽게 정리, 요약

 

● 추론통계학 ( Inferential Statistics )

표본조사를 통해 표본 정보(통계량)을 구하고(기술통계)

통계량에 입각하여 모집단 정보(모수)를 추론

 

모집단과 표본

  모집단 (Population)
연구할 대상 전체
표본 (Sample)
모집단에서 추출/관측된 일부
구분 모수 (모집단 정보)
통계량 (표본 정보)
평균 μ (모평균) var(x) (표본 평균)
분산 σ^2 (모분산) s^2 (표본 분산)
표준편차 σ (표준편차) s (표본 표준편차)
이항 비율 p(모비율) p^ (표본 비율)
피 헷이라고 읽음
헷은 추정했다~ 라는 뜻

ex) 대한민국 남녀 평균 키를 알고싶다.

   - 모집단 : 대한민국 모든 남녀의 키 

   - 표본 : 대한민국 경기도 OO시 OO동의 모든 남녀의 키

     나는 대한민국 모든 남, 녀가 모집단(표본)인 줄 알았는데 구체적 변수(키) 까지 포함해야 함

 

○ 표본 추출(검사) ( Sampling )

  - 모집단 → 표본

  - 모집단을 모두 조사하는 건 비용이 많이 들기 때문에 표본을 뽑아서 조사

○ 추론 통계 ( Inferential Statistics )

  - 표본 → 모집단

  - 표본 정보(통계량)에 입각하여 모집단 정보를 얻어내는 과정

    표본 조사를 통해 통계량을 구하고(기술통계) 이것을 바탕으로 모수를 추론

  - 추정 : 점추정, 구간추정

  - 검정 : 가설검정

 

변수와 값

변수 ( Variable ) : 측정 가능한 속성 ( 질적, 양적 속성 )

값 ( Value ) : 측정 시점 마다 변화

관측점 ( Observation ) : 동시점 동객체에 대해 측정된 정보 집합

X 독립변수
( Independent Variable )
Y 종속변수
( Dependent Variable )
설명 변수
입력 변수
예측 변수
위험 인자
Feature
연속형 자료 - 공변량,
범주형 자료 - 요인
반응 변수
출력 변수
결과 변수
표적 변수
Label

데이터 타입

● 범주형 (Categorical) = 질적 자료 (Qualitative Data), 질적 변수

 - 명목형 (Norminal)

   순서를 비교 못하는 범주(카테고리) - 성별, 지역

   숫자로 변환했을 때 크고/작음을 못 나타내는 것이 명목형이다.

 - 순서형 (Ordinal)

   순서를 비교 가능한 것 - 자동차 크기 (소,중,대), 계층(상,중,하)

 

● 수치형 (Numeric) = 양적 자료 (Quantitative Data), 양적 변수

 - 이산형 (Discrete)

   범위 안에서 몇 개의 값만 가질 수 있는 것, 셀 수 있는 형태

 - 연속형 (Continuous)

   연속한 범위 안에서 어떤 값이라도 취할 수 있는 것 - 키, 몸무게 온도

 

 

기술 통계학 (Descriptive Statistics)

자료의 특성을 1) 시각적으로 표현 2) 수치적으로 기술

 

● 그래프를 이용한 자료 정리 – 시각적 표현 (그래프, 시각적 표현, EDA)

 

○ 막대그래프 ( Bar/Column Chart )

   - X (수치, 범주), Y (수치, 범주)

   이산확률변수의 확률분포를 시각화할 경우 사용

 

▶예시 1

 - 대상 : 1개의 범주형 변수 

   카테고리별로 얼만큼의 비율을 차지하는지 확인하고자 할 때

 - x축 = 지역 (범주형-명목)

 - y축 = count(개수) 

▶ 예시 2

 - 대상 : 1개의 범주형 변수 + 1개의 수치형 변수

 - x축 = source (범주형-명목)

 - y축 = toe(sum) (수치형-연속)

 

○ Histogram (히스토그램)

  - X(가로)는 계급 구간 (수치형)

  - Y(세로)는 그에 해당하는 값 (도수)

Histogram

○ Box plot (상자그림)

 - X(범주, 수치), Y(수치)

 

 

 - 사분위수 (Quartile) : 크기 순서에 따라 나열한 자료를 4등분

 - 사분위 범위 IQR( Inter Quantile Range ) : Q1 ~ Q3

   데이터가 100개에서 오름차순 정렬했을 때

   10분위수 = 10번째

   중앙값 = 50백분위수

   Q1 = 25 백분위수

   Q3 = 75 백분위수

   IQR = Q3 – Q1

 

   - 그리는 과정

   1. Q1과 Q3로 끝나는 상자 그린다.

   2. 상자 안에 줄을 그어 중앙값(Q2) 표시

   3. Q3+1.5IQR 보다 크거나 Q1-1.5IQR보다 작은 값은 또다른 심볼로 표시한다. = Outlier

   4. 상자의 끝에서 Outlier가 아닌 값 중에 가장 큰, 작은 값까지 줄 긋는다.

Box Plot
(좌)Column Chart / (우)Box Plot

 

○ Stem plot (줄기 – 잎 그림)

1) 가장 큰 자리 수를 기준으로 나눔

   5

   6

   6

   6

   7   

2) 그 다음 자리의 수를 나란히 적는다.

   5 | 1

   6 | 3

   7 | 1 

 

○ Histogram vs Box Plot

   둘 다 하나의 변수에 대해서 전체적인 분포 패턴을 파악할 수 있지만

 - Box Plot : 서로 다른 그룹별로 분포 패턴, 이상치 파악 가능

 - Histogram : 통합적으로 개수 파악함. 각 그룹이 얼마나 분포되어 있는지 확인 불가

 

○ Histogram, Box plot vs Stem Plot

   데이터 많을 때 vs 적을 때

 

 

○ Histogram, 종형곡선 ( Bell Curve ) 이나 비선형적 곡선

연속확률변수의 확률분포를 시각화할 경우

 

 

○ Line Chart

  - X (범주, 수치), Y (수치)

  - 가로 축을 따라 일정 간격으로 표시. 모든 값 데이터는 세로 축을 따라 일정 간격으로 표시됨

    시간별 추세, 일정 간격에 따라 데이터의 추세 표시하는데 유용

○ 100% Stacked Column

  - X (범주, 수치), Y (범주, 수치)

    100% 기준 누적 세로막대형 차트

    여러 데이터 계열을 누적표시, 비율 합계는 항상 100%

    여러 계열을 비율과 시간으로 표시하여 측정하기 유용

○ Pie Chart

  - Color By (범주, 수치), Size By (범주, 수치)

    전체에 대한 각 부분의 비율을 부채꼴 모양으로 나타낸 그래프

    비율을 한눈에 보기 좋음.

○ Scatter Plot Chart

 - X (범주, 수치), Y (범주, 수치)

  여러 데이터 계열에 있는 숫자 값 사이의 관계를 보여주거나

  두 숫자 그룹을 xy좌표로 이루어진 한 계열로 표시

  숫자 값을 표시하고 비교하는데 사용됨.

  범주를 쓸 수 있지만 수치, 수치일 때 사용한다고 보면 됨.

 

○ Area Chart

 - X (범주, 수치), Y (범주, 수치)

   시간에 따른 변화 규모를 강조하는 경우 유용함

   전체에 대한 부분의 관계를 표시하기 위해 사용됨

   Line으로 표시되고 아래 영역이 채워짐.

   연도 별 총 생산량 이런 것

○ TreeMap Chart

  - Hierachy (범주, 수치), (범주, 수치)

  - Size By (범주, 수치)

    각 Node들이 0개 이상의 Children 가질때 표현

 

Hierarchy에 계속 연달아 달 수 있는데 추가한 순서대로

Root

ㄴ Node

ㄴ Node 이런 식으로 타고 들어가게 됨

 

ex) 재생 – 연도 이렇게 넣으면

재생 – 2010, 2011, 2012 / 비재생 – 2010, 2011, 2012 이렇게 박스안에 박스로 표시

해외주식 하는 분들 이거 어디서 많이 보셨죠 ㅎㅎ?

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


● 모 분산의 평균에 대한 가설검증
 

ex)회사에 대한 남자직원의 만족도와 여자 직원의 만족도가 같은지, 다른지를 확인
- 모집단 2개면 t-test
- 모집단 2이상이면 ANOVA

● 모 분산의 분산에 대한 가설검증
- 모집단 1개면 카이제곱 검정
- 모집단 2개면 F-test


독립변수(X) 종속변수(Y) 통계분석방법
범주 범주 카이제곱 검정
범주 연속 T-test, ANOVA
연속 범주 로지스틱 회귀분석 (물고기 몸통길이, 높이, 무게를 알때 참치인지 확인해보고싶다. (True of False))
연속 연속 회귀분석, 구조방정식


상관분석 : 두개의 연속형 변수 상관관계 파악
  . 피어슨 : 간격/비교 (-1~1)
  . 스피어만 : 서열, 순서 (단순히 한 변수가 증가할때 다른 변수도 증가/감소 하는지), 연속형 아니라 순서형이어도 ㄱㅊ
  . 캔달 : 스피어만과 비슷

T-Test : 평균이 A보다 크다/작다/아니다 를 증명하고 싶음
 - 귀무가설 : 평균이 A다.
 - 대립가설 : 평균이 A보다 크다/작다/아니다.
 - P-Value < 0.05 이면 귀무가설 기각
 - 종류
  . One Sample T-Test : 1개의 연속형 변수의 평균이 A보다 크다/작다/아니다 를 증명하고 싶음.
  . Two Sample T-Test : 두 그룹의 모평균의 차가 특정 상수와 같은지 비교하는 검정 (그래서 서로 관계가 없어야함 = 독립이어야 함)
2개의 변수 a,b가 있고, 변수 a에는 2가지 선택권이 있다. a의 선택에 따른 b의 평균의 차이가 A보다 크다/작다/아니다 를 증명하고 싶음.
    . 전제조건 : 모든 변수간 등분산이어야함. 그래서 F-Test 선행 수행
  . Paired T-Test : 짝을 이루는(대응하는) 2개의 변수 a,b에 대해 자료값의 차에 대한 평균이 특정 상수와 같은지 검정

  . One Way ANOVA : 2개의 변수 a,b가 있고, 변수 a에는 2가지'이상' 선택권이 있다.a의 선택에 따른 b의 평균의 차이가 A보다 크다/작다/아니다 를 증명하고 싶음.
    . 전제조건 : 모든 변수간 등분산이어야함. 그래서 Bartelett Test 선행 수행
    . Tukey's Range Test : ANOVA를 통해서 a가 b에 영향을 준다는 것을 증명했을때 a의 각 요소들이 b에 얼만큼 영향을 주었는지 확인
    . 독립 변수 : 범주형 변수 1개, 이 변수는 값이 A,B,C... 이렇게 2개 이상의 종류가 존재 (입력 변수 2개 넣으면 각각 테스트돼서 나옴)
    . 반응 변수 : 연속형 변수 1개 
  . Two Way ANOVA : One Way ANOVA와 다른 점은
    . 독립 변수 : 범주형 변수 2개, 이 변수는 값이 A,B,C... 이렇게 2개 이상의 종류가 존재
    . 반응 변수 : 연속형 변수 1개

F-Test : 2개 변수 간 등분산 여부 확인
 - 귀무가설 : 등분산이다.
 - 대립가설 : 등분산아니다.
 - P-Value < 0.05면 귀무가설 기각
   → 기각을 못시켜야 등분산이라서 T-Test가능함.
Bartlett Test : 3개 이상 변수 간 등분산 여부 확인 
   → 기각을 못시켜야 등분산이라서 T-Test가능함.


Chi-Square Test : 변수 간 독립성 검정
 → T-Test랑 헷갈리게 문제 나옴. 문제에 등분산이다 이런 말 없고 변수 유형도 범주/범주이면 카이제곱
 - 귀무가설 : 두 변수는 독립적이다. (관계 없다)
 - 대립가설 : 두 변수는 연관이 있다.
 - P-Value < 0.05면 귀무가설 기각
 - 변수
   . 독립 변수 : 범주형 변수 1개
   . 반응 변수 : 범주형 변수 1개
ex) 마리화나 사용 (0-25 회)이 학년 수준 (9 학년, 10 학년, 11 학년)에 따라 다른지 검사


Binarizer는 수치형 변수를 임계값 기준으로 0/1로 나눠주는 것임. 명목형 변수는 쿼리문을 이용.


물고기 정보 : 몸통길이, 높이, 무게, 어종(참치/연어/숭어)
 - 상관분석 : 몸통길이, 높이, 무게는 서로 어떤 관계(양의 관계, 음의 관계, 무관)에 있는지 알아보고싶다.
 - 회귀
  . 선형 회귀분석 : 몸통길이,높이로 무게를 예상해보고싶다. 몸통길이와 높이로 함수식을 만들어보고 성능 검증
 - 분류
  . 로지스틱 회귀분석 : 몸통길이, 높이, 무게를 알때 참치인지 확인해보고싶다. (True of False)
                   이름은 회귀분석인데 평가는 회귀가 아닌 '분류'로 해야함.
    . Plot ROC and PR Curves : True를 True로 맞춘것에 대한 False를 False로 맞춘것에 비해 비율. 
                               AUC(Area Under Curve) 값이 0.9이상이면 매우좋음, 0.7~0.8 좋음, ... 
  . Tree 기반 분류 : 좀더 시각적으로 보여줘서 좋음.

 - 군집화
  . (계층적) 군집 분석 : 몸통길이, 높이, 무게를 알때 어떤 어종인지 확인해보고싶다. (참치/연어/송어)
  . 여러 어종과 잡히는곳의 정보가 있을때 참치,연어,숭어는 같은 지역에서 잡히는 물고기로 묶어지는지 확인해보고싶다.
    몇 개의 군집으로 묶을 것인지 정하면, 군집번호가 1,2,3 이런 식으로 묶여서 나옴.
  . Hierarchical Clustering Post Process
    퐁 10개의 군집으로 나뉘었다고 치자. 그 중에서 k개의 군집으로 나누면 제일 합리적인 것으로 판단되었다.
    그래서 k개로 나눴을 경우에 각 군집을 이루는 데이터들을 확인하는 과정
 
- 추천
  . 연관 분석 : 
 - 시계열 분석
 - PCA (주성분 분석) : 몸통길이, 높이, 무게 중에서 원본 데이터를 90% 이상 설명할 수 있는 성분을 알아내고싶다.
 - T-Test
  . One Sample T-Test : 참치의 몸통길이는 A보다 길다는 것을 증명하고 싶다.
  . Two Sample T-Test : 참치와 연어의 몸무게는 차이가 있음을 증명하고 싶다.
  . Paired T-Test : 
  . One Way ANOVA : 어종에 따라(참치,연어,숭어) 몸무게 차이가 있음을 증명하고 싶다.
    . Tukey's Range Test : 어종에 따라 몸무게 차이가 있음을 증명했을 때, 각 어종별로 몸무게 차이가 있음을 증명하는데 얼만큼 영향을 주었는지 보고싶다.
  . Two Way ANOVA : 
 - Chi-Squre Test : 몸통길이와 높이는 서로 독립적인지 확인하고싶다.



- PCA (주성분 분석)
아주 유의해야할 점이 있는데
내가 입력으로 A,B,C,D 넣었고 PCA 돌렸다고 치자
결과 그래프보다 바로밑에 표를 보는게 정확함.
거기 순서대로 고유개별값-상대값-누적값 이렇게 나오는데 거기서 누적값 보면 됨.
1행 - 주성분 1 까지의 누적값 : 0.4
2행 - 주성분 2 까지의 누적값 : 0.6
3행 - 주성분 3 까지의 누적값 : 0.9
4행 - 주성분 4 까지의 누적값 : 1
이런 식으로 나온단 말이지. 문제에서 요구하는 (원래 값의 0.9이상 혹은 0.95이상 설명할 수 있는... = 누적값이 그것 이상 넘어가는 순간을 찾으면 됨)
그리고 주의할 점이 다시 테이블로 돌아가면 주성분 값이 projected_0,1,2,3 이렇게 나올거란 말이지
문제 풀때 주성분을 찾아라고해서 원래 입력한 변수 A,B,C,D 이거 아니고 결과로 새로 만들어진 projected_0,1,2,3 이게 바로 주성분인거임.
그래서 상위 주성분 3개 넣으라면 A,B,C 넣는게 아니라 projected_0,1,2 넣어야 함!



반응형
저작자표시 동일조건 (새창열림)
    snowman95
    snowman95
    (17~19) Unity/Unreal Engine 게임 프로그래머 (20~21) System Administrator ___________ (22~) React 웹 프론트앤드 개발자 __________ 깃헙 : https://github.com/snowman95

    티스토리툴바