6월, 2022의 게시물 표시

회귀 분석 (regression analysis) 001

1. 개념 - 독립변수와 종속변수 사이의 선형적인 관계를 모델링한다. 그로부터 하나 또는 그 이상의 독립변수들이 종속변수에 미치는 영향을 분석한다. 또한 추정된 회귀모형에서, 회귀계수 및 독립변수에 주어진 값을 통해 종속변수를 예측하는 역할을 한다. 2. 회귀 모형의 가정 - 회귀 모형을 만들기 위해서는 선형성, 독립성, 등분산성, 비상관성, 정규성의 5개 가정이 성립되어야한다. 그렇지 않으면, 정상적인 회귀모형이 생성되지 않는다.   1) 선형성 : 독립변수와 종속변수의 관계가 선형적이어야 한다.   2) 독립성 : 단순선형회귀모형에서는 잔차와 독립변수의 값이 서로 독립적이어야한다. 다중선형회귀모형에서는 독립변수 간에 상관성이 없이 독립적이어야한다.   3) 등분산성 : 독립변수와 무관하게 잔차의 분산은 일정해야한다. 즉, 잔차는 고르게 분포되어야한다.   4) 비상관성 : 관측치와 잔차는 서로 상관이 없어야한다. 잔차간에 서로 독립이면 비상관성이 있다고 볼 수 있다.   5) 정규성 : 잔차의 분포는 정규분포를 따라야한다. 시각적으로는 Q-Q plot 을 통해 잔차의 정규성을 검정할 수 있고, 통계적 방법으로는 샤피로-윌크 검정이나 콜모고로프-스미르노프 검정을 통해 정규분포를 따르는지 확인 할 수 있다. 3. 회귀 모형 검증 - 회귀계수 추정, 변수선택 등을 통해 최종적인 회귀모형을 선택했다면, 해당 모형이 적절한지 확인이 필요하다. - 회귀 모형 검증을 위해 아래의 항목에 대하여 확인한다.   1) 회귀 모형이 통계적으로 유의미 한지 확인한다.   - 유의수준 5% 하에서 F-통계량의 p-value 가 0.05보다 작으면 추정된 회귀 모형이 통계적으로 유의하다고 할 수 있다.   2) 회귀 계수들이 유의미한지 확인한다.   - 각 회귀계수의 t-통계량을 구하고 유의수준 5% 하에서 p-value 가 0.05보다 작으면 추정된 회귀 계수는 통계적으로 유의하다고 할 수 있다. ...

범주형 자료 분석 (categorical data analysis) 방법 003 : 단일표본 T-검정, 대응표본 T-검정, 독립표본 T-검정

1. T-검정 1-1. 개념 - T-검정은 독립변수 X가 범주형이고, 종속변수 Y가 수치형일 때, 두 집단의 평균을 비교하는 검정 방법이다. - T-검정은 두 집단 간 평균을 비교하는 모수적 통계 방법이며, 표본이 정규성, 등분산성, 독립성 등을 만족할 때 사용해야한다. 2. 단일표본 T-검정 (one sample T-test) - 모집단의 평균이 알려져 있는 경우, 표본 집단의 평균과 모집단의 평균이 같은지 검정한다. - 연구자가 측정한 집단의 수는 1개이고, 연구자가 측정한 집단의 평균과 기존의 연구에서 제시된 평균 수치와 비교하는 방법이다. - 검정통계량 t값은 아래와같이 산출한다. $$$t= \dfrac{\bar{X}-\mu}{\dfrac{s}{\sqrt{n}}}$$$ 3. 대응표본 T-검정 (paired sample T-test) - 동일한 집단이 있을 때, 이 집단을 특정 처치 하고, 처지 전과 처치 후의 차이를 알아보는데 사용하는 검정이다. - 표본이 하나, 독립변수가 1개일 때 사용되며, 대응표본 T-검정에 적합한 데이터는 아래와 같다. ID 다이어트약 복용 전 체중 1 66 2 54 3 68 ID 다이어트약 복용 후 체중 1 64 2 51 3 69 - 검정통계량 t값은 아래와같이 구한다. $$$t=\dfrac{\bar{d}-\mu}{\dfrac{s}{\sqrt{n}}}$$$ $$$\bar{d}$$$ : 두 표본집단 평균의 차이 $$$\mu$$$ : 두 모집단 평균의 차이 4. 독립표본 T-검정 (independent sample T-test) - 표본 2개가 서로 다른 모집단에서 추출되었을 때, 사용할 수 있는 분석 방법이다. - 독립된 두 집단의 평균 차이를 검정하는 ...

범주형 자료 분석 (categorical data analysis) 방법 002 : 승산 및 승산비 (odds ratio), 카이제곱 검정, 적합도 검정 (goodness of fit test), 독립성 검정 (test of independence), 동질성 검정 (test of homogeneity), 피셔의 정확 검정

1. 승산 및 승산비 (odds ratio) 1-1. 승산 - 승산이란 특정 사건이 발생할 확률 p를 발생하지 않을 확률 (1-p)로 나눈 값을 의미하며, 아래와 같이 표시될 수 있다. odds = $$$\dfrac{p}{1-p}$$$ - 축구경기에서 한국팀이 독일팀에 승리할 확률을 0.2라고 한다면, 한국팀의 승산은 $$$\dfrac{0.2}{0.8} = \dfrac{1}{4}$$$ 이며, 질 확률이 4배가 높다 라고 해석할 수 있다. 1-2. 승산비 - 승산비 (odds ratio)는 특정 조건에서의 성공 승산값을 다른 조건에서의 성공 승산값으로 나눈 값을 의미하며 아래와 같이 표시될 수 있다. 승산비 = $$$\dfrac{\text{승산1}}{\text{승산2}} = \dfrac{\text{관심집단의 승산}}{\text{비교집단의 승산}}$$$ - 아래표는 이전 포스팅 에서 살펴보았던 이원 분할표의 예시이다. 사건 발생 사건 미발생 합계 관심 집단 a b a+b 비교 집단 c d c+d 합계 a+c b+d a+b+c+d - 관심집단에서 특정 사건이 발생할 승산은 아래와 같이 구할 수 있다. 상대위험도와 수식이 다른점에 주의한다. 관심집단의 승산 = $$$\dfrac{\dfrac{a}{a+b}}{\dfrac{b}{a+b}} = \dfrac{a}{b}$$$ - 비교집단에서 특정 사건이 발생할 승산은 아래와 같이 구할 수 있다. 관심집단의 승산 = $$$\dfrac{\dfrac{c}{c+d}}{\dfrac{d}{c+d}} = \dfrac{c}{d}$$$ - 승산비는 아래와 같이 구할 수 있다. 승산비 = $$$\dfrac{\dfrac{a}{b}}{\dfrac{c}{d}} = \dfrac{ad}{bc}$$$ 2. 카이제곱 검정 (Chi-squared ...

범주형 자료 분석 (categorical data analysis) 방법 001 : 분할표 (contingency table) 분석, 상대위험도 (relative risk)

1. 범주형 자료 분석 개념 - 범주형 자료 분석은 독립변수와 종속변수가 모두 범주형 (명목척도 또는 순서척도)이거나 둘 중 하나가 범주형 데이터일 때 사용되는 분석 방법이다. - 변수를 이루는 각 집단 간에 어떠한 비율차이가 있는지 분석할 때 사용된다. 아래의 데이터 예시는 거주 지역별 (명목척도 범주형) 연소득 (비율척도 수치형)을 나타내며, 지역별로 평균 연소득에 유의한 차이가 있는지 T-검정을 통해 분석할 수 있다. ID 거주지역 연소득 1 인천 5300 2 서울 3500 3 서울 4800 4 경기 3400 ... ... ... - 독립변수와 종속변수의 데이터 유형에 따른 범주형 데이터 분석 방법을 아래와 같이 구분할 수 있다. 독립변수 종속변수 범주형 데이터 분석 방법 범주형 범주형 - 분할표 (contingency table) 분석 - 카이제곱 검정 (교차분석) - 피셔의 정확 검정 (Fisher's exact test) 범주형 수치형 - T-검정 (독립변수에서 범주 (집단)의 수가 2개 이하일때, 예를 들어, 성별변수에서 성별이 남자, 여자) - 분산분석 (독립변수에서 범주 (집단)의 수가 3개 이상일때, 예를 들어, 지역변수에서 지역이 서울, 경기, 부산) 수치형 범주형 - 로지스틱 회귀분석 (logistic regression) 수치형 수치형 - 상관분석 - 회귀분석 2. 분할표 (contingency table) 분석 2-1. 개념 - 분할표를 사용한 범주형 자료분석은 상대위험도 (rela...

시계열분석003

이미지
1. 시계열의 분포 - 시계열은 데이터의 분포를 확인하는 것이 중요하다. 이를 위해, 히스토그램이나 커널 밀도 추정 (KDE, Kernel Density Estimation) 에 의한 확률 밀도 함수를 통해 분포를 확인 할 수 있다. - 아래 그래프 중 상단 그림은 전년 동기 대비 경제성장률 (실질 GDP 증감)을 나타낸 것이며, 하단 그림은 경제성장률의 히스토그램 및 추정된 확률밀도함수를 나타낸다. 2. 시계열 분포 검정 - 여러 통계 기법은 정규분포를 가정하므로, 시계열 분포가 정규분포를 따르는지 확인할 필요가 있다. 정규분포를 따르지않는다면, 로그 차분 등의 전처리를 통해 시계열 분포가 정규분포에 가깝도록 만들어 볼 수 있다. 2-1. 정규성을 검정하는 방법 2-1-1. 통계적 기법 2-1-1-1. 자크-베라 검정 - 정규분포는 첨도는 3, 왜도는 0 정도이다. 이러한 정보를 이용해 정규성을 검정하는 방법이다. 2-1-1-2. 샤피로-윌크스 검정 2-1-1-3. 콜모고로프-스미르노프 검정 2-1-2. 시각화 기법 2-1-2-1. Q-Q plot - 정규성을 따를때 (좌)와 따르지 않을때 (우)의 패턴. 정규성을 따를 때, 대각선을 따라 점들이 나열되어있다. 2. 시계열의 자기 상관 2-1. 개념 - 아래의 시계열을 보자. 18이라는 값까지 오는데 과거의 특징이나 패턴들이 영향을 미쳤다고 볼 수 있다. 즉, 자기상관이 있는 것이다.  10, 12, 14, 12, 16, 18 이러한 자기상관 (시계열 데이터에서 과거의 데이터가 특정 데이터에 미친 영향)을 측정하는 지표들이 있다. 2-2. 표본상관계수 - 상관계수는 두 변수의 관계를 나타내는 지표이다. 보통 표본을 통해 데이터를 분석하므로, 표본상관계수를 사용하게 되며, 아래와 같이 표현된다. $$$r = \dfrac{\sum\limits_{t} (X_t - \bar{X}) (Y_t - \bar{Y})  }{ \sqrt{\sum\limits_{t} (X_t - \bar{X})^2 \sum\li...

시계열분석002

이미지
1. 시계열의 정의 - 시계열은 시간에 따라 관측된 데이터이다. - 주로 아래와 같이 표현한다.   1) 시계열의 확률변수 표현 $$$Y_t \;\; (t=1,2,3)$$$   2) 시계열 데이터 나열 표현 $$$Y_1=100, Y_2=102, Y_3=105, \dots$$$   3) 시계열 표 표현 시점 데이터 $$$Y_1$$$ 100 $$$Y_2$$$ 102 $$$Y_3$$$ 105 ... ... - 횡단면 데이터, 시계열 데이터, 종단면 데이터, 패널 데이터의 개념은 아래와 같다.   1) 횡단면 데이터 (cross-sectional data)   - 동일한 시간과 동일한 기간에 여러 변수에 대하여 수집한 데이터이다.   2) 시계열 데이터 (time-series data)   - 시간의 흐름에 따라 관측된 데이터이다. 주로 하나의 관측 대상을 가리킨다. 예를 들어, 시간에 따른 가스사용량이 시계열 데이터가 될 수 있다.   3) 종단면 데이터 (longitudinal data)   - 시계열 데이터와 유사하게 시간에 따라 관측된 데이터를 말한다. 보통 관측대상이 2개이상인 경우를 가리킨다. 예를 들어, 한달동안 걸음수와 근무시간에 따른 혈압 변화 또는 혈압 개선 여부 등이 종단면 데이터가 될 수 있다. 시점 관측1(걸음수) 관측2(근무시간) 관측3(수축기혈압) 1일 5010 7 121 2일 4133 9 134 3일 8402 10 122 ... ... ... ... ...

경도 (경사도, gradient)

이미지
   1. 개념 - 딥러닝에서의 경사하강법 및 이미지처리에서 gradient 라는 용어가 사용된다. - 수학에서는 gradient 가 어떤 내용으로 되어있는지 예제를 통해서 알아본다. - Gradient 에는 기하학적 의미가 있다. - Gradient 는 방향도함수와 관련이 있다. - 2변수함수 및 3변수함수의 경도는 아래와 같이 표시한다. $$$z = f(x,y)$$$ 의 경도 : $$$\nabla{f}$$$ 또는 grad $$$f$$$ $$$u = f(x,y,z)$$$ 의 경도 : $$$\nabla{f}$$$ 또는 grad   $$$f$$$ - Gradient 의 결과값은 벡터로 산출된다. 2. 계산 방법 - f를 x로 미분해서 x좌표자리에 두고, f를 y로 미분해서 y좌표자리에 둔다. $$$\nabla f(x,y) = (f_x,f_y)$$$ $$$=f_xi + f_yj$$$ - 3변수일때도 같은 방법을 사용한다. $$$\nabla f(x,y,z) = (f_x,f_y,f_z)$$$ $$$=f_xi + f_yj+f_zk$$$ 2-1. 예제 - $$$f(x,y) = x^2+y^2$$$ 의 점 (1,2) 에서 gradient? $$$\nabla f(1,2) = (f_x,f_y)_{(1,2)}$$$ $$$=(2x,2y)_{(1,2)}$$$ $$$=(2,4) = 2i+4j$$$ 3. Gradient 의 기하학적 의미 - $$$f(x,y) = z = x^2+y^2$$$ 은 아래와 같은 곡면이다. - x=1, y=2 일 때, 곡면위에 점을 생각해 볼 수 있다. 이 점을 지나면서 xy 평면에 평행하게 곡면을 잘랐을 때 곡선 ($$$x^2+y^2=5$$$) 이 생기게 된다. 이 곡선을 xy평면에 사영시키고, x=1, y=2 일 때, 접선을 구한다. x=1, y=2 일 때 접선의 수직인 벡터가 x=1, y=2 에서의 $$$\nabla f$$$ 이다. https://leechangyo.github.io/optimization%20method...

베이지안 파라미터 추정 (Bayesian parameter estimation) 및 샘플링 방법

이미지
  1. 베이지안 파라미터 추정 1-1. 베이즈 규칙 관점 고찰 - 가설 H에 대한 사후확률은 아래와 같이 베이즈규칙에 의해 표현되며, $$$P(D)$$$ 는 전체 확률의 법칙으로 다시 쓸 수 있다. $$$P(H|D) = \dfrac{P(D|H)P(H)}{P(D)}$$$ $$$= \dfrac{P(D|H)P(H)}  {P(D|H)P(H)+P(D|\sim{H})P(\sim{H})}$$$ H : 가설 D : 데이터 - 가설 H가 여러개라면, 아래와 같이 표현 할 수 있다. $$$P(H_i|D) = \dfrac{P(D|H_i)P(H_i)}{P(D)}$$$, $$$i=1,2,3$$$ $$$= \dfrac{P(D|H_i)P(H_i)}  {P(D|H_1)P(H_1)+P(D|H_2)P(H_2)+P(D|H_3)P(H_3)}$$$, $$$i=1,2,3$$$ $$$=\dfrac{P(D|H_i)P(H_i)}{\sum_{i=1}^{3}P(D|H_i)P(H_i)}$$$ - 가설 H의 개수가 연속형으로 아주 많다면, 아래 처럼 쓸 수 있다. $$$P(H_i|D) = \dfrac{P(D|H_i)P(H_i)}{\int_i P(D|H_i)P(H_i)}$$$ 1-2. 베이지안 파라미터 추정 관점 고찰 - 베이지안 파라미터 추정 관점에서 생각해 보기 위해, 두개의 파라미터를 가지는 선형모형을 가정한다. 예측값 $$$\hat{y}$$$ 는 데이터가 주어졌을 때, 파라미터 $$$\theta_1, \theta_2$$$ 의 결합 사후 분포를 따른다. $$$\hat{y} = \hat{\theta}_1 x + \hat{\theta}_2$$$ $$$\hat{y} \sim P(\hat{\theta}_1,\hat{\theta}_2|D)$$$ - 관측 데이터와 가정한 위의 파라미터의 분포를 가지고, MAP 를 시행해서 최적의 파라미터 (사후분포)를 찾아야한다. 각 파라미터의 사후분포는 아래와 같이 쓸 수 있다. $$$P(\theta_2|D) = \dfrac{P(D|\theta_2)P(\t...

CUDA 와 CuDNN 의 설치, 삭제 및 버전 변경

이미지
우분투 리눅스 환경 기준 으로 설명 1. CUDA 설치 - 아래 NVIDIA 사이트의 CUDA 다운로드 페이지에서 원하는 버전을 다운로드 받는다. https://developer.nvidia.com/cuda-toolkit-archive - 아래의 명령어 형식으로 다운로드 받은 CUDA 파일을 실행한다. 다운로드 받은 CUDA 파일이 위치하는 경로 (your_path 부분) 및 다운로드 받은 CUDA 파일명 (<> 부분) 을 본인의 상황에 맞게 수정하고 실행한다. sudo /your_path/<cuda_11.2.1_460.32.03_linux.run> 2. CUDA 버전 번경 - 다양한 오픈소스 딥러닝 모델을 실행하다보면, 해당 딥러닝 소스코드들의 요구에 따라 CUDA 버전을 변경해야할 때가 있다. CUDA 버전을 쉽게 변경 적용하는 방법은 나에게 필요한 버전의 CUDA 를 모두 각각의 버전 폴더에 설치해놓고, 필요한 특정 버전의 CUDA 를 /usr/local/cuda 폴더로 symbolic link 시켜주는 것이다. - CUDA 버전을 변경하고자 한다면, 우선 기존에 존재하는 soft link 인 /usr/local/cuda 을 삭제한다. sudo rm -rf /usr/local/cuda - CUDA 11.2 로 버전을 변경하고자 한다면, CUDA 11.2 이 설치되어 있는 /usr/local/cuda-11.2 경로를 /usr/local/cuda 로 symbolic link 를 생성한다. sudo ln -s /usr/local/cuda-11.2 /usr/local/cuda 3. CuDNN 설치 방법 - 내가 원하는 특정 버전의 CuDNN 을 아래 페이지에서 다운로드 받는다. https://developer.nvidia.com/rdp/cudnn-archive - 다운로드 받은 CuDNN 파일의 압축을 풀고, 기존에 존재하는 cuda 디렉토리 쪽으로 CuDNN 파일들을 복사한다. 아래 명령어로 수행하면 되고, CuDNN 파일이 위치하...

빈도주의 (frequentist) 와 베이즈주의 (bayesian) 통계 관점 (강의 영상 있음)

이 게시글을 기반으로 한 강의 영상이 아래 주소에 있습니다 Frequentist vs Bayesian, Bayesian parameter estimation - 001 빈도주의와 베이즈주의 관점 비교 1. 빈도주의 통계 1-1. 빈도주의 관점에서 해석한 동전 던지기 실험 - 동전던지기 실험에서 빈도주의자는 2가지를 생각한다. 1) 동일한 실험 조건인지 2) 반복 시행할 수 있는지 - 빈도주의자나 베이즈주의자 모두 확률을 불확실성 (Uncertainty) 로 생각한다. 하지만, 불확실성을 생각하는 관점이 다르다. - 빈도주의자는 불확실성이 물리적인 한계 (바람, 각도 등) 에서 오는 무작위성 (randomness) 에 의해 발생한다고 생각한다. - 빈도주의자는 그렇게 발생된 불확실성이 데이터 속에 포함되어 있다고 생각한다. 이러한 불확실성을 내재적 불확실성 (aleatoric uncertainty) 이라고 한다. - 결론적으로, 빈도주의자는 데이터라고하는 것은 내재적 불확실성으로 인해 변화하는 것으로 생각한다. - 변화하는 속성의 불확실성을 데이터에 넣었기 때문에, 파라미터 (실험조건) 은 고정된 것으로 생각한다. - 데이터에 불확실성이 있기 때문에, 통계량을 얻기 위해서는 반복시행이 필요하다. - 빈도주의자가 확률을 구하는 방법은 MLE (Maximum Likelihood Estimation, 최대우도추정법) 을 사용한다. - MLE 는 Likelihood (가능도) 가 최대가 될 때의 파라미터를 최적의 파라미터로 추정하는 방법이다. 1-2. 최대우도추정법 (Maximum Likelihood Estimation, MLE) 1-2-1. 정의 - 데이터는 일반적으로 여러개로 존재한다. 즉, 여러 사람으로 부터 수집된 고혈압 값 여러개가 존재할 수 있고, 이는 결합확률분포가 된다. 아래는 파라미터 $$$\theta$$$ 가 고정되었을 때 (주어졌을 때), 결합확률분포, 즉, 가능도 (likelihood) 를 나타낸 것이다. $$$P(D|\theta) = P(x_1,...

로지스틱 회귀 모형 (logistic regression model)

이미지
1. 로지스틱 회귀 모형 1-1. 데이터 예시 성별(X1) 나이(X2) 체중(X3) 고혈압여부(Y) 1 65 55 1 2 27 62 0 ... ... ... ... 1 24 67 0 - 종속변수는 범주형 (주로 0 또는 1의 이진형태) 1-2. 로지스틱 회귀 모형 종류 - 종속변수가 0 또는 1, 성공 또는 실패와 같은 값을 가지는 이항분포를 따른다면, 이항 로지스틱 회귀 (binomial logistic regression) 이라고 할 수 있다. 일반적으로 가장 많이 사용되는 형태이기 때문에,  간단히 로지스틱 회귀 모형이라고 불린다. - 종속변수가 서울, 경기, 인천 처럼 3개 이상의 범주를 가져 다항분포를 따른다면, 다항 로지스틱 회귀 (multinomial logistic regression) 을 사용할 수 있다. 이 경우, 범주가 3개라면 종속변수를 주로 (3-1)개의 더미변수로 만들어 분석을 하게 된다. - 종속변수가 연령대1, 연령대2, 연령대3 처럼 3개 이상의 순서가 있는 범주를 가지는 경우, 서수 로지스틱 회귀 (ordinal logistic regression) 을 사용할 수 있다. 1-3. 로지스틱 회귀 모형 개념 - 종속변수가 두개의 범주를 가진 이항형인 경우에, 선형회귀 모형을 적용하면, 0 또는 1과는 다른 예측값 (0.3, 6 등) 이 나올 수 있다. 즉, 독립변수와 0과 1을 가지는 종속변수 사이의 관계를 선형회귀 모형은 적절히 모델링 할 수 없기때문에, 로지스틱 회귀라는 새로운 모델링 방법이 필요한 것이다. 2. 로지스틱 모형 정의 - 종속변수의 값으로서 $$$y_i=0$$$ 또는 $$$y_i=1$$$ 로 직접적으로 정확히 추정하기는 어렵다. - 따라서, 0 또...