강의 핵심 요약
Python부터 기초 통계, 머신러닝, 강화학습, 시계열 분석까지 강의 순서에 따른 핵심 정리
빅데이터 프로그래밍
- 파이썬(Python): 특정 분야에 한정되지 않는 범용 프로그래밍 언어. 데이터 분석·인공지능·업무 자동화·웹 개발 등에 활용
- 간결한 문법으로 코드를 비교적 쉽게 읽고 작성할 수 있으며, 풍부한 라이브러리로 생산성이 높음
- 세계적으로 널리 쓰이는 인기 언어. TIOBE 지수에서 2020년대 들어 주요 언어 중 가장 높은 인기를 기록
- 통계 전용 언어가 아니며, 머신러닝과 인공지능 개발에도 널리 사용
- 실행 과정: CPython은 소스 코드를 바이트코드로 컴파일한 뒤 Python 가상 머신에서 실행
- 실행 환경: Miniforge는 Python과 패키지 환경을 관리하고, Jupyter와 Colab은 코드와 설명을 셀 단위로 작성·실행하는 노트북 환경을 제공
- 셀의 화면상 위치보다 실제 실행 순서가 중요하며, 앞에서 만든 변수는 같은 실행 환경에서 유지
- 변수와 함수: 변수는 객체에 연결한 이름이고, 함수는 입력(인자)을 받아 정해진 작업을 수행
- 판다스(pandas): 행과 열로 구성된 표 데이터를 다루는 라이브러리
- 열 선택: 분석에 필요한 변수 선택
- 인덱스 기반 선택: 행의 이름이나 위치로 관측값 선택
- 조건 검색: 비교 연산과 논리 조건으로 필요한 행 추출
탐색적 데이터분석
- 탐색적 데이터 분석(EDA): 자료의 구조와 분포, 변수 사이의 관계를 살펴보며 특징과 추가 질문을 찾는 과정
- 확인적 데이터 분석(CDA)은 미리 정한 가설을 데이터로 평가
- 기술 통계(descriptive statistics): 수집한 자료의 특징을 수치와 그래프로 요약·설명
- 예: 조사에 응답한 고객들의 평균 만족도와 응답 비율 정리
- 변수의 종류: 수치형은 양이나 크기, 범주형은 집단이나 유형을 표현
- 숫자로 저장된 값도 의미가 선박 종류나 등급이면 범주형일 수 있음
- 중심경향치: 자료의 중심을 나타내는 값
- 평균(mean): 모든 값을 더해 관측값 개수로 나눈 값. 극단적인 값의 영향을 받기 쉬움
- 중간값(median): 크기순으로 정렬했을 때 가운데 위치의 값. 중앙값·중위수라고도 하며, 극단적인 값의 영향을 상대적으로 적게 받음
- 최빈값(mode): 가장 자주 나타나는 값. 범주형 자료에도 적용 가능
- 변산성: 자료가 얼마나 퍼져 있는지를 나타내는 성질
- 범위(range): 최댓값에서 최솟값을 뺀 값
- 분산(variance): 평균에서 떨어진 정도를 제곱해 요약한 값
- 표준편차(standard deviation): 분산의 제곱근. 원래 변수와 같은 단위로 해석
- 사분위수와 사분위범위: 자료를 정렬해 네 구간으로 나누는 경계와 가운데 구간의 폭
- 제1사분위수 Q1: 25백분위수
- 제2사분위수 Q2: 50백분위수, 즉 중간값
- 제3사분위수 Q3: 75백분위수
- 사분위범위(interquartile range, IQR): IQR=Q3−Q1. 가운데 50% 자료의 퍼짐으로, 이상치에 강건한 척도
- 예: Q1=12, Q3=30이면 IQR=18
- 이상치 후보 식별
- IQR 기준(Tukey 방법): Q1−1.5IQR 미만 또는 Q3+1.5IQR 초과
- 3시그마 규칙: 평균에서 표준편차의 3배 이상 벗어난 값. 평균과 표준편차 자체가 이상치에 취약
- 분포의 특성: 한 변수의 중심·퍼짐·비대칭성과 특이한 값을 확인
- 왜도(skewness): 분포의 비대칭 정도. 양수면 오른쪽(큰 값 쪽) 꼬리, 음수면 왼쪽 꼬리의 영향이 큼
- 첨도(kurtosis): 평균에서 멀리 떨어진 값의 영향. 정규분포의 첨도는 3, 초과 첨도(첨도 − 3)는 0
| 방법 | 핵심 용도 |
|---|---|
| 상자-수염 그림 | 중간값·사분위수·이상치 후보 등을 요약. 상자의 길이는 IQR |
| 히스토그램 | 수치형 값을 구간으로 나누어 구간별 빈도를 막대로 표시 |
| 커널 밀도 추정 | 수치형 변수의 분포를 매끄러운 밀도 곡선으로 표현 |
추론 통계
- 추론 통계(inferential statistics): 표본을 근거로 모집단의 특성을 추정하거나 가설을 검정
- 기술 통계는 수집한 자료 자체를 요약하고, 추론 통계는 관측하지 않은 모집단으로 결론을 확장
- 모집단과 표본: 모집단은 관심 대상 전체, 표본은 실제로 조사한 일부
- 모수: 모집단의 특성을 나타내는 값. 예: 모평균
- 통계량: 표본에서 계산한 값. 예: 표본평균
- 추정: 통계량으로 모수를 추측하는 절차
- 점 추정: 모수를 하나의 값으로 추정
- 구간 추정: 모수가 포함될 것으로 기대하는 범위로 추정해 불확실성을 함께 표현
- 표집 오차: 표본만 관찰하기 때문에 생기는 통계량과 모수의 차이
- 같은 조건에서 표본이 커질수록 일반적으로 표집 오차 감소
- 비표집 오차: 편향된 질문, 무응답, 입력 실수 등 설계·수집·처리 과정의 오류. 표본 수만 늘려도 해결되지 않음
- 표집분포: 같은 크기의 표본을 반복해서 뽑아 계산한 통계량들이 이루는 분포
- 신뢰구간: 표본의 불확실성을 반영해 모수를 추정하는 구간. 통계량 ± 오차범위
- 신뢰수준이 높을수록, 자료의 변산성이 클수록 구간이 넓어지고, 표본이 클수록 좁아짐
- 95% 신뢰수준: 같은 절차로 표본 추출과 구간 계산을 반복할 때, 만들어진 구간의 약 95%가 참 모수를 포함
- 한 번 계산한 구간에 모수가 들어 있을 확률이 95%라는 뜻은 아님
- 부트스트랩: 관측한 표본에서 복원추출을 반복해 통계량의 변동과 불확실성을 추정
- 가설검정: 귀무가설을 기준으로 관측 결과가 얼마나 이례적인지 평가
- 귀무가설(H0): "차이가 없다", "영향이 없다"처럼 검정의 기준이 되는 가설
- 대립가설(H1): "차이가 있다"처럼 연구자가 입증하려는 가설
- 유의확률(p-value): 귀무가설과 검정의 가정 아래에서 관측 결과만큼 또는 더 극단적인 결과가 나올 확률
- 유의확률이 정한 유의수준(관례적으로 0.05)보다 작으면 귀무가설 기각
- 기각하지 못한 결과는 귀무가설이 참이라는 증명이 아니라 기각할 근거가 부족하다는 의미
- 1종 오류: 귀무가설이 참인데 기각하는 오류
- 2종 오류: 귀무가설이 거짓인데 기각하지 못하는 오류
- 독립표본 t 검정: 서로 독립인 두 집단의 평균 차이를 검정하는 방법
회귀 분석
- 산점도(scatter plot): 두 연속형 변수의 값을 관측 대상별 한 점으로 표시해 관계를 확인
- 예: 가로축에 선박 길이, 세로축에 선박 중량을 두고 선박별로 점 표시
- 상관계수: 두 변수의 선형 관계의 방향과 강도를 −1부터 +1 사이의 값으로 요약
- 양의 상관: 한 변수가 클수록 다른 변수도 큰 경향
- 음의 상관: 한 변수가 클수록 다른 변수는 작은 경향
- 강도는 절댓값으로 판단. 예: −0.8이 0.2보다 강한 선형 관계
- 상관계수가 0에 가까워도 비선형 관계가 존재할 수 있음
- 상관과 인과: 상관관계만으로 원인과 결과를 판단할 수 없음
- 제3의 변인: 두 변수에 모두 영향을 주는 변수. 예: 인구가 범죄 건수와 종교 시설 수를 함께 늘림
- 심슨의 역설: 집단별 관계와 전체를 합친 관계가 다르게 나타남
- 벅슨의 역설: 표본이 선택된 기준 때문에 실제와 다른 상관이 나타남
- 포트폴리오: 자산별 수익률과 위험(수익률의 표준편차)뿐 아니라 자산 사이의 상관관계도 전체 위험에 영향
- 상관관계가 낮은 자산을 섞을수록 같은 기대 수익에서 위험을 낮출 수 있음
- 선형 회귀: 독립변수와 종속변수의 관계를 계수와 절편으로 표현
- 최소제곱법: 실제값과 예측값의 차이를 제곱한 합이 작아지도록 계수를 추정
- 단순 회귀의 계수: 독립변수가 한 단위 증가할 때 종속변수 예측값의 변화량
- 계수의 유의성 검정: 귀무가설 "회귀계수는 0"을 검정. 유의해도 인과관계가 성립하는 것은 아님
- 다중 회귀: 여러 독립변수로 종속변수를 설명
- 계수: 모형의 다른 독립변수가 같을 때(통계적 통제) 해당 변수 한 단위 증가에 따른 예측 변화량
P>|t|: 다른 변수를 통제했을 때 개별 회귀계수가 0인지 검정하는 유의확률- 표준화: 단위가 다른 독립변수의 계수 크기를 비교할 때 사용
- 결정계수 R2: 평균만으로 예측하는 기준과 비교해 모형이 제곱 오차를 얼마나 줄이는지 나타내는 지표
- "종속변수 분산의 R2×100%를 설명"으로 해석
- 수정 결정계수: 불필요한 변수 추가에 패널티를 주어 모형 간 비교에 사용
- 더미 코딩: 범주형 독립변수를 수치로 표현
- 절편이 있는 일반적인 모형에서는 범주가 k개일 때 기준 범주를 제외한 k−1개 더미 변수 사용
지도학습: 회귀
- 머신러닝: 데이터에서 패턴을 추출해 예측이나 판단에 활용하는 인공지능 기법
- 인공지능 ⊃ 머신러닝 ⊃ 딥러닝. 딥러닝은 머신러닝의 한 가지 기법
- 통계학은 데이터의 이해와 추론, 머신러닝은 예측과 의사결정에 더 중점
| 종류 | 학습에 쓰는 정보 | 대표 문제 |
|---|---|---|
| 지도학습 | 입력과 정답 | 회귀(연속적인 수치 예측), 분류(범주 예측) |
| 비지도학습 | 정답 없는 입력 | 군집(비슷한 것끼리 묶기), 차원 축소(변수 요약) |
| 강화학습 | 행동에 대한 보상 | 시행착오로 누적 보상이 커지는 정책 학습 |
- 지도학습(supervised learning): 입력과 정답이 함께 있는 데이터로 입력과 결과의 관계를 학습
- 회귀(regression): 연속적인 수치형 종속변수의 값을 예측하는 문제
- 예: 선박 중량, 거래 가격, 배송 소요 시간 예측
- 회귀나무: 입력 조건을 질문으로 나누고, 도착한 잎(leaf)에 모인 학습 사례의 정답 평균으로 수치를 예측
- 선형 회귀 모형: 입력 변수에 계수를 곱해 합하고 절편을 더해 예측
- 회귀 평가 지표
- 평균 절대 오차(MAE): 오차의 절댓값을 평균. 원래 종속변수와 같은 단위
- 평균 제곱근 오차(RMSE): 제곱 오차 평균의 제곱근. 큰 오차에 더 민감하며 원래 종속변수와 같은 단위
- 하이퍼파라미터: 학습 전에 정하는 설정값. 예: 나무의 깊이
max_depth - 일반화와 과대적합: 일반화는 학습한 패턴을 새로운 사례에도 적용하는 능력
- 과대적합: 학습 자료를 지나치게 따라가 학습 오차는 작지만 새 자료의 오차가 커지는 상태
- 데이터 분할: 학습 데이터로 모형을 학습하고, 검증 데이터로 하이퍼파라미터 등 설정을 선택한 뒤, 테스트 데이터로 최종 성능 평가
지도학습: 분류
- 분류(classification): 범주형 종속변수가 어느 범주에 속하는지 예측하는 문제
- 예: 정상·불량, 지연·정상, 선박 유형 예측
- 정답을 0·1·2로 저장해도 범주를 뜻한다면 분류 문제
- 분류나무: 조건을 따라 나눈 집단의 범주 비율 등을 이용해 클래스와 확률을 예측
predict(): 최종 클래스,predict_proba(): 클래스별 확률
- 로지스틱 회귀: 이름에 회귀가 있지만 분류에 사용하는 모형. 이진 분류에서는 로지스틱 함수로 입력의 선형 결합을 확률로 변환
- 혼동행렬: 실제 범주와 예측 범주를 비교해 정답과 오류의 유형을 정리
- 진양성(TP): 실제 양성을 양성으로 예측
- 위양성(FP): 실제 음성을 양성으로 예측
- 위음성(FN): 실제 양성을 음성으로 예측
- 진음성(TN): 실제 음성을 음성으로 예측
- 평가 지표: 어떤 오류의 비용이 큰지에 따라 선택
- 정확도: 전체 중 맞힌 비율
- 정밀도: 양성으로 예측한 것 중 실제 양성의 비율, TP/(TP+FP)
- 재현도(민감도): 실제 양성 중 양성으로 찾아낸 비율, TP/(TP+FN)
- 특이도: 실제 음성 중 음성으로 맞힌 비율, TN/(TN+FP). 위양성률은 1− 특이도
- F1: 정밀도와 재현도의 조화평균
- 문턱값: 양성 확률을 양성·음성으로 바꾸는 기준
- 문턱값을 높이면 양성 예측이 줄어 정밀도·특이도는 높아지고 재현도는 낮아지는 경향
- 문턱값을 낮추면 양성 예측이 늘어 재현도는 높아지고 정밀도·특이도는 낮아지는 경향
- 문턱값은 검증 데이터로 선택하고 테스트 데이터로 최종 평가
- ROC·PR 곡선: 문턱값에 따른 성능의 변화를 비교
- ROC: 가로축 위양성률, 세로축 재현도. 곡선 아래 면적(AUC)이 0.5면 무작위 수준, 1이면 완전한 구분
- PR: 가로축 재현도, 세로축 정밀도. 평균 정밀도(AP)로 곡선을 요약하며, 무작위 기준선은 양성 비율
앙상블
- 앙상블(ensemble): 여러 모형의 예측을 결합하는 방법
- 분류는 다수결이나 확률 평균, 회귀는 예측값의 평균으로 결합
- 장점: 서로 다른 모형의 우연한 오류를 줄여 단일 모형보다 안정적
- 단점: 학습 시간과 자원 증가, 예측 속도 저하, 예측 근거 해석의 어려움
- 배깅: 복원추출한 데이터로 여러 모형을 독립적으로 학습하고 예측을 평균하거나 투표로 결합
- 랜덤 포레스트: 데이터와 변수 선택의 무작위성을 활용하는 여러 의사결정나무의 결합
- 부스팅: 앞선 모형의 오류를 보완하는 방향으로 모형을 순차적으로 추가
- AdaBoost: 이전 모형이 잘못 분류한 사례에 가중치를 주어 다음 모형 학습
- 경사 부스팅: 손실을 줄이는 방향으로 새 모형을 더해 남은 오류 보완. 예: XGBoost, LightGBM, CatBoost
- 스태킹: 여러 모형의 예측을 입력으로 받아 최종 예측을 만드는 모형을 추가로 학습
비지도학습
- 비지도학습(unsupervised learning): 정답 없이 데이터의 구조와 패턴을 탐색
- 주요 활용: 군집분석, 차원 축소, 이상치 탐지
| 방법 | 핵심 목적 | 예시 |
|---|---|---|
| 군집분석(clustering) | 비슷한 관측값끼리 집단 구성 | 구매 특성이 비슷한 고객 묶기 |
| 차원 축소(dimensionality reduction) | 많은 변수를 더 적은 축으로 요약 | 센서 변수 50개를 2개 축으로 표현 |
- 군집 방법의 종류
- 파티션 방법: 수평적인 군집들로 나눔. 예: K-Means
- 계층적 군집: 단계적으로 합치거나 나누며, 덴드로그램을 자르는 높이에 따라 군집 수 결정
- 밀도 기반 군집(DBSCAN): 밀집 영역을 군집으로 찾음. 복잡한 모양의 군집과 이상치 탐지에 유용
- K-Means: 관측값을 가까운 중심에 배정하고 중심을 갱신하며 군집 구성
- 군집 수 K는 분석가가 미리 정함
- 거리 기반 방법이므로 변수의 단위와 범위가 다르면 표준화 검토
- 군집 평가
- 관성(inertia): 각 관측값과 소속 군집 중심 사이의 거리 제곱합. 작을수록 조밀하지만 K를 늘리면 거의 항상 감소
- 엘보우 방법: K에 따른 관성 그래프가 급하게 내려가다 완만해지는 지점을 후보로 선택
- 실루엣 계수: 같은 군집에는 가깝고 다른 군집과는 먼 정도. −1부터 1 사이이며 클수록 잘 분리
- 차원 축소의 목적: 시각화, 계산 효율 향상, 과적합 방지, 차원의 저주 완화, 노이즈 제거
- 주성분 분석(PCA): 자료의 분산을 크게 담는 방향을 찾아 적은 수의 축으로 표현
- 제1주성분(PC1): 데이터가 가장 크게 퍼지는 방향. 제2주성분은 PC1과 직교하며 남은 분산을 가장 많이 보존
- 차원을 줄이면 일부 정보가 사라질 수 있으므로 분산 설명 비율 확인
- t-SNE, UMAP: 시각화에 주로 쓰는 비선형 차원 축소 기법
- 이상치(outlier): 자료의 일반적인 패턴에서 크게 벗어난 관측값
- 결측치는 값이 없거나 기록되지 않은 상태로, 이상치와 구별
- 입력 오류·측정 오류일 수도 있고 실제로 발생한 드문 사건일 수도 있음
- 원본과 맥락을 확인한 뒤 수정·유지·제외 여부를 판단. 탐지 기준을 기계적으로 적용해 삭제하지 않음
- 삭제하려면 객관적 이유가 필요하고, 삭제한 경우 결과 보고에 포함
- 이상치 탐지 알고리즘
- EllipticEnvelope: 정상 데이터를 하나의 타원형 분포로 보고 멀리 떨어진 점 탐지
- OneClassSVM: 정상 데이터가 차지하는 영역의 경계를 학습
- Isolation Forest: 무작위 분할 트리에서 적은 분할로 쉽게 고립되는 점을 이상치로 판단
- LocalOutlierFactor(LOF): 관측값의 국소 밀도를 주변 이웃의 밀도와 비교
강화 학습
- 강화학습(reinforcement learning): 행위자(agent)가 환경에서 행동을 선택하고 보상을 받아 시행착오로 전략을 개선하는 학습 방식
- 상태: 현재 상황
- 행동: 행위자가 선택하는 조작이나 결정
- 보상: 행동 결과에 대해 환경에서 받는 평가 신호
- 수익(return): 현재부터 미래까지 받을 보상의 누적
- 지도학습과의 차이: 지도학습은 정답이 있는 데이터로 예측 오차를 줄이고, 강화학습은 시행착오로 보상을 최대화
- 보상은 정답보다 적고 늦게 주어지므로, 어떤 행동이 보상에 기여했는지 판단(신용 할당)하고 보상을 얻을 행동을 직접 찾아야(탐색) 함
- 정책(policy): 상태에 따라 행동을 선택하는 규칙
- 가치(value): 정책을 계속 따를 때 기대되는 수익
- 상태 가치: 현재 상태에서 정책을 따를 때의 기대 수익
- 행동 가치: 특정 행동을 먼저 한 뒤 정책을 따를 때의 기대 수익
- 이득(advantage): 행동 가치와 상태 가치의 차이
- 벨만 방정식: 현재 가치 = 즉시 보상 + 다음 상태의 가치
- 학습 목표: 당장의 보상뿐 아니라 이후 결과까지 고려해 기대 누적 보상이 커지는 정책 학습
- 예: 물류 로봇이 충돌을 피하면서 목적지에 도달하는 이동 전략 학습
- 실습 도구: Gymnasium은 환경과 상호작용하는 인터페이스를, Stable-Baselines3는 강화학습 알고리즘 구현을 제공
- 사람의 피드백 활용(RLHF): 사람의 선호를 보상 신호로 활용해 언어 모델 등의 행동을 개선
- 지도 미세 조정 → 보상 모델 학습 → 강화학습의 3단계
- 주요 어려움: 많은 시행착오와 계산 비용, 보상 설계, 학습 안정성, 실제 환경에서의 안전한 탐색
시계열 데이터 분석
- 시계열 데이터: 시간 순서에 따라 관측한 자료. 관측 순서와 시간 간격이 분석에서 중요
- 시계열 분석의 종류: 예측(미래 값), 대치(누락된 값 채우기), 이상 탐지, 분류
| 개념 | 의미 | 예시 |
|---|---|---|
| 추세(trend) | 장기적인 증가·감소 패턴 | 수년에 걸쳐 선박 운항량이 증가 |
| 계절성(seasonality) | 달력과 관련된 일정한 간격으로 반복되는 패턴 | 매년 여름에 전력 사용량이 증가 |
| 주기성(cycle) | 증가와 감소가 반복되지만 간격이 일정하지 않은 패턴. 대체로 계절성보다 간격이 긺 | 경기 확장과 침체에 따른 물동량 변동 |
| 자기상관(autocorrelation) | 같은 시계열에서 일정한 시차(lag)만큼 떨어진 관측값 사이의 상관 | 이번 달 수요와 지난달 수요의 관계 |
| 정상성(stationarity) | 평균·분산 등 통계적 특성이 관측 시점에 따라 달라지지 않는 성질 | 추세·계절성이 있으면 비정상 |
| 이상점(outlier) | 패턴에서 벗어난 특이 사례 | 공장 화재 시점의 판매량 급감 |
- 날짜 인덱스: 날짜·시간을 기준으로 정렬하고 원하는 기간을 선택
diff: 이전 관측값과의 차이,pct_change: 변화 비율
- 간격 변경과 집계
resample: 시간 구간별 합계·평균 등 집계asfreq: 지정한 간격의 날짜 값 선택. 빈 값은ffill(이전 값)이나bfill(이후 값)으로 채움- 그룹별 집계: 시간대·요일 등으로 묶어 평균을 비교해 반복 패턴 확인
- 이동 평균: 인접한 일정 구간의 평균으로 단기 변동을 완화
- 시계열 분해: 추세·계절 성분·나머지 성분으로 분리해 패턴을 해석
- 덧셈 분해: 수준이 달라져도 계절 변동의 폭이 대체로 일정한 경우
- 곱셈 분해: 수준이 높아질수록 계절 변동의 폭도 비례해 커지는 경우
- 계절 조정: 원자료에서 계절 성분을 제거
- STL: LOESS를 이용해 추세와 계절 성분을 추정하는 분해 방법
- 자기상관함수(ACF): 여러 시차의 자기상관을 구해 정상성·계절성 등 구조 탐색
- 차분: 일정 시차를 둔 관측값의 차이. 추세를 줄여 비정상 시계열을 정상 시계열에 가깝게 만드는 데 활용
- 계절 차분: 같은 계절에 해당하는 이전 시점과의 차이 계산. 예: 전년 동월 대비 변화량
- 단순 예측: 다른 모형과 비교할 기준으로 활용
- 마지막 값: 모든 예측값을 마지막 관측값으로 지정
- 평균: 과거 관측값의 평균으로 예측
- 표류(drift): 과거의 평균 변화량을 미래에 적용
- 계절성 반영: 같은 계절의 마지막 값이나 평균으로 예측
- Prophetverse: Prophet 모형의 원리를 확장한 예측 라이브러리. 계절성을 추가해 반복 패턴을 반영