跳至主要内容

통계 분석 방법

통계 분석 방법

평균 차이 검정

    ※ 분석 대상변수 : 명목변수  → 연속변수

  • 집단간 평균차이를 검정하는 방법
  • 측정도구들: T-test, ANOVA, ANCOVA, MANOVA
  • 집단 수
    • 2개 이하: T-test(평균의 차이를 검증)
      • 1개: one sample T-test
      • 2개: independent samples T-test
      • 시간: Paird samples T-test(특정 시간을 기준으로 전과 후의 차이를 검증)
    • 3개 이상: ANOVA(분산을 검증)
      • 3개: one way ANOVA
      • 요인(2): two way ANOVA
      • 시간(3): repeated measured ANOVA
      • 시간+요인: two way repeated measured ANOVA
    • Examples
      • 음료수의 용량이 300ml가 맞는지 알고 싶다 → T-test
      • 성별(남, 여)에 따른 성적 차이를 알고 싶다 → independent samples T-test
      • 결혼한 사람과 안한 사람의 연봉 차이를 알 고 싶다 → independent samples T-test
      • 같은 집단에 대해서 다이어트 전과 후의 차이를 알고 싶다 → Paird samples T-test
      • 혈액형에 따른 키의 차이를 분석 → one way ANOVA
      • 4개 매장의 매출액 또는 만족도의 차이를 알고 싶다 → one way ANOVA
      • 1000도 / 1500도로 치킨을 튀겼을때의 맛 차이 → T-test
      • 1000도의 오븐으로 구운 것과 1000도의 기름으로 튀긴 통닭의 맛 차이 → two way ANOVA
      • 어학 연수 참여전과 참여후의 어학 점수 차이 → Paird samples T-test
      • 참여전, 3개월, 6개월, 1년 후의 어학 점수 차이 → repeated measured ANOVA
      • 집단(실험군, 대조군)의 통증 차이 →  T-test
      • 시점(실험 전, 실험 후)의 통증 차이 → T-test
      • 실험 전과 실험 후의 실험군과 대조군의 통증 차이 → two way repeated measured ANOVA

관계 검정

    ※ 분석 대상 변수가 같음

  • 변수와 변수의 관계를 검정
  • 측정도구: 상관 분석, 회귀 분석, 교차 분석, 로지스틱 회귀분석
  • 대표적인 측정도구
    • 상관 분석(Correlation Test): 연속 변수 → 연속 변수
      • 두 변수가 서로 동등한 입장에서 관계를 분석
        • 키카 크면 몸무게도 많이 나가는가?
    • 교차 분석(Chi-Square Test): 질적 변수 → 질적 변수 

    • 회귀 분석(Regression Test): 연속 변수 → 연속 변수
      • 인과 관계: 하나의 변수가 원인이 되어 다른 변수에게 영향을 미치는 관계
      • Simple Regression Analysis(단순 회귀 분석)
        • 독립변수와 종속변수 간의 1차 선형적 관계를 도출하여 독립 변수가 종속변수에 미치는 영향 혹은 예측정도를 분석
      • Multiple Regression(다중 회귀 분석)
      • Hierarchical Regression
      • Logistic Regression(로지스틱 회귀분석)
        • 연속 변수 → 논리값 (T/F, Y/N)

독립변수와 종속변수

독립변수(Independent variable) - 반응변수(Response variable)
  • 연구자가 의도적으로 변화시키는 변수
  • 다른 변수에 영향을 받지 않고 종속 변수에 영향 줄 수 있는 변수
종속변수(Dependent variable) - 결과 변수(Outcome variable)
  • 독립변수에 영향을 받아서 변화하는 변수
※ 독립 변수와 종속 변수 모두 연속형 자료와 범주형 자료 모두 가능하다. 
  • 독립 변수가 연속형 자료이면  → 공변량(Covariance)이라 하고
  • 독립 변수가 범주형 자료이면  →  요인(Factor) 이라 한다.

자료의 종류

범주형 자료 - 질적 자료(Qualitative data)
  • 몇개의 범주(category)를 나타내는 문자나 숫자로 표시된 자료 
  • 일반적으로 빈도수(Frequency)를 이용해서 분석
           ex) 찬성 몇명/반대 몇명, 남 몇명/여 몇명
  1. 명목형 자료
  2. 순위형 자료
수치형 자료 - 양적 자료(Quantitative data) = 연속형 데이터
  • 숫자로 표현 될 수 있고, 수량화 할  수 있으며 평균을 할 수 있는 데이터
  1. 이산형 자료    
    • 자료에 소숫점이 의미를 가지지 못함
    • 무엇인가 세는(count) 자료
    • 일일 방문객 수, 교통사건 건수
  2. 연속형 자료
    • 소숫점이 의미를 가짐

척도의 종류

범주형 자료 - 질적 자료(qualitative data)
  • 명목 척도(범주형)
    • 범주를 구분하는 용도로 쓰이는 척도
    • 전공, 성별,  혈액형, 직업(회사원, 공무원 등)
  • 순위 척도
    • 관찰대상이 지닌 속성에 따라 순위를 결정하는 척도
    • 서열은 있지만 간격이 다르고 수량화할 수 없고 평균을 낼 수 없음
    • 선호도 조사(ex. 매우 좋다/싫다)
수치형 자료 - 양적 자료(quantitative data) = 연속형 데이터
  • 등간 척도
    • 속성의 차이를 양적인 차이로 측정하기 위하여 척도를 간격을 균일하게 분할하여 측정하는 척도
    • 절대 0점은 정의 할 수 없음
  • 비율 척도
    • 절대 영점이 있는 등간 척도


타당성과 신뢰도

  1. 타당성
  2. 정밀도
  3. 정확도


두 그룹에 대한 평균 비교

  • T- test (Student T-test)
  • Mann-Whitney U test (Wilcoxon rank-sum test, Mann-Whitney-Wilcoxon test(MWW)) : 비모수적
  • Welch's T-test
  1. 결과 값이 연속변수인지 판단
    연속변수라면 T-test를 사용할 수 있는 조건을 만족하여, 2번째 조건을 판단
    연속변수가 아니면: MWW
  2. 정규분포인지 아닌지 판단
    정규분포가 맞다면 3번째 조건 판단
    정규분포가 아니면: MWW
  3. 등분산 여부
    등분산이면: T-test
    아니면: Welch's T-test

확률 분포

  • 이산 확률 분포: 이항 분포, 초기하 분포, 포아송 분포
  • 연속 확률 분포: 정규 분포, t-분포, f-분포, 균등분포, 카이제곱 분포, 감마분포

정규분포

축적된 데이터를 기준으로 미래를 예측 할 수 있는 분포
평균과 분산만으로 설명이 가능한 분포

이항분포

결과가 반드시 두가지 중 하나여야 하고, 사건이 족립적으로 발생한다.

세 그룹에 대한 평균 비교

  1. 연속 변수
    • 아닌 경우  → Kruskal-wallis H test
  2. 정규 분포
    • 아닌 경우  → Kruskal-wallis H test
  3. 등분산
    • 아닌 경우  → Welch's ANOVA
  4. Tuckey
상위 3가지 조건을 만족하면 ANOVA를 사용

동일한 대상에 대해 검정

두 그룹의 비교
  • 종속변수가 정규 분포일 때 사용: paired t-test
  • 정규분포가 아니면 Wilcoxon signed rank test 사용(Wilcoxon matched paires rank test, Wilcoxon t-test, Wilcoxon test)
세 그룹이상 비교
  • 연속 데이터이고, 정분분포를 이룸 : (one way) repeated measure ANOVA
  • 연속 데이터이지만 정규분포가 아닐 때: Friedman test
two way repeated measures anova
원인과 시간을 복합적으로 비교하는 방법

评论

此博客中的热门博文

TensorFlow

Anaconda를 이용하여 Tensorflow 설치 Conda환경을 생성 #conda create -n 가상환경 이름 conda create -n tf python=3.6 anaconda 설치된 가상환경 실행 activate tf tf 가상환경에서 tensorflow 설치 pip install tensorflow      TensorFlow 개요 TensorFlow는 dataflow graph로 수학 계산과 데이터의 흐름을 나타낸다. TensorFlow는 dataflow graph를 구성 한 후 session을 생성하여 graph의 일부를 실행한다 Computation Graph TensorFlow 프로그램은 구성 단계 와 실행 단계 로 구성 구성(construction) 단계: 그래프를 조립 실행(execution) 단계: Session을 통해 그래프 연산을 실행 TensorFlow 기본적인 사용법 Argmax 설정한 axis에 따른 가장 큰 값을 가지는 요소의 index를 반환 axis = 0일때 x[0]와 x[1]의 각 요소들을 비교하여 큰 수의 index를 반환하고, axis = 1일때 x[0][]의 요소들 내 큰 수의 index와 x[1][]의 요소들 내 가장 큰 수의 index를 반환 Reshape tf.reshape(tensor, shape, name = None) tensor의 구조를 원하는 shape으로 변환 shape의 한 원소가 -1이라면, 전체 크기가 일정하게 유지되도록 해당 차원의 길이가 자동으로 계산된다. squeeze 차원 중 크기가 1인 차원을 스칼라값으로 바꿔 해당 차원을 제거한다. TensorBoard TensorBard는 TensorFlow에 기록된 로그를 그래프로 시각화시켜 보여주는 도구이다. TensorBoard 실행 tf.summary.FileWriter('log_dir', graph ...

R 데이터 타입

R에서의 데이터 타입 기본형은 Vector 이다. 자료형은 다음과 같다. Vector List Matrix Array DataFrame Vector 정의 다른 언어의 배열과 비슷하고, 한 가지의 스칼라 데이터타입의 데이터들을 저장할 수 있다.       (ex, 숫자만 저장하는 배열/문자열만 저장하는 배열/ a <- 1/ a <- "hello") 슬라이스(Slice)를 제공한다.        Slice란? 배열의 일부를 잘라내고 이를 다시 배열로 다루는 개념 생성 c()함수 안에 원하는 인자들을 나열 > x <- c(1, 2, 3) > x [1] 1 2 3  다음과  x <- c(1, 2, 3)부분에 괄호로 코드를 묶으면 실행된 결과값이 출력된다.        ※ 괄호로 코드를 묶으면 괄호안의 문장을 수행하고 그 결과 값을 화면에 출력 > ( x <- c(1, 2, 3) ) [1] 1 2 3 데이터 접근 인덱스로 데이터에 접근할 수 있고 인덱스는 0이 아닌 1부터 시작한다. 접근 문법 x[n]: vector x의 n번째 요소 x[-n]: vector x에서 n번째 요소를 제외한 나머지를 반환 > x <- c("a", "b", "c") > x[-1] [1] "b" "c" x[idx_vector]: idx_vector에 지정된 요소를 얻어옴. idx_vector는 색인을 표현하는 숫자 vector이다. > x <- c("a", "b", "c") > x[c(1, 2)] [1] "a" "b" x[start:end]: start부터 end까지의 값을 반환, 반환 값은 start위치의 값과...

Pandas Plot

pandas.DataFrame.plot.bar import matplotlib.pyplot as plt import pandas as pd import numpy as np df = pd.DataFrame(np.random.rand(5, 4).round(1),                   index=['snail', 'pig', 'elephant','rabbit', 'giraffe'],                   columns=pd.Index(['speed', 'lifespan', 'active', 'cuite'],                   name='Genus')) ax = df.plot(kind='bar',figsize=(10,4), rot = 0) plt.show() ==> output in Pycharm