본문 바로가기

728x90

Data Science

(44)
[데이터 전처리/Data Science] 데이터 평활(smoothing) 데이터 평활을 수행하는 데는 다양한 이유가 있고, 현실의 시계열 데이터는 분석 전에 평활되는 것이 보통 특히 데이터를 쉽게 이해하는 목적으로 시각화 자료를 만들기 위해 평활을 진행하는 경우가 있음 1. 평활이란? 시간에 따라 수집된 시계열 데이터에는 무작위적인 변화량이 있다. 평활(Smoothing)이란, 이렇게 무작위적 변화로 생기는 효과를 줄이는 방법들 중 흔히 사용되는 기법 중 하나다. 예를 들어, 주어진 시계열 자료에 평균을 취하는 것은 가장 단순한 평활법이다. 하지만, 평균은 모든 과거 관측값을 동일한 가중치로 다루기 때문에, 추세(Trends)가 존재하는 경우 좋은 지표가 될 수 없다. 평활을 이용해 시계열을 세 가지 구성성분으로 분해하거나, 예측을 수행할 수 있다. 2. 평활의 목적 A. 데..
[데이터 전처리/Data Science] 업샘플링(upsampling)과 다운샘플링(downsampling) 해당 글은 시계열 데이터 관점에서의 업샘플링과 다운샘플링의 개념을 다룹니다 업샘플링(upsampling)과 다운샘플링(downsampling) 타임스탬프의 빈도를 늘이거나 줄이는 방법 pandas의 resample 메소드는 업샘플링과 다운샘플링을 위한 유용한 기능을 제공함 (index가 datetime형식이어야 지원 가능) import pandas as pd df = pd.DataFrame() df.resample(rule='S') (rule에는 매초(s), 매시간(H), 매년(A) 등 다양한 시간 분할자를 넣을 수 있다 1. 다운샘플링(downsampling) 이란? 원본 시계열보다 타임스탬프가 더 낮은 빈도로 발생하게끔 데이터의 부분집합을 만드는 것 다운샘플링이 이루어지는 경우 1) 원본 데이터의 시..
[pandas] 누락된 데이터 (결측값, missing value) 다루기 타임스탬프 내 결측값이 있어 길이가 다른 시계열 데이터의 경우, pandas의 indexing(multi indexing)과 reindexing 기능을 통해 모든 데이터가 동일한 타임 스탬프 길이를 가지고 있도록 설정할 수 있다. set() 함수를 통해 모든 타임스탬프 리스트를 구하고, 이를 토대로 indexing, reindexing을 하며 결측값을 채운 후에 reset_index로 인덱스를 초기화하면 간편하게 타임스탬프의 길이를 맞출 수 있다. 결측값이 있는 데이터가 분석에 필요 없는 경우엔 pandas의 drop을 사용해 해당 행을 쉽게 제거할 수 있다. 1) 결측값 찾기 빈 셀이 가장 많은 열 순서대로 나열됨 isnull().sum().sort_values(ascending=False) 2) 결측..
시계열 데이터셋(Time series Dataset) 구하는 방법 시계열 데이터셋 구하는 방법 1) UCI 머신러닝 저장소 UCI Machine Learning Repository Welcome to the UC Irvine Machine Learning Repository! We currently maintain 588 data sets as a service to the machine learning community. You may view all data sets through our searchable interface. For a general overview of the Repository, please visit ou archive.ics.uci.edu 2) UEA 및 UCR 시계열 분류 저장소 Time Series Classification Websit..
Feed-Forward 신경망 (Feed-forward Neural Network, FFNN) 최초로 고안된 인공 신경망이자, 가장 단순한 구조 입력층(input layer)에 데이터가 입력되고, 1개 이상의 은닉층(hidden layer)를 거쳐 출력층(output layer)를 통해 결과를 출력하는 구조 input layer에서 hidden layer를 거쳐 output layer까지 정보(information)이 한 방향, 앞으로만(forward) 이동하기 때문에 다음과 같은 이름이 붙여짐 Feed-Forward 신경망의 장점 구성이 단순해 구조를 이해하기 쉽고 많은 문제에 응용할 수 있다 Feed-Forward 신경망의 문제점 시계열 데이터의 시간적 특성을 반영하지 못한다
[Time Series Forecasting] Multistep 시계열 데이터 예측을 위한 RNN기반 Encoder-Decoder 모델 해당 글은 아래 Reference의 [Encoder-Decoder Model for Multistep Time Series Forecasting Using PyTorch] 글을 참고했습니다. Encoder-Decoder 모델은 최근 연구에서 언어 번역 등과 같은 sequence to sequence NLP (자연어 처리) 문제를 효과적으로 해결하는 결과를 보여줬다. multistep 시계열 데이터 예측 문제도 seq2seq 문제와 같이 다뤄질 수 있기 때문에, encoder-decoder 모델도 사용될 수 있다 DATASET(데이터셋) 해당 reference 글에서는 다음 물품 판매량에 대한 Kaggle 데이터셋을 사용했다 Store Item Demand Forecasting Challenge Predi..
[Sktime] Sktime : 시계열 데이터 머신러닝을 위한 파이썬 라이브러리 Python으로 시계열 데이터 문제를 해결하는 것은 어렵다. 기존 툴들은 시계열 데이터 작업에 적합하지 않고 서로 쉽게 통합되지 않기 때문이다. 예를 들어, scikit-learn 패키지는 타임스탬프가 없는 구조적(테이블) 데이터 형식을 가정하기 때문에 시계열 데이터의 특성이 반영되지 않는다. 이러한 문제를 해결하기 위해 sktime이 개발되었다. Sktime은 시계열 데이터 분석 및 머신러닝 모델링 작업을 위한 오픈소스 파이썬 툴로서, the UK Economic and Social Research Council, the Consumer Data Research Centre, The Alan Turing Institute 등의 후원을 받아 개발되었다. Reference 본 글은 아래의 내용을 한국어로 ..
랜덤 포레스트 (Random Forest) 모델이란? 1. 랜덤 포레스트 배경 (앙상블) 랜덤 포레스트는 앙상블 기법의 하나의 예 앙상블 기법 : 여러 base 모델들의 예측을 다수결 법칙 또는 평균을 이용해 예측 정확성을 향상시키는 방법 앙상블 모델이 우수하기 위한 조건 ① base 모델들이 서로 독립적 ② base 모델들이 무작위 예측을 수행하는 모델(성능이 0.5일때)보다 성능이 좋은 경우 (base의 모델의 성능이 좋지 않은 경우, 앙상블 모델의 오류율은 base 모델의 오류율보다 훨씬 더 커지는 경향성이 있음, 반면 base 모델의 오류율이 무작위 예측 모델보다 적은 경우엔, 앙상블 모델의 오류율은 더 적어지는 효과를 받는다) 랜덤 포레스트는 앙상블 모델의 base모델로 의사결정나무 모델을 사용함 ① low computational complexi..

반응형