분류 전체보기

Data Science/Statistics

[Python] ADF(Augmented Dickey-Fuller Test)를 이용한 정상성 확인

주요 개념 Augmented Dickey-Fuller Test (ADF Test) AR, MA, ARMA, ARIMA 모델을 적용하기 전, 우선 시계열 데이터를 정상성 데이터로 바꾼 후 사용하는 것이 바람직하다. 정상성을 띄기 위해선 시계열 데이터의 평균, 분산이 시간에 따라 일정해야 하고 lag에 따른 공분산이 일정해야 한다. 이를 위해 로그 변환을 해주거나 n차 차분을 적용해줄 수 있다. 시계열에 대한 자세한 사항은 여기를 참고하면 된다. 정상성에 대한 검증은 시각화를 하거나 상황에 대해 직관적인 판단을 통해 알 수 있지만 통계적인 정량적 방법으로 검증할 수 있는 방법을 사용하는 것이 데이터를 분석할 때 더 납득할 수 있는 방법이 될 것이다. 이를 위해 사용하는 방법 중 하나가 Augmented Di..

Data Science/Statistics

[Python] ACF(Autocorrelation function), PACF(Partial Autocorrelation function)의 이해

상관도표(Correlogram)는 시계열 데이터를 분석에서 자주 활용되는데 자기상관함수(Autocorrelation Function, ACF) 또는 편자기상관함수(Partial Autocorrelation Function, PACF)를 그래프로 표현한 것을 뜻한다. 우리가 자주 말하는 Correlation은 두 변수 간의 관계를 -1~1 사이로 정규화한 값으로 표현하는 척도인데, Autocorrelation은 time shifted된 자기 자신의 데이터와의 상관성을 의미한다. 이 ACF와 PACF는 ARIMA 모델의 파라미터가 되는 p, d, q의 최적 차수를 탐색할 때 유용하게 사용된다. p는 AR, d는 차분 횟수, q는 MA와 관련이 있는 파라미터이다. ACF와 PACF 설명 이전에 자기회귀 모형(..

Languages/Python

[Python Error] Json 데이터 파싱(parsing) 에러 - JSONDecodeError

Error: json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 366 (char 365) Json으로 데이터를 load하여 parsing할 때 발생할 수 있는 에러이다. api의 결과값을 잘 가져와 값을 수신한 것처럼 보이는데 막상 json.loads로 파싱해보면 에러가 나는 경우가 많다. 위의 에러 또한 json 데이터를 파싱할 때 나온 에러이다. 직관적으로 해당 string 데이터의 해당 위치의 +- 5 이내로 print하여 보면 어떠한 문자가 빠졌는지 알 수 있다. 하지만 나는 json 데이터 사용에 익숙하지 않아서인지 이 방식만으로는 아래와 같이 출력되어 발견하기 힘들었다. pr..

etc

티스토리 수학기호 입력하는 방법 (with MathJax)

1. script코드 입력하기- 블로그 관리 - 왼쪽 바에서 꾸미기 -> 스킨 편집 - html - script 코드 삽입 위 스크립트 코드는 html의 head 태그 안에 작성하면 된다. MathJax는 수학기호 입력을 위한 LaTex를 사용하게 해주는 JavaScript 라이브러리이다. 2. 수식 입력하기$$ math(\displaystyle F\left(s\right) = \mathcal{L}\left\{ f\right\} \left(s\right) \equiv \int_{0}^{\infty}e^{-st}f\left(t\right)dt) $$ 위와 같이 $$ 기호 사이에 수식을 적으면 된다.여러 기호가 많이 들어가 있는 라플라스 변환을 표현해 보았다.$$ math(\displaystyle F\lef..

Data Science/Statistics

[Python] 정상성(Stationarity) 데이터를 얻기 위한 로그 변환(Log transformation)과 차분(Differencing)

정상성(Stationarity)정상성(Stationarity)이란 언제 관측되는지에 관계없이 어떤 시점에 관찰하더라도 예측할 수 있는 패턴을 발견할 수 없는 것을 뜻한다.정상성에 대한 자세한 사항은 여기를 참조하면 된다. 로그 변환(Log Transform)비정상성 시계열을 정상성으로 변환하는 방법은 로그 변환(Log Transformation)과 차분(Differencing) 2가지가 있다.우선 로그 변환(Log Transformation)이란 변동폭이 일정하지 않은 경우 사용할 수 있는데 일반적인 수학의 x를 log(x)로 바꾸는 변환 방식이다. 로그 변환은 원본 데이터의 왜곡을 줄이거나 제거하는데 여기서 주의할 점은 원 데이터가 로그 정규 분포를 따르거나 대략 따라줘야 한다. 그렇지 않으면 로그 변..

Data Science/Statistics

[Python] 정상성(Stationarity)과 비정상성(Non-Stationary)

시계열 데이터(Time Series Data)정상성과 비정상성에 대한 구별에 앞서 시계열 데이터의 특징에 대해 간략하게 알고 넘어가는 것이 좋다. 시계열 데이터에 대한 대표적인 특징은 아래와 같다.Trend(추세성)Seasonality(계절성)Aberration(이변성)Volatility(변동성)Non-linearity(비선형성)시계열 데이터는 크게 정상성 데이터와 비정상성 데이터로 나눌 수 있다. 정상성(Stationarity)정상성(Stationarity)이란 사전적 정의로는 일정하여 늘 한결같은 성질을 의미한다. 시계열 데이터를 다룰 때 정상성 데이터는 해당 데이터가 관측된 시간과 무관한 데이터를 뜻한다. 직관적으로 보자면 데이터의 분포에서 평균과 분산이 일정하면 정상성이라고 볼 수 있다.  예를 ..

AlienCoder
'분류 전체보기' 카테고리의 글 목록 (32 Page)
loading