본문 바로가기

전체 글523

[시계열 분석] 7. ARMA 모형에 대해서 알아보자 with Python 이번 포스팅에서는 자기 회귀 모형(Autoregressive Model)과 이동 평균 모형(Moving Average Model)을 결합한 ARMA 모형에 대해서 알아보려고 한다. 1. ARMA란? 2. ARMA 모형 추정 3. 예측(Forecasting) 4. 파이썬 예제 1. ARMA란? - 정의 - 시계열 데이터 $X_t$가 정상성을 만족하고 $ARMA(p, q)$ 모형을 따른다고 한다면 아래의 관계식을 만족한다. $$X_t = c + \sum_{i=1}^p\phi_iX_{t-i} + Z_t - \sum_{i=1}^q\theta_iZ_{t-i} \tag{1.1}$$ 여기서 $Z_t$는 정규분포를 따르는 백색 잡음이다. 즉, $Z_t \text{ i.i.d. } \sim N(0, \sigma^2)$ .. 2021. 9. 18.
[논문 리뷰] 5. Consistent Estimates of Autoregressive Parameters and Extended Sample Autocorrelation Function for Stationary and Nonstationary ARMA Models 본 포스팅에서는 수식을 포함하고 있습니다. 티스토리 피드에서는 수식이 제대로 표시되지 않을 수 있으니 PC 웹 브라우저 또는 모바일 웹 브라우저에서 보시기 바랍니다. 이번 포스팅에서는 ARMA 모형의 차수를 결정하는데 도움이 되는 Extended Sample Autocorrelation Function(ESACF)을 소개하는 논문을 리뷰하고자 한다. 여기서 다루는 내용은 다음과 같다. 1. Introduction 2. Iterated Regression 3. Extended Sample Autocorrelation Functions 4. Tentative Model Identification 5. Properties of the Iterated AR Estimates 6. Properties of the.. 2021. 9. 14.
[시계열 분석] 6. 이동 평균 모형(Moving Average Model) 적합하기 with Python 이번 포스팅에서는 이동 평균 모형(Moving Average : MA)에 대해서 알아보고 파이썬으로 구현해보고자 한다. 또한 statsmodels를 이용하여 이동 평균 모형을 적합하는 방법도 알아보겠다. 1. 이동 평균 모형이란 무엇인가? 2. 언제 사용하는가? 3. 모형 추정 방법 4. 예측(Forecasting) 5. 예제 1. 이동 평균 모형이란 무엇인가? 정상성(Stationary)을 갖는 시계열 데이터 $X_t$와 백색 잡음(White Noise) $Z_t$에 대하여 $q$차 이동 평균 모형 $MA(q)$는 다음과 같이 정의한다(백색 잡음의 정의는 여기를 참고하자). $$X_t = c + Z_t + \theta_1Z_{t-1} + \cdots + \theta_qZ_{t-q}\tag{1-1}$$ .. 2021. 8. 20.
Matplotlib 이미지 파일 읽기/저장하기 안녕하세요~ 꽁냥이에요. 이번 포스팅에서는 Matplotlib을 이용하여 이미지를 읽고 저장하는 방법에 대해서 알아보겠습니다. 1. 이미지 파일 읽기 2. 이미지 저장하기 1. 이미지 파일 읽기 먼저 필요한 모듈을 임포트 합니다. 이때 Matplotlib에서 이미지 파일을 읽어 오기 위해서 matplotlib.image 모듈이 필요합니다. import numpy as np import matplotlib.pyplot as plt import matplotlib.image as img 이제 이미지 파일을 읽어볼게요. 아래 코드는 sample.jpg 이미지 파일을 읽어오는 코드예요. image_path = './sample.jpg' image = img.imread(image_path) ## RGB 값 pl.. 2021. 8. 16.
Matplotlib을 이용하여 버블 차트(Bubble Chart) 그리기 안녕하세요~ 꽁냥이에요. 오늘은 버블 차트에 대해서 알아보려고 하는데요. 버블 차트는 3차원 데이터를 2차원의 형태로 한눈에 볼 수 있는 차트입니다. 또한 색상 정보를 이용하면 4차원 데이터도 2차원 형태로 표현할 수 있습니다. 이번 포스팅에서는 Matplotlib을 이용하여 버블 차트를 그려보는 방법에 대해서 알아보겠습니다. 그럼 시작해볼까요? 1. 데이터 불러오기 먼저 이번 포스팅에서 사용할 데이터를 다운받아주세요~ 해당 데이터는 나라별로 매년 GDP와 인구수를 나타낸 것으로써 Kaggle에 의하면 교육용으로 만들어진 가짜 데이터(Mock Data)라고 하네요. 먼저 필요한 모듈을 임포트하고 데이터를 불러옵니다. import matplotlib.pyplot as plt import pandas as .. 2021. 8. 10.
Matplotlib을 이용하여 바 차트(Bar Chart)에 선 그래프 추가하기. 반갑습니다~ 꽁냥이에요. 데이터 시각화를 하다 보면 막대그래프 또는 바 차트에 라인(선 그래프)을 추가해야 할 필요가 있는데요. 이번 포스팅에서는 Matplotlib을 이용하여 바 차트에 라인을 추가하는 방법에 대해서 알아보겠습니다. 바 차트와 선 그래프를 그리는 방법에 대해서는 아래에 포스팅해두었으니 참고하세요~ 바 차트 그리기 [바 차트(Bar chart)] 1. Matplotlib을 이용하여 바 차트, 수평 바 차트 그리기 [바 차트(Bar chart)] 2. Matplotlib을 이용하여 바 차트 꾸미기 [바 차트(Bar chart)] 3. Matplotlib 바 차트 번외 - 막대에 그라데이션 적용하기 [바 차트(Bar chart)] 4. Matplotlib을 이용하여 그룹 바 차트(Groupe.. 2021. 8. 5.
[Python] 인코딩 확인하기 - chardet 안녕하세요~ 꽁냥이에요. 종종 주어진 문자열의 인코딩을 알아야 할 필요가 있지요. 특히 텍스트 파일을 불러올 때 적절한 인코딩 형식을 지정해야 할 때처럼 말이죠. 파이썬에서 chardet이라는 모듈이 해당 문자열의 인코딩 형식을 알려주는 고마운 친구인데요. 이번 포스팅에서는 chardet의 기본적인 사용법에 대해서 알아보려고 합니다. 1. chardet 모듈이란? 2. 사용법 1. chardet 모듈이란? chardet 모듈은 특정 문자열을 분석하여 인코딩 형식을 예측해주는(탐지하는) 모듈입니다. chardet는 아마도 character + detect을 합친 단어인 것 같아요. chardet 문서에 따르면 탐지할 수 있는 인코딩 형식은 다음과 같다고 합니다. 우리에게 익숙한 EUC-KR 형식도 지원하네.. 2021. 8. 4.
[시계열 분석] 5. 자기 상관 함수(Autocorrelation Function : ACF)과 부분 자기 상관 함수(Partial Autocorrelation : PACF) with Python 이번 포스팅에서는 자기 상관 함수(Autocorrelation Function : ACF)와 부분 자기 상관 함수(Partial Autocorrelation Function : PACF)에 대하여 알아보고 파이썬을 이용하여 이를 구하는 방법을 살펴보고자 한다. 1. 자기 상관 함수 2. 부분 자기 상관 함수 3. 예제 1. 자기 상관 함수 - 정의 - 시계열 데이터 $Y_t, Y_{t-1}, \ldots, Y_1$이 있다고 하자. 이때 자기 상관 함수는 다음과 같이 정의된다. $$\gamma (r, s) = \frac{Cov(Y_r, Y_s)}{\sqrt{Var(Y_r)Var(Y_s)}}\tag{1-1}$$ 여기서 $Cov(X, Y) = E(XY) - E(X)E(Y)$, $Var(X) = E(X^2)-E.. 2021. 7. 31.
Matplotlib 산포도에 히스토그램 추가하기 여러분~ 안녕하십니까?! 꽁냥이입니다. 산포도는 두 변수의 상관관계, 분포를 시각적으로 보여주는 그림인데요. 하지만 단순히 산포도 하나만으로는 개별 변수의 분포를 보기가 어려울 수 있는데요. 이때 개별 변수의 히스토그램을 추가한다면 두 변수의 상관관계와 분포뿐만 아니라 개별 변수의 분포도 볼 수 있을 것입니다. 따라서 이번 포스팅에서는 Matplotlib을 이용하여 산포도에 히스토그램을 추가하는 방법을 알아보도록하겠습니다. Matplolit을 이용하여 산포도, 히스토그램을 그리는 방법에 대해서 포스팅한 것이 있으니 잘 모르시는 분들은 보고 오시는 것을 추천드려요. [산점도(Scatter Plot)] 1. Matplotlib을 이용하여 산점도 그리기 [산점도(Scatter Plot)] 2. Matplotl.. 2021. 7. 16.
Matplotlib 서로 다른 y축 적용하기 시각화를 하다 보면 같은 x축에 대하여 서로 다른 y축을 적용해야 할 때가 있습니다. 이때 y축의 단위가 같다면 상관이 없지만 다르다면 주의해야 합니다. 아래 그림은 코사인 함수와 직선 함수를 각각 그린 것입니다. 보시면 알겠지만 x축의 범위는 같고 y축의 범위가 다른 것을 알 수 있어요~ 이제 위 두 그래프를 그냥 합친다면 어떻게 될까요? 코사인 함수의 범위는 -1 부터 1까지인데 직선 그래프의 y값 범위가 0부터 1000으로 차이가 많이 나기 때문에 코사인 함수의 특성이 제대로 보이지 않게 됩니다. 이때에는 y축을 2개를 사용하여 그래프의 형태가 제대로 나타나게 해줘야 합니다. Matplotlib에서는 이처럼 x축은 공유하지만 범위가 서로 다른 여러 y축이 있을 경우 이를 다중 축으로 나타낼 수 있습.. 2021. 7. 13.

맨 위로