stochastic gradient descent을 시계열 분석에 사용할 수 있습니까?SGD를 사용하여 시계열 분석을하는 방법
SGD 회귀 분석기에서 t + 1과 연결된 v를 예측하기를 원하는 일련의 (t, v) 쌍이 주어지면 초기 날짜/시간을 정수 값으로 변환하고 힌지 손실 함수를 사용하여이 목록의 회귀 변수를 계산합니다. 이것이 가능한가?
편집 : 이것은 scikit-learn에서 SGD implementation을 사용하는 예제 코드입니다. 그러나 단순한 선형 시계열 모델을 올바르게 예측하지 못합니다. 훈련 Y- 값의 평균을 계산하고이를 테스트 Y- 값의 예측으로 사용하는 것만은 분명합니다. SGD는 시계열 분석에 적합하지 않습니까? 아니면 잘못 공식화합니까?
from datetime import date
from sklearn.linear_model import SGDRegressor
# Build data.
s = date(2010,1,1)
i = 0
training = []
for _ in xrange(12):
i += 1
training.append([[date(2012,1,i).toordinal()], i])
testing = []
for _ in xrange(12):
i += 1
testing.append([[date(2012,1,i).toordinal()], i])
clf = SGDRegressor(loss='huber')
print 'Training...'
for _ in xrange(20):
try:
print _
clf.partial_fit(X=[X for X,_ in training], y=[y for _,y in training])
except ValueError:
break
print 'Testing...'
for X,y in testing:
p = clf.predict(X)
print y,p,abs(p-y)