12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273 |
- from __future__ import print_function
- import numpy as np
- import matplotlib.pyplot as plt
- import pandas as pd
- import math
- from scipy import stats
- from statsmodels.graphics.api import qqplot
- #from keras.models import Sequential
- #from keras.layers import Dense, Activation, Dropout
- #from keras.layers.recurrent import LSTM
- import statsmodels.api as sm
- def predict(rawdata):
- np.random.seed(1234)
- i = 0
- while rawdata[i] == 0:
- i += 1
- indexes = []
- year = 1995
- print(rawdata)
- for i in range(len(rawdata)):
- indexes[i] = str(year)
- usefuldata = rawdata[i:len(rawdata)-1]
- print(usefuldata)
-
- dta = pd.Series(usefuldata)
- dta = dta.astype(float)
- print(dta)
- dta.plot(figsize=(12,8))
- fig = plt.figure(figsize=(12,8))
- ax1 = fig.add_subplot(211)
- fig = sm.graphics.tsa.plot_acf(dta.values.squeeze(), lags=20, ax=ax1)
- ax2 = fig.add_subplot(212)
- fig = sm.graphics.tsa.plot_pacf(dta, lags=20, ax=ax2)
- arma_mod20 = sm.tsa.ARMA(dta, (2,0)).fit()
- print(arma_mod20.params)
-
- arma_mod30 = sm.tsa.ARMA(dta, (3,0)).fit()
- print(arma_mod20.aic, arma_mod20.bic, arma_mod20.hqic)
- print(arma_mod30.params)
- print(arma_mod30.aic, arma_mod30.bic, arma_mod30.hqic)
- sm.stats.durbin_watson(arma_mod30.resid.values)
- # fig = plt.figure(figsize=(12,8))
- # ax = fig.add_subplot(111)
- # ax = arma_mod20.resid.plot(ax=ax);
- # fig = plt.figure(figsize=(12,8))
- # ax = fig.add_subplot(111)
- # ax = arma_mod30.resid.plot(ax=ax);
- resid = arma_mod30.resid
- # fig = plt.figure(figsize=(12,8))
- # ax = fig.add_subplot(111)
- # fig = qqplot(resid, line='q', ax=ax, fit=True)
- print('this is the data indexes ' + str(dta.ix[0]))
- fig, ax = plt.subplots(figsize=(12, 8))
- ax = dta.ix['0':].plot(ax=ax)
- fig = arma_mod30.plot_predict('29', '30', dynamic=True, ax=ax, plot_insample=False)
-
- plt.show()
|