목록Data Analysis (42)
zimslog
이번 포스팅에서는 실험 설계 단계에서 고려해야 할 사항에 대해 알아보도록 하겠다. 통계 분석을 잘 한다 하더라도, 부적절한 실험을 통해 얻어진 결과는 신뢰할 수 없기 때문에 실험 설계 과정은 *매우* 중요하다. 실험 설계 단계의 가장 핵심은 반복 시행과 무작위화이다.추가로 간결성의 원칙, 검정력, 인위적 반복, 비직교성 등의 개념도 함께 이해해야 한다. 1. 간결성의 원칙특정 현상에 대한 설명들이 여러 개 존재할 경우, 가장 단순한 것을 선택해야 한다는 원칙이다. 통계 모형에서는 아래의 의미를 포함한다.모형은 되도록 적은 수의 모수를 포함.비선형 모형보다는 선형 모형을 사용.되도록 작은 수의 가정을 고려할 수 있는 실험을 선택.복잡한 설명보다는 단순한 설명을 선택. 2. 반복 시행 같은 시행이 이루..
이번 포스팅에서는 회귀 모형 등에서 변수를 선택하는 기법인 Stepwise 변수 선택법에 대해 알아보려한다. Stepwise 기법은 통계적 모델링에서 변수 선택 과정을 자동화하는 방법 중 하나인데,회귀 분석과 같은 모델링에서 효율적으로 변수 선택을 가능하게 하고 과적합(overfitting) 방지에 도움을 준다. 1. Stepwise 기법 종류 및 절차stepwise 기법에는 전진 선택법과 후진 제거법, 그리고 이 두 가지를 결합한 방식이 존재한다. 전진 선택법 (Forward Selection)아무런 변수가 포함되지 않은 초기 모델에서 시작하며, 선택 기준을 만족하는 변수가 없을 때까지 각 단계마다 모델에 추가할 변수를 하나씩 선택한다.장점 : 단순하고 직관적이며 계산 비용이 적다. 초기 단계에서 과..
이번 포스팅에서는 R for문 등에서 변수를 바꿔가며 동적으로 처리하는 방법에 대해 알아보고자 한다.아래 모든 방법을 다 알 필요는 없고, 몇 가지만 알아둬도 유용하게 사용할 수 있다. 1. !!, !!!`!!`와 `!!!`는 주로 `rlang` 패키지와 함께 사용되며, 비표준 평가(non-standard evaluation, NSE)에서 변수를 언바운딩하는 데 사용된다. `!!`는 단일 변수, `!!!`는 여러 변수를 언바운딩하는 데 사용된다. * 비표준 평가(non-standard evaluation, NSE) : 함수의 인자에 표현식을 할당할 당시에는 평가(계산, 실행)을 수행하지 않고, 함수 내부의 원하는 곳에서 실행하도록 하는 것.library(rlang)var % mutate(new_col ..

오늘은 R에서 내가 만든 함수를 모아 라이브러리(패키지)를 만들어 보려고 한다.자주 쓰는 함수를 모아 놓고 편하게 쓸 수 있을 것 같다. 라이브러리(패키지)를 만드는 순서는 아래와 같다. 1. 패키지 구조 생성2. 패키지 메타데이터 생성3. 함수 파일, 도움말 문서 작성4. 패키지 빌드 및 설치 1. 패키지 구조 생성먼저 패키지를 저장할 디렉토리와 그 안에 필요한 메타 데이터를 생성해야한다.'usethis' 패키지를 사용하면 구조를 자동으로 생성할 수 있다.install.packages("usethis")library(usethis)# 패키지 구조 생성create_package("path/to/your/package") 위 코드를 실행하면 지정된 경로에 폴더(나는 이름을 zim으로 생성)가 생성되고 안..

이번 포스팅에서는 통계학에서 중요한 개념인 편향(bias)과 분산(variance)에 대해 알아보고자 한다. 1. 편향과 분산편향이란, 추정 결과가 한쪽으로 치우쳐있는 경향을 말한다.머신러닝에서는 편향을 통해 예측값들이 정답에서 얼마나 멀리 떨어져 있는지를 나타낼 수 있다. 분산이란, 데이터들이 흩어져있는 정도를 의미한다.머신러닝에서는 분산을 통해 어떤 포인트에 대한 모델 예측 결과의 가변성을 나타낸다. 위쪽 첫 번째 과녁은 모든 결과가 원점에 가깝게 모여져 있다. 이런 경우는 낮은 편향, 낮은 분산을 가진다.위쪽 두 번째 그림은 모든 결과가 원점 중심으로 퍼져있다. 이런 경우는 낮은 편향을 가지지만 상대적으로 높은 분산을 가진다. 아래쪽 첫 번째 그림은 모든 결과가 원점에서 떨어진 거리에 가깝게 모여..

1. 손실함수 (Loss function)머신러닝에서 모델을 학습한다는 말은 예측값과 실제값의 오차를 최소화하는 모델 파라미터를 찾는 것이라고 할 수 있다. 여기서 말하는 오차(Error)를 손실(Loss) 또는 비용(Cost)이라고도 하고,오차를 정의한 함수를 손실함수(Loss function) 또는 비용함수(Cost function)이라고 한다. 대표적인 손실함수로는 MSE, RMSE 등이 있는데 일반적인 선형 회귀의 성능 지표로 잘 알려져있다.이진크로스엔트로피(binary cross entropy)도 분류 문제에서 일반적으로 사용되는 손실함수이고, 그 밖에도 오차를 정의하는 여러 함수들이 존재한다. MSE, Mean Square Error$$\frac{1}{n}\sum^{n}_{i=1}(y_i=\h..
이번 포스팅에서는 회귀모형 성능 평가 지표로 사용되는 손실함수(loss function)인 MAE, RMSE, MSE에 대해 알보겠다. 각각의 특징과 차이점에 대해 알아보고자 한다.1. MAE (Mean Absoluted Error) 예측값과 실제값의 차이의 절대값의 평균이다. $$MAE = \frac{1}{n}\sum^{n}_{i=1}|y_i=\hat{y_i}|$$ MSE, RMSE에 비해 이상치의 영향을 크게 받지 않는다. (모든 오차에 동일한 가중치를 부여)오차가 0인 지점에서 뾰족한 형태(첨점)를 띄며 미분 불가능하다. 2. MSE (Mean Squared Error)예측값과 실제값의 차이의 제곱의 평균이다. $$MSE = \frac{1}{n}\sum^{n}_{i=1}(y_i-\hat{y_i})^..
1. 콕스비례위험모형이란?위험함수에 공변량에 대한 회귀식을 포함하는 모형으로 여러 설명 변수들이 생존 시간에 미치는 영향을 평가하는데 사용된다. 생존시간 분포에 대한 가정이 필요없고, 추정된 회귀계수로부터 위험비(HR)를 구할 수 있어 널리 사용된다. 콕스비례위험모형은 대표적인 준모수적 방법을 사용하는 모형이다.아래 모형식에서 자세히 살펴보겠지만, Cox모형식은 비모수적 부분과 모수적 부분으로 구성되어있다. 2. Cox 모형 가정비례위험가정 : 각 설명 변수들이 위험률에 미치는 영향이 시간에 따라 변하지 않는다 선형성 가정 : 설명 변수와 로그 위험률 사이에 선형 관계가 있다.독립성 가정 3. Cox 모형식설명변수 $X = (X_1, X_2,,,X_p)$가 있는 콕스비례위험모형의 t시점에서의 위험함수는..

1. Kaplan-Meier 생존곡선Kaplan-Meier Estimation을 통해 시간에 따른 생존률을 확인할 수 있다. 집단 간 생존곡선을 비교하기에 용이하다.추정 방법은 아래 순서로 진행된다. 자료를 관찰기간 순서대로 정렬한다.사건이 발생한 시점의 구간생존률 $\hat{P}(t)$를 구한다.$$\hat{P}(t) = \frac{t시점에서의 생존자 수}{t시점까지의 관찰대상자 수}$$구간생존률로부터 누적생존률 $\hat{S}(t)$를 구한다.$$\hat{S}(t) = \hat{S}(t-1) \times \hat{P}(t)$$ * 누적생존률 $\hat{S}(t)$를 구하는데는 조건부확률 개념이 들어간다.예를 들어, 여섯번째 시점에서의 누적생존률 $\hat{S}(T=6)$은$$\hat{S}(T=6) ..
1. 생존 분석(survival analysis)이란?어떤 '사건'이 일어날 때까지의 '시간'을 관심있는 반응변수로 두고 분석하는 통계 기법이다.'사건'이란 사망, 질병 발생, 재발, 회복 또는 일어날 수 있는 관심있는 경험이 될 수 있다.'시간'은 한 개인을 추적했을 때, 사건이 일어날 때까지 걸린 기간을 의미한다. 생존분석에서 시간 변수를 '생존시간'이라고 표현하는 경우가 많고, 사건의 발생을 '실패'로 표현하기도 한다.하지만 경우에 따라 생존 시간이 '검사 이후 진단까지 경과된 시간'처럼 긍정적으로 해석되는 경우도 있다. 2. 용어중도 절단 (censoring)아래의 경우처럼 생존 시간에 대한 어느 정도의 정보는 가지고 있지만 정확한 생존시간을 모를 때 발생한다. - 연구 종료까지 사건이 발생하지..