전체 글 57

시계열 데이터 전처리_이동평균_SMA/EMA

시계열 데이터는 시간에 따라 변하는 데이터를 말합니다. 시계열 데이터를 분석하기 전에는 일반적으로 시계열 데이터의 전처리를 해야 합니다. 이동평균은 시계열 데이터를 부드러운 추세(trend)와 계절성(seasonality) 성분으로 분해하는데 사용됩니다. 이동평균 이동평균(Moving Average)은 특정 기간 동안의 가격, 거래량, 수익률 등의 평균 값을 구하는 방법입니다. 이동평균의 구간을 크게 하면 추세를 보다 부드럽게 나타내며, 구간을 작게 하면 변동성이 큰 데이터에서 뾰족한 변화를 잘 잡아낼 수 있습니다. 간단하게 SMA를 적용한 예제 코드를 보면 다음과 같습니다. 위 코드에서 rolling() 함수는 이동평균을 계산하기 위한 함수입니다. window 인자는 이동평균을 계산하기 위한 기간을 설..

카테고리 없음 2023.04.07

Wavelet 변환을 이용한 시계열 데이터 특징 추출

Wavelet 변환을 이용한 시계열 데이터 특징 추출 Wavelet 변환은 시계열 데이터를 다양한 주파수 대역으로 분해하여 각 주파수 대역에 대한 시계열 데이터의 특징을 추출할 수 있는 방법입니다. 이를 이용하여 시계열 데이터의 특징을 추출하고, 이를 기반으로 예측 모델을 개발할 수 있습니다. Wavelet 변환의 개념 Wavelet 변환은 시간과 주파수 영역에서 모두 지역화된 변환이며, 시간과 주파수에 대해 동시에 분석이 가능합니다. Wavelet 변환은 시계열 데이터를 저주파 대역(Low Frequency Band)과 고주파 대역(High Frequency Band)으로 분해하고, 각 대역에서 특징을 추출할 수 있습니다. Wavelet 변환은 다음과 같이 표현할 수 있습니다. 여기서 $f(t)$는 변..

카테고리 없음 2023.04.05

스케줄 알고리즘

스케줄 알고리즘은 다양한 분야에서 활용됩니다. 운영 체제(OS), 데이터베이스, 네트워크 등에서는 일련의 작업들을 어떤 순서로 처리할 것인지를 결정하는 데 활용됩니다. 이를 통해 작업 처리 시간을 최소화하거나 시스템 자원을 최대한 활용할 수 있습니다. 스케줄 알고리즘에는 다양한 종류가 있지만, 가장 기본적인 형태는 FCFS(First-Come-First-Serve) 알고리즘입니다. 이 알고리즘은 작업이 도착한 순서대로 처리하는 방식으로, 작업의 처리 시간이 길어질수록 다음 작업의 대기 시간이 증가합니다. 그 외에도 SJF(Shortest-Job-First), RR(Round Robin), Priority Scheduling, Multilevel Queue Scheduling 등의 알고리즘이 있습니다. 이..

카테고리 없음 2023.04.04

스케줄 알고리즘에 자주 사용한 문법 2가지

시계열 데이터를 분석하고 예측하기 위해서는 다양한 알고리즘들을 적용할 수 있습니다 그 중에서도 시계열 스케줄 알고리즘은 빠르게 변화하는 데이터를 다루는데 특히 유용한 알고리즘 중 하나입니다 이번 글에서는 시계열 스케줄 알고리즘을 만들 때 유용하게 사용할 수 있는 2가지 문법에 대해 알아보도록 하겠습니다 1. get_loc() 시계열 데이터를 다룰 때는 자주 인덱스를 사용하게 됩니다. Pandas에서는 시계열 데이터의 인덱스를 효율적으로 처리할 수 있도록 다양한 메소드를 제공합니다. 이번에는 get_loc() 메소드와 get.loc()-1 메소드에 대해 알아보겠습니다. get_loc() 메소드는 인자로 전달된 값의 인덱스를 반환합니다. 예를 들어, 다음과 같은 시계열 데이터가 있다고 가정해 봅시다. get..

카테고리 없음 2023.04.04

스케줄 알고리즘에 자주 사용한 문법 3가지

시계열 데이터를 분석하고 예측하기 위해서는 다양한 알고리즘들을 적용할 수 있습니다 그 중에서도 시계열 스케줄 알고리즘은 빠르게 변화하는 데이터를 다루는데 특히 유용한 알고리즘 중 하나입니다 이번 글에서는 시계열 스케줄 알고리즘을 만들 때 유용하게 사용할 수 있는 3가지 문법에 대해 알아보도록 하겠습니다 1. .eq().idxmax() 시계열 데이터에서 가장 큰 값을 가지는 시점을 찾기 위해서는 .eq().idxmax() 문법을 사용할 수 있습니다. 이 문법은 Series나 DataFrame에서 값이 일치하는 위치를 찾아주는 함수입니다. 그리고 그 중에서도 가장 큰 값을 가지는 위치를 반환합니다. 예를 들어, 다음과 같은 시계열 데이터가 있다고 가정해보겠습니다 위 코드는 2022년 1월 1일부터 2022년..

카테고리 없음 2023.04.02

diff를 사용해서 데이터 전처리 스터디 진행중

이상치 : 데이터셋에서 다른 데이터와 동떨어진 값 ->이상치는 데이터 분석을 방해하는 요소로 작용할 수 있으며, 모델의 성능을 저하시키거나 예측 결과를 왜곡시키는 원인이 될 수 있다 ->이상치를 제거하거나 대체하는 전처리 과정이 필요 diff란 '차이'를 의미하는데, 데이터의 차이를 계산해서 이상치를 처리하는 방법 1)데이터 탐색 이상치 처리 과정을 시작하기 전에 먼저 데이터셋을 탐색해야 합니다. 데이터셋을 탐색하면 이상치를 찾는 데 도움이 되는 정보를 얻을 수 있습니다. 데이터셋의 기초 통계량(평균, 표준편차, 중앙값 등)을 계산하고, 시각화를 통해 데이터의 분포를 파악 2)차이 계산 데이터셋을 탐색한 후, diff로 이상치를 처리하기 위해 차이를 계산한다. 이 방법은 데이터 포인트와 해당 데이터 포인..

카테고리 없음 2023.03.01

하이퍼파라미터를 선택하는 방법 2가지

그리드 탐색(Grid Search) -가능한 모든 하이퍼파라미터 조합을 시도해보는 방법이다. -모든 경우의 수를 시도하므로 최적의 하이퍼파라미터를 찾을 수 있다. -하지만 계산 시간이 많이 소요될 수 있으며, 적절한 범위와 간격을 설정해야한다 랜덤 탐색(Random Search) -지정한 범위 내에서 무작위로 하이퍼파라미터를 선택하여 시도해보는 방법입니다. -그리드 탐색에 비해 계산 시간이 적게 소요되며, 적절한 범위와 간격을 설정해야 합니다. -무작위 선택이기 때문에 최적의 하이퍼파라미터를 보장하지는 않습니다. 따라서, 하이퍼파라미터를 선택할 때는 적절한 범위와 간격을 설정하고, 그리드 탐색과 랜덤 탐색 중 적절한 방법을 선택하여 실험을 진행하시면 됩니다. 또한, 변수 선택 알고리즘에서는 선택된 변수의..

카테고리 없음 2023.02.28

종속변수를 예측하는데 영향력이 큰 독립변수 찾는 2가지 방법

프로젝트 진행중 독립변수를 선택할 때 보통 상관분석을 보고 판단하는 경우가 많다 인터뷰나 공정 공부를 통해서 선택된 독립변수에서 상관분석 결과가 높지 않을 때 2가지 방법을 소개하려고 한다 먼저 이 코드는 Random Forest 기반의 Recursive Feature Elimination with Cross-Validation (RFECV) 기법을 사용하여 독립 변수의 중요도를 계산하는 방법을 보여줍니다. RFECV는 회귀 분석에서 독립 변수의 중요도를 계산하는 방법 중 하나로, 랜덤 포레스트를 기반으로 합니다. RFECV는 모든 독립 변수를 사용하여 랜덤 포레스트 모델을 학습한 후, 가장 중요도가 낮은 변수를 하나씩 제거하여 모델을 재학습합니다. 이 과정을 반복하면서, 교차 검증을 통해 모델의 성능을..

카테고리 없음 2023.02.28

%load_ext autoreload, %autoreload 2

모듈(Module) 모듈은 여러 함수나 변수들을 담은 파이썬 파일(.py)입니다. 모듈을 사용하면 반복적으로 사용되는 코드를 함수나 변수로 묶어서 사용할 수 있습니다. 모듈을 사용하기 위해서는 다음과 같은 과정이 필요합니다. -모듈 파일(.py)을 생성합니다. -모듈 파일에 함수나 변수를 정의합니다. -모듈을 import 합니다. -모듈에서 정의한 함수나 변수를 사용합니다. 함수(Function) 함수는 입력값을 받아서 출력값을 반환하는 코드 블록입니다. 함수는 반복적으로 사용되는 코드를 묶어서 사용할 수 있습니다. 함수를 사용하기 위해서는 다음과 같은 과정이 필요합니다. -함수를 정의합니다. -함수에 입력값을 전달하여 호출합니다. -함수가 실행되어 결과값을 반환합니다. py파일명 모듈에서 함수명 함수를..

카테고리 없음 2023.02.27

polynomial curve fitting

smooth_data :이 함수는 데이터 프레임에서 특정 열(column)의 값을 입력받아, 다항식을 이용하여 해당 값을 smoothing하는 기능을 합니다. 이를 통해 노이즈(Noise)가 있는 데이터를 부드럽게 만들어 데이터 분석에 용이하게 합니다 입력 인자 :df : 데이터 프레임(DataFrame) 형식의 데이터 :col_name : 데이터 프레임 df에서 smoothing하고자 하는 열(column)의 이름 출력 결과 : 데이터의 smoothing 결과를 시각화한 그래프 함수 설명 :이 함수는 입력된 데이터 프레임의 열(column)에서 smoothing을 수행합니다. 이를 위해 다항식(polynomial)을 이용합니다. 입력된 degree 리스트에서 차수를 하나씩 꺼내서 다항식을 계산하고, 이..

카테고리 없음 2023.02.27