[python] 3 개월 데이터 세트로 다변량 시계열 예측

3 개월 분량의 데이터 (매일에 해당하는 각 행)가 생성되었으며 동일한 것에 대해 다변량 시계열 분석을 수행하려고합니다.

사용 가능한 열은-

Date    Capacity_booked Total_Bookings  Total_Searches  %Variation

각 날짜에는 데이터 세트에 1 개의 항목이 있고 3 개월의 데이터가 있으며 다변량 시계열 모델을 사용하여 다른 변수도 예측하려고합니다.

지금까지 이것은 나의 시도였으며 기사를 읽음으로써 같은 것을 이루려고 노력했습니다.

나는 똑같이했다-

df['Date'] = pd.to_datetime(Date , format = '%d/%m/%Y')

data = df.drop(['Date'], axis=1)

data.index = df.Date

from statsmodels.tsa.vector_ar.vecm import coint_johansen
johan_test_temp = data
coint_johansen(johan_test_temp,-1,1).eig



#creating the train and validation set
train = data[:int(0.8*(len(data)))]
valid = data[int(0.8*(len(data))):]

freq=train.index.inferred_freq

from statsmodels.tsa.vector_ar.var_model import VAR

model = VAR(endog=train,freq=train.index.inferred_freq)
model_fit = model.fit()


# make prediction on validation
prediction = model_fit.forecast(model_fit.data, steps=len(valid))

cols = data.columns

pred = pd.DataFrame(index=range(0,len(prediction)),columns=[cols])
    for j in range(0,4):
        for i in range(0, len(prediction)):
           pred.iloc[i][j] = prediction[i][j]

유효성 검사 세트와 예측 세트가 있습니다. 그러나 예측은 예상보다 훨씬 나쁩니다.

데이터 세트의 도표는-1입니다. % 변동
여기에 이미지 설명을 입력하십시오

  1. 수용 인원수
    여기에 이미지 설명을 입력하십시오

  2. 총 예약 및 검색
    여기에 이미지 설명을 입력하십시오

내가 받고있는 출력은-

예측 데이터 프레임-

여기에 이미지 설명을 입력하십시오

유효성 검사 데이터 프레임-

여기에 이미지 설명을 입력하십시오

보시다시피 예측은 예상과는 거리가 멀다는 것을 알 수 있습니다. 누구나 정확성을 향상시킬 수있는 방법을 조언 해 줄 수 있습니까? 또한 모델을 전체 데이터에 맞추고 예측을 인쇄하면 새 달이 시작되었다는 것을 고려하지 않으므로 예측합니다. 여기에 어떻게 통합 할 수 있습니까? 도움을 주시면 감사하겠습니다.

편집하다

데이터 세트에 연결- 데이터 세트

감사



답변

정확성을 높이는 한 가지 방법은 VAR 설명서 페이지에서 제안한대로 각 변수의 자기 상관을 살펴 보는 것입니다.

https://www.statsmodels.org/dev/vector_ar.html

특정 상관에 대한 자기 상관 값이 클수록이 지연이 프로세스에 더 유용합니다.

또 다른 좋은 아이디어는 AIC 기준과 BIC 기준을보고 정확성을 확인하는 것입니다 (위의 동일한 링크에 사용 예가 있음). 값이 작을수록 실제 추정량을 찾았을 가능성이 더 큽니다.

이런 방식으로, 자기 회귀 모델의 순서를 다양하게 할 수 있으며 함께 분석 된 최저 AIC 및 BIC를 제공하는 모델을 볼 수 있습니다. AIC에서 최상의 모형이 3의 지연을 나타내고 BIC가 최상의 모형의 지연이 5임을 나타내는 경우, 3,4 및 5의 값을 분석하여 최상의 결과가있는 모형을 확인해야합니다.

가장 좋은 시나리오는 더 많은 데이터를 보유하는 것이지만 (3 개월은 많지 않음) 이러한 접근 방식이 도움이되는지 확인할 수 있습니다.


답변