[시계열] 시계열 데이터의 전처리 - 차분, 로그변환, ACF
·
데이터 과학 Data Science/시계열 데이터
앞선 글에서 살펴본 시계열 데이터는 데이터 통계의 가장 기본적인 가정인 등분산성도, 자기상관성도, 정상성도 파괴해 버리는 특이한 데이터라는 점을 알 수 있다. 이런 데이터들의 경우 전통적인 머신러닝 기법들인 ARIMA 시리즈에 데이터를 집어넣기 어렵기 때문에 우리는 이 데이터들의 특수성을 제거해준 뒤 머신러닝에 넣어줄 필요가 있는데, 이때 주로 사용하는 방법들은 다음과 같다 1. 차분 (differencing) 데이터를 차분한다는것은 t 시점과 t-1 시점의 값의 차이를 구하는 것이다 쉽게 말하면, 데이터를 차분하면 우리는 데이터의 변동값을 알게 되어 데이터의 앞뒤에 받았던 영향을 제거하고 랜덤한 데이터만으로 머신러닝 예측을 할 수 있는 것이다. 차분을 수학 공식으로 나타내면 다음과 같다 이때, 차분하는..
[시계열] 시계열 데이터의 특징들 -1. 자기상관성, 정상성, 등분산성
·
데이터 과학 Data Science/시계열 데이터
시계열 데이터라 함은 단순히 시간 순으로 나누어진 데이터다. 그런데, 시게열 데이터에는 계절성이라던가, 반복성, 순환성, 추세성 같은 특징들이 있다. 저런 특이한 성질들이나 추세 때문에 시계열 데이터에서는 저 성질을 제외하고 머신러닝에 넣어주는 작업이 굉장히 중요하다. 왜일까? 예를 들어 보겠다. 자 가장 쉬운 예시를 가져왔다. 다음은 우유 생산량으로 시계열 데이터의 계절성 (seasonality) 를 확인할 수 있는 그래프다. 부패하기 쉬운 여름에 생산량이 확 줄었다가 봄가을에 다시 많아지는 계절성을 보인다. 이런 데이터의 range 의 variousity 를 머신러닝에 집어넣으면 머신러닝은 이를 포착하지 못하기 때문에 어느정도의 bias 가 생기기 마련이다. 위 그래프는 전반적으로 우상향 그래프를 그..
[error] ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
·
Python/에러 error
파이썬을 처음 배우시는 분들이! 이 에러가 났다면 ! 축하합니다. 당신은 "에러 원인이 뭔지 절대 안 알려주는 에러" 의 반복에 빠지신 겁니다. 농담이구요. 저 에러가 났다는건 뭔가 작동이 안되는데 어떤 부분이 안 되는건지 모름.. 일 때 납니다. 주로 if 문에서 많이 발생하는데 인터넷에 주로 올라와있는 해결법은 and / or 를 & 과 | 로 바꿔라 일 거에요. 만약 저걸로도 해결이 안 되었다면 이걸 의심해 보세요 "내가 시리즈와 단일 값을 비교하려했나" if df['total'] > something: df['allocation'] == 'A' else: df['allocation'] == 'B' return df 저는 요렇게 쓴 코드를 어플라이 람다 메서드로 이렇게 바꿨더니 잘 돌아갔습니다. d..
[SQL] string 으로 저장된 데이터에 집계 함수 쓰는 법
·
데이터 엔지니어링/SQL
가끔가다 분명 데이터 타입은 numeric 인데, 여타 이유로 string 으로 지정되거나 저장된 형식일 때가 있다. 그럴 때는 CAST 를 이용해 일시적으로 쿼리문을 쓰는 경우 내에서 데이터 타입을 바꿔주도록 하자. SELECT SUM(CAST(string_value AS INT64)) AS total FROM your_table 본인 이 방법을 몰라 그룹바이를 할 때 상당히 애를 먹었다.. 파이썬으로 가져가서 막 다시 형변환 하고 그랬음
[nlp] 자연어처리에서 숫자를 학습시킬 수 있을까?
·
데이터 과학 Data Science/자연어처리 NLP
오늘도 사수 없이 혼자 하는 자연어처리 공부.. 심오한 고민에 빠졌다 자연어처리에서 숫자가 중요한 의미를 가지는 경우에 숫자를 학습 대상에 넣을 수 있을까? 보통 문장을 학습시켜 감성이나 주제를 분류하는 경우 숫자는 불용어처리를 하고 제거한 후 문자만을 토큰화해 학습시키는게 일반적인 방법 같다. 그런데, 숫자가 중요한 의미를 가져 학습 대상이 되는 경우에는 어떻게 해야 할까.. 인터넷을 뒤져도 마음에 드는 해답이 나오지 않아 써 보는 글! 일단 내가 하고자 하는 task 를 간단히 설명하자면, 나는 카페 메뉴 분류를 하고싶다. 메뉴명과 price 를 보고 그게 음료인지, 식품인지, 추가메뉴인지 분류하는 작업을 해보려고 한다. 요렇게 생긴 데이터에 fasttext 모델을 썼다. (요건 지난 게시글을 참조하..
[nlp] Glove 써보기 (세상에서 제일 쉬운 설명)
·
데이터 과학 Data Science/자연어처리 NLP
* 이 글은 태생이 문과생인 글쓴이 본인을 이해시키기 위해 초등학생도 이해할 수 있는 쉬운 언어로 바꾸어 작성했습니다. 혹시라도 틀린 부분이 있다면 저보다 멋지신 많은 디지털 노마드님들의 조언 또는 지적 감사히 받겠습니다 오늘은 단어를 벡터화하는 임베딩 방법론 중 하나인 Glove 에 대해 알아보겠다. 1. 등장 배경 (word2vec 너 좀 별로다) 우선 Glove 는 Word2vec, Fasttext 와 함께 임베딩 방법론의 삼대장으로 자주 거론되는 라이브러리라고 한다. 세 가지 방법론은 각기 다르나 핵심적인 원리는 비슷하다. 임베딩 방식의 이 nlp 방법론들을 공부하는 사람이라면, "CBOW" 와 "skip-gram" 정도는 들어봤을 것이다. CBOW 는 어떤 문장의 중심 단어를 보고 주변 단어를 ..
허니비 honeybee