데이터분석 203

[ADP] 빅데이터 시대 위기 요인과 해결 방안

1. 사생활침해 : 데이터로 인해 사생활 침해당함 => '사용자'가 동의하는 것이 아니라 '데이터 이용자'가 책임지는 형태로 변화해야함. 2. 책임원칙훼손 : 아직 저지르지 않은 범죄를 예측하여 처벌하면 안된다(영화 마이너리티 리포트). => 결과기반 책임원칙을 고수 해야한다. 3. 데이터 오용 : 데이터의 오용이 일어난다 => 알고리즘 접근을 허용해야 한다. (알고리즈미스트 : 알고리즘으로 부터 부당한 피해를 받지 않도록 사람들을 구제해 주는 직업)

연관규칙 (지지도 신뢰도 향상도)

1. 지지도(support) A상품과 B상품의 지지도 = A상품과 B상품을 같이 구입한 횟수 / 전체 구매 횟수 2. 신뢰도(Confidence) A상품에 대한 B상품의 신뢰도 = A상품과 B상품의 동시출현 횟수 / A상품 출현 횟수 3. 향상도(lift) 그냥 B항목을 샀을 때 대비 A상품을 사고 B상품을 샀을때 구매할 확률 증가값 = A상품과 B상품 동시출현 확률 / (A상품 구매확률 * B상품 구매확률 )

시계열 데이터를 RNN으로 분석할 때 데이터의 형태(차원)

입력데이터의 형태(차원)RNN모델에 시계열 데이터를 입력할 때 입력데이터의 형태는 3차원이 된다.(학습할 데이터의 수, sequence, x값의 개수)데이터의 수 : 학습할 데이터의 개수 (데이터의 수-sequnce)sequence : 특정값을 구하기 위해 반영할 시간의 길이x값의 개수 : 사용할 독립변수의 개수아래의 예시에서 어떻게 이러한 모양이 나오는지 알아 본다.이해를 돕기위해 데이터의 수는 빨간색, sequence는 초록색, x값의 개수는 파란색으로 표시한다 자전거 이용률 예시season(계절), holdiay(방학여부), workingday(평일여부)에 따른 자전거 사용횟수(count)가 시계열적으로 나타나있는 데이터가 있다.데이터의 개수는 총 13128개이다.X의 column이 3개(seaso..

RNN,LSTM,GRU를 이용한 비트코인 분석

RNN,LSTM,GRU1. RNN이전의 데이터가 다음 데이터에 영향을 준다.시계열 분석에 유용하다 2. LSTMRNN의 단기기억문제 해결책으로 고안됨 (시간이 많이 지난 데이터의 영향력이 너무 낮아지는 문제) 3. GRULSTM구조보다 간결하게 변경함, 빠른 속도와 유사한 성능 평가 함수### Evaluation of 1 pair of setdef evaluation(Y_real, Y_pred, graph_on=False): loss_length = len(Y_real.values.flatten()) - len(Y_pred) if loss_length != 0: Y_real = Y_real[loss_length:] if graph_on == True: pd.con..

holt-winter 선형추세+계절알고리즘 #비선형적 계절성 추정

holt-winter 알고리즘 비선형적 계절성을 추정하는데 사용한다. (1) additive seasonal meathod (2) multiplicative seasonal meathod 코드 import pandas as pd from statsmodels.tsa.api import ExponentialSmoothing import matplotlib.pyplot as plt location = './Data/BikeSharingDemand/Bike_Sharing_Demand_Full.csv' raw_all = pd.read_csv(location) # Holt-Winter's Seasonal target = raw_all.loc[:24*7*2, 'count'] target.plot(marker='o'..

공적분 모형 #삼성전자우와 삼성전자 주식의 공적분 판단 #페어트레이딩

공적분 모형 두 비정상성 시계열을 선형조합 했을 때 시계열의 적분 차수가 낮아지거나 정상상태가 되는 경우 * 적분차수 : 정상성이 되기까지 차분해야 하는 횟수 Y1의 적분차수가 1이고, Y2의 적분차수가 2이다. 이때 Y1과 Y2를 결합한 모형의 적분차수가 2(=max(y1 적분차수,y2적분차수)) 미만이 되면 Y1과 Y2는 공적분 상태라고 한다. 공적분 판별 VECM(Vector Error Correction Model)모형을 이용한다 위의 식을 통해 계산하고 이때 가설검정은 아래와 같이 해석한다 귀무가설 : 공적분 특성 없다 대립가설 : 공적분 특성 있다. 따라서 p-value가 유의수준보다 크면 공적분 특성이 있다고 판단한다. 삼성전자우와 삼성전자 주식의 공적분 판단실습 (1) 데이터로딩 # 데이터..

그래인저 인과관계 모형 #삼성전자 주식과 삼성전자우 주식의 인과관계 를 통한 실습

그래인저 인과관계 모형(granger cauality model) (1) 의미 X라는 사건과 Y라는 사건이 서로 인과관계가 있는지 확인하는 모형. 어떤 현상의 예측에 있어서 다른 정보를 이용하는 것이 얼마나 유의미한지 나타내는 척도. (2) 수행 순서 1. 사건 X와 Y를 설정한다. 2. X->Y일때의 가설검정을 수행한다. 3. Y->X일때의 가설검정을 수행한다. *가설검정 4. 결과해석 X->Y가 유의미하고 Y->X가 유의미하지 않으면 인과관계 (X->Y) 성립 Y->X가 유의미하고 X->Y가 유의미하지 않으면 인과관계 (Y->X) 성립 실습 삼성전자 우선주와, 삼성전자 간의 인과관계를 그래인저 모형을 통해 알아본다. (1) 데이터로딩 # 데이터 로딩 import pandas_datareader.da..

다변량 시계열 알고리즘 VAR

VAR알고리즘 벡터자기회귀(VAR) : 단변량 자기회귀의 일반적인 형태로서 여러개의 Y값이 시차에 따라 서로 영향을 주는 식(종속변수 y가 여러개) (1) var(1) : 시차 1까지 식에 포함시킴 (2) var(2) : 시차 2까지 식에 포함시킴 코드 예시 - 데이터 로딩 및 확인 import pandas as pd import numpy as np import matplotlib.pyplot as plt import statsmodels import statsmodels.api as sm # 데이터 로딩 raw = sm.datasets.macrodata.load_pandas().data dates_info = raw[['year', 'quarter']].astype(int).astype(str) ra..

fbprophet 라이브러리를 이용한 시계열 분석

페이스북에서 개발한 fbprophet을 이용하여 시계열 분석을 수행한다. 1. 필요 라이브러리 임포트 import timeit start = timeit.default_timer() from fbprophet import Prophet from fbprophet.plot import plot_plotly, plot_components_plotly from fbprophet.plot import add_changepoints_to_plot 2. 데이터 전처리 (1) 데이터 합치기 # Rearrange of Data Y_train_feR_prophet = Y_train_feR.reset_index() Y_train_feR_prophet.columns = ['ds', 'y'] YX_train_prophet =..

SARIMAX

1. SARIMAX의 의미 ARIMAX 모형에서 계절성 패턴을 추가한 모델. trend에 대하여 ARIMA를 수행하고, 계절성에 대해서 추가적으로 ARIMA를 수행한것으로 해석하면 된다. 2. 파라미터 (1) 파라미터 설명 총 7개의 파라미터가 존재한다. trend에 대한 부분(p,d,q)과 seasonal에 대한 부분(P,D,Q,m)으로 나뉜다. (2) 파라미터 선택방법 위와 같은 데이터에가 있을때 파라미터를 선택한는 방법은 아래와 같다. p : pacf에서 수렴하기 직전값. ( =2 ) d : adf테스트 및 추세의 가시적 확인으로 추세여부 확인( =1 ) q : acf에서 수렴하기 직전값 ( =3 ) P : pacf에서 계절성이 주기가 몇 번 반복 됐는지 확인 ( =3 ) D : 계절성이 있는지 확..