목차
5-1. [데이터 분석 이해와 실무] 가설의 의의와 검정
1) 가설 검정의 의미
- 모집단에 어떤 가설을 설정한 뒤, 해당 가설에 대해 통계적 추론으로 가설의 채택 여부를 확률적으로 판정하는 방법
- 기존 이론을 의미하는 귀무가설(H0)과 연구자의 주장인 대립가설(H1)이 존재
2) 가설 검정 방법
- 종속변수와 독립변수의 유형에 입각하여 검정 방법을 설정(예: 단일 집단 평균 검정, 독립 표본 t 검정 등)
3) 가설 검정의 오류
- 제1종 오류: 귀무가설이 참이지만 기각을 할 경우 생기는 오류, "유의수준"이라고 불림
- 제2종 오류: 귀무가설이 거짓이지만 기각하지 못할 경우 생기는 오류
5-2. [데이터 분석 이해와 실무] 상관분석
1) 상관관계
- 상관관계는 변수 간의 상호 관련성을 의미하며, 관계성의 정도는 통계적 또는 시각적인 방법으로 파악 가능
- 산점도를 이용하면 변수 간 관계를 시각적으로 파악 가능
- 상관계수는 객관적으로 변수 간 관계성을 측정
2) 산점도(Scatter Plot)
- 두 연속형 데이터 관계 파악에 용이
- 극단치 혹은 이상치 파악 가능
3) 상관계수
두 변수 간의 함께 변화하는 경향을 객관적으로 측정할 수 있는 척도
- 피어슨 상관계수: 선형관계의 강도를 측정
- 스피어맨 상관계수: 비선형 순위 상관관계를 측정
4) 상관분석
측정된 두 변수 간의 선형관계가 있는지 탐색 및 확인하는 분석 방법
피어슨 상관 분석
귀무가설: H0: r = 0 (선형관계 없음)
대립가설: H1: r ≠ 0 (선형관계 없음)
상관관계 vs 인과관계
(상관관계가 있다고 인과관계가 있는 것은 아님. but, 인과관계가 있으면 상관관계는 있음)
5) 상관분석 Process
- Data 특성 파악 & 가설 설정
- 산점도를 이용한 시각화 및 가정 검토
- 목적에 맞는 분석 수행
- 결과 해석 및 최종 결론 도출
5-3. [데이터 분석의 이해와 실무] 회귀분석
1) 단순회귀분석
- 한 개의 종속변수(Y)와 한 개의 독립변수(X) 사이의 관계를 분석하는 통계 기법
- Y와 X간의 관계를 일차식(선형)에 대입하여, X의 변화에 따라 Y가 얼마나 변하는지를 예측할 때 사용
- 선형성, 독립성, 등분산성, 정규성에 대한 가정 충족 시 인과성 도출 가능
- 최소제곱법(OLS): 잔차의 제곱의 합을 최소화
- 결정계수(R^2): 총 변동을 설명하는 데 있어서 회귀선에 의하여 설명되는 변동 기여 비율(R^2 = SSR / SST, SST = SSR + SSE)
- t 검정: 단순 회귀계수를 검정할 때 개별회귀계수의 통계적 유의성은 t검정으로 확인
2) 다중회귀분석
- 단순회귀분석의 확장으로 독립변수가 두 개 이상인 회귀모형에 대한 분석
- 다중공선성 문제 -> 변수 선택 중요
- 이차회귀모델, 다항회귀모델
5-4. [데이터 분석 이해와 실무] 시계열분석
1) 시계열 데이터
- 순차적인 시간의 흐름에 따라 기록된 데이터를 의미
- 추세(Trend), 계절성(Seasonality), 싸이클(Cycle), 잔차(Residuals)
- Y = T + S + C + R 또는 Y = T × S × C × R
현재 시점의 시계열 데이터를 분석하는 데 이전 시전의 값이 현재에도 영향을 끼칠 것이라는 가정하에 회귀분석을 진행
시계열 분석 vs 단순 회귀
2) 시계열 분석 통계 모델
- 자기회귀 모델(AR)
AR 모델은 시계열의 미래 값이 과거 값에 기반한다는 모델
즉, 이전 값의 영향을 받는 것이 특징
- 이동평균 모델(MA)
전체적인 편향성을 다루는 모델로, 설명변수가 최근 오차항으로만 구성되어 있는 것이 특징
이전 시점의 값에 기반하는 것이 아닌, 이전 시점의 예측 오차에 가중치를 두어 미래의 값을 예측
- ARIMA 모델 (AR + I + MA)
AR과 MA를 동시에 고려하고, 누적(I)으로 추세까지 고려한 모델로, "자기회귀 누적 이동평균 모델"이라고도 불림
ARIMA(p, d, q) = AR(p) + I(d) + MA(q)
※ 정상성: 정상성을 나타내는 시계열은 관측치가 시간과 무관하여야 함. 즉, 시간에 상관없이 일정한 평균과 분산을 갖고 있어야 함
3) 시계열 분석 순서
6-1-1. [데이터 시각화 이해와 실무] 정적 시각화 개요
1) 데이터 시각화
- 그림은 백 마디의 가치가 있다
- 직관적으로 정보를 확인하는 효과적인 방법
- 적절한 그래프 유형 선택과 옵션 활용이 중요
※ 통계학자 Anscombe이 시각화의 중요성을 주장 - 기술 통계량에만 의존하면 안되는 이유
2) 그래프 구성 요소
그래프를 구성하는 요소와 방식을 안다면 다양한 활용 가능
- figure: 도화지(그림 전체)
- axes: 도화지 내 plot이 그려지는 공간
- axis: plot의 축 -> y축, x축
3) 파이썬 시각화 라이브러리(Matplotlib, Seaborn)
대표적으로 Matplotlib과 Seaborn을 많이 사용함
Matplotlib
- 파이썬의 기본적인 시각화 라이브러리
- 기본적이고 단순한 디스플레이
- 한 줄의 코드로는 복잡한 그래프 구현이 어려움
- 여러 개의 시각화 가능
- 유연한 인터페이스 제공(즉, 원하는 기능 구현 용이)
Seaborn
- 통계 시각화에 특화
- 다채로운 시각화 가능
- 쉽고 간단하게 복잡한 기능 구현
- 다중 시각화 어려움(메모리 부족 이슈)
- 유연성이 상대적으로 떨어짐
6-1-2. [데이터 시각화 이해와 실무] 정적 시각화 실습 (Matplotlib 활용)
1) Matplotlib 소개 및 특징
- 파이썬의 가장 인기 있는 데이터 시각화 라이브러리로, 2D 형태의 그래프와 이미지를 그릴 때 많이 사용
- pyplot 모듈을 많이 사용, 주로 plt 라는 별칭을 이용하여 호출
- 유연한 인터페이스
import matplotlib.pyplot as plt
// 새로운 그래프를 담을 도화지(figure) 생성
plt.figure()
// 데이터 시각화 기능 담당
// 그래프 유형(plot, hist, pie 등)과 변수를 주어 설정 가능
plt.plot(기간, 변수1)
plt.plot(기간, 변수2)
// ...
// 그래프 출력
plt.show()
plt.figure()
plt.plot([0, 1, 2, 3, 4, 5], [0, 1, 2, 3, 4, 5]) // 왼쪽(데이터 x), 오른쪽(데이터 y)
plt.title('라인 그래프')
plt.ylabel('와이 축')
plt.xlabel('엑스 축')
plt.show()
2) 여러 개의 그래프 그리기(subplot, subplots)
- 여러 개의 그래프를 하나의 figure(도화지)에 담는다면 한 번에 더 많은 정보를 효과적으로 전달할 수 있음
- Matplotlib의 pyplot 모듈에서는 subplot과 subplots 커맨드를 활용하여 여러 그래프를 구현 가능
pyplot의 subplot
plt.subplot(row, column, index)
pyplot의 subplots
subplots를 사용할 때 axes 객체의 twinx 메소드를 이용하면 x축을 공유하는 두 개의 그래프를 동시에 그릴 수 있음
하나의 ax에 두 종류의 그래프
같은 x축을 공우, 다른 y축을 사용
6-1-3. [데이터 시각화 이해와 실무] 정적 시각화 실습 (Seaborn 활용)
1) Seaborn 소개 및 특징
- Matplotlib을 기반으로 하며, 다채로운 디자인 테마와 통계용 차트 등이 추가된 강력한 시각화 라이브러리
- 간결한 한 줄 코드로 쉽고 간단하게 복잡한 기능 구현이 가능
- 통계 시각화에 특화
- 데이터에 적합한 다채로운 시각화 기능을 제공
2) Seaborn의 시각화 기능
- 산점도: scatterplot(x, y, hue, data)
- 산점도 + 추세선: regplot()
- 범주별 산점도 + 추세선: lmplot()
- 점도표: rugplot()
- 단변량 & 다변량 시각화: pairplot()
- heatmap()
6-2-1. [데이터 시각화 이해와 실무] 동적 시각화 개요
1) 동적 시각화
- 동적 시각화는 유저와 시각화 결과의 상호작용으로 다양한 정보를 즉각적으로 전달하는 것이 특징
- x축, y축 등에 의존하는 제한된 정보 전달이 아닌 그 외의 정보까지 하나의 그래프에 담을 수 있음
- 대시보드는 동적 시각화의 대표적인 예제
2) Plotly 라이브러리
파이썬의 대표적인 동적 시각화 라이브러리
Plotly의 express(px)와 graph_objects(go) 패키지를 많이 사용
- express: 고수준 API, 쉽고 빠르게 구현, 유연성이 떨어짐
- graph_objects: 저수준 API, 섬세하고 유연하게 시각화 가능, 구현이 어려움
6-2-2. [데이터 시각화 이해와 실무] 동적 시각화 실습(Plotly 활용)
1) Plotly의 Graph Objects 패키지
- graph_objects는 Plotly의 인기 있는 데이터 시각화 모듈로, 3D 형태의 그래프를 포함한 다양한 그래프를 그릴 수 있음
import plotly.graph_objects as go
// Step 1: Figure(도화지) 객체 생성
fig = go.Figure()
// Step 2: 원하는 유형의 그래프 추가(go의 그래프 유형 설정)
fig.add_traces(그래프)
// Step 3: 레이아웃 설정(title, yaxis_title 등)
fig.update_layout(옵션)
6-3. [데이터 시각화 이해와 실무] UI 시각화 실습 (Streamlit 활용)
1) Streamlit 개요
- Data Science를 위한 맞춤형 웹 애플리케이션을 만들 수 있는 파이썬의 라이브러리
- 간결하고 명확한 API를 제공하며, 다른 프레임워크와 비교하여 상대적으로 진입장벽이 낮음
2) Streamlit 구성 요소
- 텍스트 요소: 타이틀, 헤더, 마크다운, 코드 블럭 등
- 인풋 위젯: 버튼, 체크박스, 라디오, 셀렉트박스, 슬라이더 등
- 그 외 이미지 & 상태바: 사이드 바, 성공 메시지, 이미지 등
'5. 활동 > KT AIVLE AI 3기' 카테고리의 다른 글
KT AIVLE AI 3기 ┃ 2주차(2.6 ~ 2.10) - Numpy, Pandas, 데이터 이해 (0) | 2023.02.06 |
---|---|
KT AIVLE AI 3기 ┃ 1주차(1.31 ~ 2.3) - OT, Git, Python (0) | 2023.01.31 |
[KT AIVLE 3기] 사전 교육 2주차 (0) | 2023.01.16 |
[KT AIVLE 3기] 사전 교육 1주차 (0) | 2023.01.09 |
[KT AIVLE 3기] 최종 합격 후기 (2) | 2023.01.08 |
댓글