전체 글
-
Information Extraction(IE, 정보 추출)2025.12.21
-
Linear Discriminant Analysis(LDA, 선형 판별 분석)2025.12.20
-
[5]Statistics Box-Jenkins ARIMA2025.12.06
-
[4]Statistics Time Series Analysis2025.12.06
-
[3]Statistics Estimation and Hypothesis Test2025.11.30
-
[2]Statistics Exploratory Data Analysis2025.11.30
-
홈서버 구축기[1]2025.11.28
-
[1]Statistics Probability2025.11.21
Information Extraction(IE, 정보 추출)
Information Extraction
정보 추출(IE)는 반정형 또는 비정형 텍스트 데이터에서 정형 정보를 추출하는 기술이다. 텍스트 데이터를 체계적이고 검색 가능하며 기계가 읽을 수 있는 데이터로 변환하는 프로세스이다. 입력 텍스트 내에서 중요한 데이터를 식별하기 위해 사용된다
이름, 관계, 사건, 감정 등 다양한 Entity를 식별한 다음 이를 분류하고 DB에 저장한다. 이렇게 생성된 정형 정보는 표준화된 형식을 가지고 일반적으로 해당 속성을 식별하는 행과 열에 저장된다.
Why information extraction is important
데이터 활용성 향상
- 데이터의 대부분을 차지하는 비정형 텍스트를 정형화된 형식으로 변환하여 더 쉬운 분석 및 활용이 가능하도록 한다.
- 자동화된 정보 검색을 위한 기반을 마련한다. 정보 검색은 Retrieval-Augmented Generation(RAG)의 필수 구성 요소이다.
- RAG는 LLM이 학습 데이터 외부의 더 많은 지식을 활용하여 개선된 답변을 생성할 수 있어 질의 응답 작업에 적용하면 LLM Chatbot의 정확도를 향상할 수 있다.
데이터 처리 자동화
- 정보 추출은 추출 프로세스를 자동화하여 수동 데이터 입력 및 분석의 필요성을 줄이고 시간과 자원을 절약한다.
데이터 기반 의사 결정
- 추출 정보를 활용해 실시간으로 데이터 기반 의사 결정이 가능해진다.
- 정보 추출은 수집, 정리, 저장, 조작의 더 큰 정보 처리 주기의 예비 단계이다.
Key Components of Information Extraction
정보 추출 작업의 구성 요소는 정보의 유형에 따라 분류된다.
1. Named Entity Recognition
비정형 데이터에서 Named Entity를 식별하는 작업, Named Entity은 고유하게 식별할 수 있는 실제 개체로 데이터의 고유명사라고 할 수 있다. Named Entity에는 사람, 날짜, 회사, 장소 및 제품 등이 포함된다.
2. Relationship Extraction
데이터의 원본에 있는 Entity 간의 관계를 식별하여 분류하는 작업, 연결망과 통찰력을 구축하는데 도움을 준다.
3. Event Extraction
입력 텍스트 본문에서 개별 이벤트를 인식하는 방법, 약속 또는 모임과 같은 단어나 날짜 등을 트리거로 Event Extraction Sequence를 실행시킬 수 있다. 특정 Event와 언제, 누구와, 무슨 일이, 어디서 발생했는지와 같은 속성을 식별한다.
Information Extraction Techniques in NLP
| 분류 | 정의 | 기법 |
| 개체명 인식 | 텍스트에서 명명된 개체를 식별하고 분류 | - 규칙 기반 접근 방식: 미리 정의된 규칙과 패턴 활용 - 통계 모델: 은닉 마르코프 모델 및 조건부 랜덤 필드와 같은 확률 모델 사용 - 딥 러닝: BiLSTM-CRF와 같은 신경망과 BERT와 같은 트랜스포머 활용 |
| 관계 추출 | 텍스트 내의 개체들 간의 관계를 파악하고 분류 | - 패턴 기반: 패턴과 언어 규칙을 사용 - 지도 학습: 레이블이 지정된 데이터를 사용해 분류기를 훈련 - 딥 러닝: CNN, RNN 및 트랜스포머 활용 |
| 이벤트 추출 | 이벤트와 참여자, 속성 및 시간 정보를 탐지 | - 템플릿 기반: 텍스트를 미리 정의된 이벤트 템플릿과 일치시킴 - 머신 러닝: 분류기와 순서 레이블링 방법을 사용 - 딥 러닝: RNN, CNN 및 어텐션 메커니즘을 적용하여 이벤트 구조를 포착함 |
| 공참조 해상도 | 텍스트에서 서로 다른 표현들이 동일한 대상을 가리키는지 여부를 판단 | - 규칙 기반: 휴리스틱 규칙을 사용 - 머신 러닝: 성별, 수, 구문적 역할과 같은 특징을 사용하여 분류기를 학습 - 딥 러닝: BiLSTM과 같은 DL 모델과 트랜스포머를 사용하여 공참조 체인을 구현 |
| 템플릿 작성 | 미리 정의된 템플릿을 채우기 위해 특정 정보를 추출 | - 규칙 기반: 규칙에 따라 텍스트를 슬롯에 매칭 - 머신 러닝: 분류기를 사용하여 템플릿 슬롯을 채움 - 하이브리드 방식: 정확도를 높이기 위해 규칙과 ML을 결합 |
| 오픈 정보 추출 | 텍스트에서 임의의 관계와 인수로 이루어진 튜플을 추출 | - 패턴 기반: 언어적 패턴을 활용하여 관계형 트리플을 식별 - 통계적 방법: 확률 모델을 사용하여 추출된 관계의 신뢰도를 판단 - 딥 러닝: 딥러닝 모델을 활용하여 프로세스 개선 |
References
'Computer Science > Data Analysis' 카테고리의 다른 글
| Linear Discriminant Analysis(LDA, 선형 판별 분석) (0) | 2025.12.20 |
|---|
Linear Discriminant Analysis(LDA, 선형 판별 분석)
LDA
선형 판별 분석(LDA)은 Supervised Machine Learning에서 Multi-Class Classification 문제를 해결하기 위해 사용되는 접근 방식이다. LDA는 여러 특성을 가진 다수의 Class를 분리하기 위해 Dimensionality Reduction(차원 축소)을 사용한다.
LDA는 정규 판별 분석(Normal Discriminant Analysis, NDA) 또는 판별 함수 분석(Discriminant Function Analysis, DFA)라고도 한다. 두 개 이상의 Class를 가장 잘 구분하거나 특징짓는 변수들의 Linear Combination of Features(선형 조합)을 찾는 방법이다. 이렇게 도출된 조합은 선형 분류기로 직접 사용되거나, 본격적인 분류 전에 Dimentionality Reduction를 수행하는 용도로 쓰인다.
LDA는 PCA와 유사하지만, LDA는 Category 사이의 Maximizing the Separability에 집중한다. 이는 다음 두 가지 조건을 동시에 만족하는 축을 찾는다는 뜻이다.
- Maximize the Distance between Means($S_B$)
- Minimize the Variation within Each Category($S_W$)
관련된 내용은 아래의 Scatter Matrix 챕터에서 이어서 언급된다.
LDA는 두 개 이상의 차원을 가진 데이터를 하나의 차원으로 Projection하여 데이터를 보다 쉽게 분류할 수 있도록 하는데, 이를 Dimentionality Reduction이라고한다. 이 덕분에 LDA는 Binary Classification으로 제한되는 로지스틱 회귀와 다르게 Multi-Class Classification 문제에도 사용할 수 있다. 따라서 LDA는 Decision Trees, Random Forest, Support Vector Machine과 같은 다른 학습 분류 알고리즘을 향상하기 위해 적용되는 경우가 많다.
Key Assumptions of LDA
LDA가 효과적으로 동작하려면 아래의 가정들이 필요하다
- Gaussian Distribution: 각 Class의 Data들이 정규분포를 따라야 한다.
- Equal Covariance Matrices: 모든 Class가 동일한 공분산 구조를 가져야한다.
- Linear Separability: 모든 Data가 직선 혹은 평면으로 분리 가능해야 한다.
Scatter Matrix
LDA에서 Scatter는 분산과 유사한 개념으로 데이터가 얼마나 퍼져 있는지를 나타내는 척도이다. Scatter를 이용해 앞서 언급한 두 가지 조건을 만족하는 축을 찾는다.
이를 위해 다음과 같은 $J(w)$를 최대화하여 두 조건의 비율을 최적화한다.
$$J(w) = \frac{w^T S_B w}{w^T S_W w} \approx \frac{(\text{Class 간 Scatter})}{(\text{Class 내 Scatter})}$$
- Between Class Scatter Matrix $S_B$: 각 Class Means 사이의 변동을 나타낸다. LDA는 이 Scatter를 최대화하여 각 Class 그룹들이 서로 멀어지게 밀어낸다.
계산 방법은 다음과 같다.
- Global Mean(Dataset 전체의 Mean)을 계산한다.
- 각 Class $i$마다 해당 Class의 Mean $(\mu_i)$과 Global Mean $(\mu)$의 차이를 구한다.
- Outer Products를 Summation 한다. $n_i$는 Class $i$에 속한 Data의 개수이다.
$$S_B = \sum_{i} n_i (\mu_i - \mu)(\mu_i - \mu)^T$$
$n_i$를 곱하는 이유
Data가 많은 Class의 영향을 더 크게 반영하기 위해 해당 Class의 Sample 개수를 가중치로하여 합산해준다.
- Within Class Scatter Matrix $S_W$: 각 Class의 Data Point들이 얼마나 떨어져 있는지를 나타낸다. LDA는 이 Scatter를 최소화하여 같은 Class 내의 Data Point들이 서로 가까이 있도록 한다.
계산 방법은 다음과 같다.
- 각 Class $i$의 Mean $(\mu_i)$을 계산한다.
- 해당 Class $i$에 속한 Data와 $(\mu_i)$의 차이의 Outer Products를 Summation 한다.
$$S_I = \sum_{x_j \in \text{Class}_i} (x_j - \mu_i)(x_j - \mu_i)^T$$
- 모든 Class에 대한 Scatter Matrics를 더한다.
LDA는 Data를 분류하기 가장 좋은 저차원 공간으로 투영하기 위해 이 $J(w)$를 최대화하는 축을 찾는다.
LDA가 성능이 낮아지는 경우
- 공분산 구조가 Class마다 다를 때
LDA의 가장 중요한 가정은 모든 Class가 동일한 공분산 행렬을 가진다는 것으로, 공분산 구조가 Class마다 다를 때는 결정 경계가 직선이 아닌 곡선 형태가 되어야 한다.
- 독립 변수들이 정규 분포를 따르지 않을 때
Data가 한쪽으로 심하게 치우쳐 있거나, Outlier가 많아 정규성이 깨지면 LDA가 계산하는 Mean과 Scatter 값이 왜곡된다.
- 다중공선성이 존재할 때
Multicollinearity는 입력 변수들 사이에 강한 상관관계가 있을 때 발생한다. 다중공선성이 존재하게 되면 모델의 Coefficient가 불안정해져 예측의 신뢰도가 떨어지고 성능이 저하된다.
- Class간 평균이 너무 가깝거나 겹칠 때
LDA의 목표는 Separability를 최대화하는 것이다. Class간 Scatter가 너무 작으면 아무리 축을 회전시켜도 Class를 분리할 수 있는 충분한 공간을 확보할 수 없다.
- 비선형 분류가 필요한 복잡한 데이터 구조
LDA는 변수들의 선형조합을 찾는 기법으로, Data가 Concentric Circles 혹은 XOR 패턴처럼 복잡하게 얽혀 있다면 직선 형태의 결정 경계로는 이를 나누는 것이 불가능하다.
References
[1] IBM: linear-discriminant-analysis
[2] WIKIPEDIA: Linear discriminant analysis
[4] THE DICISION LAB: linear-discriminant-analysis
Others
- Multi-Class vs Multi-Lable
- Latent Dirichlet Allocation(LDA, 잠재 디리클레 할당)
- Dimensionality Reduction
- Naive-Bayes
'Computer Science > Data Analysis' 카테고리의 다른 글
| Information Extraction(IE, 정보 추출) (0) | 2025.12.21 |
|---|
[5]Statistics Box-Jenkins ARIMA
Statistics - Time Series Analysis ARIMA
ARIMA란?
AutoRegressive Integrated Moving Average
AR(자기회귀) + I(차분) + MA(이동평균)를 합친 시계열 모델
ARIMA(p,d,q)
- p: AR 차수(order of autoregression)
- d: 차분 횟수(몇번 differencing 했는지)
- q: MA 차수(order of moving average)
원래 시계열이 추세/계절성 때문에 non-stationary이면
Differencing으로 정상시계열처럼 만들고
그 정상화된 시계열에 ARMA(p,q) 모델을 fitting하는 것
AR(p) 모델 AutoRegressive
이해하기
- AR = AutoRegressive = 현재 값이 과거 값들의 선형 결합 + 잡음
AR(1)
$$X_t = c + phi_1 * X_{t-1} + e_t$$
- $X_{t-1}$이 크면 $X_t$도 큰 경향
- $phi_1$이 양수면 양의 자기상관, 음수면 반대 방향 경향
AR(p)
$$X_t = c + phi_1 * X_{t-1} + ... + phi_p * X_{t-p} + e_t$$
특징
- Autocorrelation이 서서히 감소하는 형태
- ACF는 천천히 감소
- PACF는 p 시차 이후 cut-off 되는 패턴
MA(q) 모델 Moving Average
이해하기
- MA = Moving Average = 현재 값이 과거 오차들의 선형 결합 + 평균
MA(1)
$$X_t = c + e_t + theta_1 * e_{t-1}$$
- $e_t$는 white noise(평균 0 , 분산 일정, 서로 독립)
MA(q)
$$X_t = c + e_t + theta_1 * e_{t-1} + ... + theta_q * e_{t-q}$$
특징
- ACF가 q 시차 이후 급격히 cut-off
- PACF는 서서히 감소(tail off)
ARMA(p,q) 모델
- 정상 시계열에서 AR(p) + MA(q)를 한 번에 쓰는 모형
$$X_t = c + (phi_1 * X_{t-1} + ... + phi_p * X_{t-p}) + (e_t + theta_1 * e_{t-1} + ... + theta_q * e_{t-q})$$
특징
- ACF, PACF 둘 다 점진적으로 감소하는 패턴이 많음
- 패턴이 AR/MA처럼 깔끔하게 cut-off 되지 않고 복잡할 수 있음
ARIMA(p,d,q)
왜 Differencing이 필요한가?
- 시계열이 non-stationary 일 때는
1) 평균이 시간에 따라 변함
2) 추세가 뚜렷함
3) 분산이 시간에 따라 변할 수 있음
→ ARMA 모델은 정상성을 가정하므로 Differencing으로 추세를 제거해서 정상에 가깝게 만듦
First Difference
$$ Y_t = X_t - X_{t-1}$$
- 추세를 1차적으로 제거할 때 사용
- 만약 한 번 차분 후에도 추세가 남으면 Second Difference
ARIMA(p,d,q)
- d = 0: ARMA(p,q)와 동일
- d = 1: 한 번 차분 후 ARMA
- d = 2: 두 번 차분 후 ARMA
각 모델에 따른 ACF/PACF 변화
| AR(p) | MA(q) | ARMA(p,q) | |
|---|---|---|---|
| ACF | 점차 감소 | q 시차 이후 cut-off | cut-off 없이 서서히 감소 |
| PACF | p 시차 이후 cut-off | 점차 감소 | cut-off 없이 서서히 감소 |
Box-Jenkins
Box-Jenkins는 ARIMA 모델을 적합하는 체계적인 절차
1단계: 모형 식별
- 시계열이 정상인지 확인
- 비정상이면 차분 실시
- 차분 후, ACF/PACF를 보고 AR(p), MA(q), ARMA(p,q) 형태 추정
2단계: 모수 추정
- 선택한 모형에 대한 Parameter(ex: phi, theta 등)를 추정
- 최소제곱법이나 최대우도추정 사용
3단계: 모형 진단
- 적합된 모형이 자료를 잘 설명하는지 검사
Check Point
- Residual이 white noise 형태인가?
- 평균 0
- 자기상관 없음
- Residual ACF를 봤을 때 유의한 자기 상관이 거의 없어야 함
- 필요하면 Ljung-Box Q 통계량 → Residual의 자기상관성 검정
만약 Residual에 패턴이 남아 있으면 모형이 부족하다는 의미
→ (p,q) 조정해서 다시 식별 단계부터 진행해야 함
4단계: 예측
- 최종 선택된 ARIMA 모형으로 미래 값을 예측
- 예측치와 함께 예측구간 계산 가능
SARIMA
- 데이터에 계절성이 있다면 SARIMA 사용 가능
ARIMA(p,d,q)(P,D,Q)_s
- (p,d,q): non-seasonal
- (P,D,Q): seasonal
- s: 계절 주기
'Computer Science' 카테고리의 다른 글
| [4]Statistics Time Series Analysis (0) | 2025.12.06 |
|---|---|
| [3]Statistics Estimation and Hypothesis Test (0) | 2025.11.30 |
| [2]Statistics Exploratory Data Analysis (0) | 2025.11.30 |
| [1]Statistics Probability (0) | 2025.11.21 |
| [Paper]You Only Look Once:Unified, Real-Time Object Detection (0) | 2024.08.27 |
[4]Statistics Time Series Analysis
Statistics - Time Series Analysise
Time Series 기본 개념
- Time series: 시간 순서가 있는 데이터
- 일반 데이터 분석과 달리 시간 순서가 중요하고
- 자기상관 Autocorrelation이 존재하는 경우가 많음
- 추세 Trend, 계절성 Seasonality, 순환 Cycle, 불규칙 Noise
Time Series Decomposition
시계열 데이터 Y(t)를
- 추세
- 계절성
- 불규칙 Residue
로 나눠서, 데이터의 구조를 이해하고, 예측이나 이상 탐지에 더 쉽게 활용하기 위함
모형 형태: Additive vs Multiplicative
- 가법 모형
- Y(t) = T(t) + S(t) + E(t)
- 각 성분이 더해지는 형태
- 계절성의 진폭이 시간에 따라 거의 일정할 때 사용
- 승법 모형
- Y(t) = T(t) * S(t) * E(t)
- 계절성이 비율이나 퍼센트로 작용하는 경우
- 데이터 값이 커질수록 계절성의 크기도 같이 커질 때 적합
Smoothing
- 평활법, 평활이동
- Noise를 줄이고 추세를 부드럽게 보는 방법
- 대표적으로 Moving Average와 Exponential Smoothing
Moving Average
- 일정 구간의 값들을 평균 내서, 원래 데이터보다 덜 요동치는 새로운 시계열을 만드는 방법
- k를 크게 하면 더 부드럽지만 변화에 둔감
- k를 작게 하면 원 데이터와 비슷하지만 잡음이 덜 줄어듦
Exponential Smoothing
- 최근 k개만 보는 이동평균과 다르게 모든 과거 데이터를 보되, 최근 데이터에 더 큰 가중치
- 오래된 데이터일수록 지수적으로 줄어드는 작은 가중치
- Simple Exponential Smoothing
- Trend나 Seasonality가 뚜렷하지 않은 시계열에 사용
- Smoothing Parameter Alpha: 0 < α < 1
- 새로운 예측값은 이전 평활값과 새로운 관측값의 가중 평균
- α가 클수록 최근 관측값 반영 크게
- α가 작을수록 과거 추세를 더 중요하게
- Holt's Linear Trend Method
- 이중 지수평활
- 추세가 있는 시계열에 사용
- Level과 Trend를 업데이트하면서 예측
- 계절성은 없고 추세만 있는 경우에 사용
- Holt-Winters Method
- 삼중 지수평활
- 추세 + 계절성까지 함께 고려하는 지수평활 방식
- 구성 요소: Level, Trend, Seasonality
- Additive와 Multiplicative 두 가지 버전이 있음
기타 시계열 분석
- 정상성 Stationarity
- 시계열의 통계적 성질(평균, 분산, 공분산 등)이 시간에 따라 변하지 않는 상태
- 대부분의 시계열 모델(AR, MA, ARMA, ARIMA 등)은 정상성을 가정
- 평균과 분산이 일정, 자기공분산이 시차 lag에만 의존
- Autocorrelation / ACF
- 자기상관 / 자기상관함수
- 시계열이 시간에 따라 자기 자신과 얼마나 연관되어 있는지 보는 함수
- lag 1, lag 2, lag 3...에 대해 상관계수 계산
- 시차별 패턴 확인
- 어떤 시차에서 강한 상관이 있는지 확인 → 주기성, 계절성 파악
- Trend / Seasonality / Cycle / Irregular
- Trend: 장기적인 상승/하락 방향
- Seasonality: 일정 주기마다 반복되는 패턴
- Cycle: 일정하지 않은 길이의 경기적 순환
- Irregular: 설명하기 어려운 랜덤한 변동
'Computer Science' 카테고리의 다른 글
| [5]Statistics Box-Jenkins ARIMA (0) | 2025.12.06 |
|---|---|
| [3]Statistics Estimation and Hypothesis Test (0) | 2025.11.30 |
| [2]Statistics Exploratory Data Analysis (0) | 2025.11.30 |
| [1]Statistics Probability (0) | 2025.11.21 |
| [Paper]You Only Look Once:Unified, Real-Time Object Detection (0) | 2024.08.27 |
[3]Statistics Estimation and Hypothesis Test
Statistics - Estimation and Test
1. 모집단과 표본
- 모집단 Population: 우리가 관심 갖는 전체 집단
표본 Sample
- 전체를 다 조사하기 어렵기 때문에 표본을 뽑음
- 모집단에서 일부만 추출한 데이터
- 표본을 기반으로 모집단의 특성(모수)을 추정
표본추출 Sampling 의 목적
- 비용과 시간 절약
- 전체를 조사하지 않고도 모집단 특성에 대한 합리적 추론 가능
- 표본이 대표성 Representativeness을 가져야 함
→ Random sampling이 중요
2. 모수와 통계량
1) 모수 Parameter
- 모집단의 특성을 나타내는 값
- ex) 모집단 평균 μ, 모집단 분산 σ², 모집단 비율 p
2) 통계량 Statistic
- 표본에서 계산한 값
- ex) 표본평균 x̄, 표본분산 s², 표본비율 p̂
3) 표본분포 Sampling Distribution
- 통계량 그 자체도 확률변수라서 같은 크기의 표본을 여러번 뽑으면 매번 통계량이 달라짐
- 이 통계량들이 이루는 분포를 표본분포라고 부름
3. 점추정과 구간추정
1. Point Estimation
- 모수의 값을 하나의 숫자로 추정
좋은 추정량의 성질
1) 불편성 Unbiasedness: E(추정량) = 모수
2) 일치성 Consistency: 표본 크기 커질수록 실제 모수에 가까워짐
3) 효율성 Efficiency: 분산이 더 작아서 더 안정된 추정
2. Interval Estimation
- 특정 범위 안에 모수가 있을 것이다, 구간 제시
1) 평균에 대한 신뢰구간 (σ known, n 충분히 큼) - Z score 이용
2) 평균에 대한 신뢰구간 (σ unknown, n 작거나 모름)
- t distribution 사용
- df = n - 1
3) 비율에 대한 신뢰구간
4. 가설검정 개념
1) 귀무가설 H0 vs 대립가설 H1
- H0: "차이 혹은 효과가 없다"는 기본 가정
- H1: "차이 혹은 효과가 있다"
2) 유의수준 Significance Level alpha
- 보통 alpha = 0.05 사용
- H0가 맞지만 기각할 확률 → 제1종 오류
3) 오류
- 제1종 오류: H0가 참인데 기각
- 제2종 오류: H0가 거짓인데 채택
4) 검정 통계량
- 표본으로부터 계산된 값으로, H0가 참일 때 어느 정도 극단적인지 판단
- z-test, t-test, F-test, χ²-test 등
5) p-value
- H0가 참이라고 가정했을 때, 지금 얻은 통계량 이상으로 극단적 값이 나올 확률
- p-value < alpha → H0 기각
5. T-test
1) One-sample t-test
- 표본평균 x̄이 특정 값 μ0 와 다른지 검정
2) Two-sample t-test
- 두 서로 다른 그룹의 평균 비교
- 경우
- 분산 동일 가정(equal variance)
- 분산 다름 가정(unequal variance, Welch t-test)
3) Paired t-test
- 같은 개체를 전/후로 두 번 측정
- 각 개체의 차이 d(후-전)을 구해서, d의 평균이 0인지 t-test 수행
6. ANOVA
- 3개 이상 그룹의 평균 비교
- 전체 변동을 그룹 간 변동, 그룹 내 변동으로 나눔
- F = (그룹 간 평균제곱 MSB) / (그룹 내 평균제곱 MSW)
- 검정 통계량 F는 F-distribution 사용
- F 값이 클수록 "그룹 간 차이가 크다" → H0 기각 가능성 상승
7. Chi-Square test
- 주로 범주형 변수에 사용
종류
1) 독립성 검정 - 두 범주형 변수 사이에 관계가 있는지
2) 적합도 검정 - 관측 빈도가 이론적 분포에 잘 맞는지
3) 동질성 검정 - 여러 집단에서 분포가 같은지
8. 기타 추정과 검정
- z-test 시 n이 충분히 크면 정규근사 사용
분산에 대한 검정
- 한 집단 분산이 특정 값과 같은지 → 카이제곱 검정
- 두 집단 분산이 같은지 비교 → F-test
비모수 검정
- 정규 분포 가정이 어려울 때 사용
1) Mann-Whitney U test: 두 독립집단 비교 (비정규일 때 t-test 대체)
2) Wilcoxon signed-rank test: 대응표본 t-test 비모수 버전
3) Kruskal-Wallis test: ANOVA 비모수 버전
'Computer Science' 카테고리의 다른 글
| [5]Statistics Box-Jenkins ARIMA (0) | 2025.12.06 |
|---|---|
| [4]Statistics Time Series Analysis (0) | 2025.12.06 |
| [2]Statistics Exploratory Data Analysis (0) | 2025.11.30 |
| [1]Statistics Probability (0) | 2025.11.21 |
| [Paper]You Only Look Once:Unified, Real-Time Object Detection (0) | 2024.08.27 |
[2]Statistics Exploratory Data Analysis
Statistics - EDA
0. 탐색적 데이터 분석(EDA)
데이터를 분석하기 전에
데이터의 구조, 분포, 이상치, 패턴, 관계 등을 탐색하는 단계
1. 범주형 변수의 EDA
범주형 데이터는 성별, 지역, 제품종류, 부서 등 group/label 중심 데이터
대표 요약 지표
- Frequency: count
- Proportion: count/total
- RElative frequency table: 비율 표
범주형 변수의 기본 EDA 조합:
빈도표 + bar chart
대표 시각화
1) Bar Plot
- 범주 간 빈도/비율 비교
- 잘 쓰는 시각화 1순위
2) Pie Chart
- 전체에서 각 범주의 비중
- 4개 이상 범주면 해석 어려워 비추천하기도 함
3) Countplot
- Seaborn package에 있음
- Bar Plot과 동일 개념(count 자동 계산)
다변량 범주형 분석
- Categorical vs Categorical
1) 교차표 Crosstab
- 2개 범주형 변수의 조합 빈도
2) Stacked bar chart / Grouped bar chart
- 두 범주형의 관계 시각화
범주형 변수에서 흔한 문제와 처리
1) Rare category
- 너무 적게 등장하는 category는 모델 성능 저해
- 묶어서 Other로 합침
2) 불균형 데이터
- 범주 편향 여부 파악 필요
- 시각화로 class imbalance 확인 가능
2. 수치형 변수의 EDA
기본 요약 통계량
- 평균
- 중앙값
- 분산
- 표준편차
- 최소값, 최대값
- 사분위수 (Q1, Q3)
- IQR: Q3 - Q1
- 왜도, 첨도
skewness가 양수면? -> 오른쪽 꼬리 긴 분포
대표 시각화
1) Histogram
- 분포의 모양 파악
- 봉우리가 몇 개인지 확인
- 왜도 skewness 확인
2) Boxplot
- 이상치 탐지
- 그룹 간 비교에 효과적 (범주형 x 수치형)
- 수염 whisker 밖 point는 이상치 후보
3) KDE Plot Kernel Density Estimation
- Histogram보다 부드러운 분포
- 연속형 분포를 부드럽게 표현하는 기법 → KDE
4) Scatter Plot
- 수치형 x 수치형 관계
- 선형성, 패턴 확인
- 두 변수의 관계 분석
Correlation Matrix
- Correlation Coefficient 사용
- Heatmap으로 시각화
- 상관계수가 0이어도 독립은 아님
3. 기타 탐색적 데이터 분석
다변량 EDA (Multivariate)
1) Pairplot
- 여러 수치형 변수들의 scattor plot + histogram
- 상관관계 파악
2) Grouped Boxplot
- 범주형 x 수치형
Missing Value 탐색
- Null 값 개수 or 비율
- Heatmap으로 결측 패턴 표현
- 특정 열에서 결측이 특정 패턴을 갖는지 탐색
Outlier 탐색
- Boxplot
- Z-score
- scatter에서 극단값 확인
Distribution Shape 분석
- 정상성 여부
: 시계열 Data의 통계적 특성이 시간에 따라 변하지 않고 일정한가 - 대칭성
- Long-tail
- Bimodal / Multimodal
Feature 간 Relationship 파악
- Correlation
- Scatter line pattern
- Segmented ditribution
'Computer Science' 카테고리의 다른 글
| [4]Statistics Time Series Analysis (0) | 2025.12.06 |
|---|---|
| [3]Statistics Estimation and Hypothesis Test (0) | 2025.11.30 |
| [1]Statistics Probability (0) | 2025.11.21 |
| [Paper]You Only Look Once:Unified, Real-Time Object Detection (0) | 2024.08.27 |
| [Paper]ImageNet Classification with Deep Convolutional Neural Networks (0) | 2024.08.09 |
홈서버 구축기[1]
지난번에 포트포워딩만 남긴 상태로 글을 마쳤는데
이후로 꽤 정체되어있다가
도메인 구매 후 Cloudflare 설정까지 마쳤다
우선 간단한 샘플 페이지를 포함한 프로젝트 폴더를 홈서버로 이동시키고
8000번 Port로 실행 및 접속이 되는지 확인했다
그런 다음 가비아에서 도메인을 하나 구매했다
도메인 이름은 "fin-watch.com"인데,
주식 투자할 때 필수인, 다음 FOMC에서의 금리 결정 확률(베팅값)을 모니터링할 수 있는
"fed watch"를 따라해보고자 이걸로 골랐다
아쉽게도 하이픈이 없는 버전은 이미 누가 선점했더라
닷컴을 포기할 순 없어서 하이픈을 감내하기로 결정
도메인을 연결했지만 이대로는
fin-watch.com:8000 이라는 못생긴 주소로 접속해야만 하니
Cloudflare와 nginx 설정을 완료했다
server {
listen 80;
server_name fin-watch.com;
location / {
proxy_pass http://127.0.0.1:8000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
해보기 전에는 무시무시한 이름 때문에 심리적 장벽이 생겨 시도하지 못하고 있었는데
금요일인 오늘, 이른 퇴근 후 의욕이 솟아 30분만에 세팅 완료했다
아마 척박한 환경인 회사에서 하루종일 개발하다오니 홈서버가 선녀로 보여서 그런거같다
이제 다음과 같은 이쁜 주소로 접속이 가능해졌다
fin-watch.com
근데 들어가도 뭐 별거 없다
못생긴 주소를 해결했으니
못생긴 UI를 다음으로 해결한 다음
원래 원했던 기능들을 채워넣어봐야겠다
'Programming' 카테고리의 다른 글
| 홈서버 구축기[0] (0) | 2025.10.16 |
|---|
[1]Statistics Probability
Statistics - Probabilitys and Distribution
1. 확률의 개념과 응용
표본 공간 Sample Space: 실험에서 가능한 모든 결과의 집합
사건 Event: 표본 공간의 부분 집합
사건의 종류
1) 상호배반 mutually exclusive: 동시에 발생 불가능짝수인 사건과 홀수인 사건
2) 포괄 exhaustive: 모든 사건을 합하면 표본공간이 되는 경우
3) 독립 independent: 한 사건의 발생이 다른 사건 확률에 영향을 주지 않음
동전 2번 던지기
독립 사건이면 P(A 교집합 B) = P(A) * P(B)
조건부확률 Conditional Probability
$$
P(A \mid B) = \frac{P(A \cap B)}{P(B)}
$$Bayes
$$
P(A \mid B) = \frac{P(B \mid A), P(A)}{P(B)}
$$전확률의 법칙 Law of Total Probability: B가 여러사건 B_i로 나뉘면,
$$
P(B) = \sum_i P(B \mid A_i), P(A_i)
$$
2. 확률 분포의 개념과 응용
1) 이산형 discrete: 확률은 합으로 표현
Bernoulli, Binomial, Poisson
- 연속형 continuous: 확률은 적분으로 표현
Uniform, Normal, Exponential
이산형 확률분포
1) Bernoulli 분포
- 성공/실패만 존재
- P(X=1) = p
- 평균 = p
- 분산 = p(1-p)
2) Binomial 분포
조건:
- 독립 시행 n번
- 각 시행 성공확률 p
$$
P(X = k) = {n \choose k}, p^{k}, (1 - p)^{,n-k}
$$
- 평균 = np
- 분산 = np(1-p)
단골출제: “Poisson 근사 가능 조건?”n→∞, p→0, np=λ 일정
3) Poisson 분포
- 희귀 사건
- 평균 = λ
- 분산 = λ
$$
P(X = k) = \frac{e^{-\lambda}, \lambda^{k}}{k!}
$$
연속형 확률분포
1) Uniform 분포
- f(x) = 1 / (b-a)
- 평균 = (a+b)/2
- 분산 = (b-a)^2 / 12
2) Normal 분포
X~N(μ,σ²)
- 표준정규분포:
Z=(X−μ)/σ
3) Exponential 분포
- Poisson 과정에서 다음 사건까지 걸리는 시간
- 평균 = 1/λ
- 분산 = 1/λ^2
- Memoryless
$$
P(X > s + t \mid X > s) = P(X > t)
$$
중심극한정리 Central Limit Theorem
표본평균 X̄가 n이 충분히 크면
X̄ ~ Normal(μ, σ²/n)
“모수 모를 때 t-test에서는 정규분포 대신 어떤 분포를 사용?”
→ t-distribution
'Computer Science' 카테고리의 다른 글
| [3]Statistics Estimation and Hypothesis Test (0) | 2025.11.30 |
|---|---|
| [2]Statistics Exploratory Data Analysis (0) | 2025.11.30 |
| [Paper]You Only Look Once:Unified, Real-Time Object Detection (0) | 2024.08.27 |
| [Paper]ImageNet Classification with Deep Convolutional Neural Networks (0) | 2024.08.09 |
| [AI] CS231n [2] Linear classification (0) | 2024.05.04 |