def main(): series = get_client_portion(get_client(1), "950105", 400) segmented = segment(series) time_serie_plotter(series, segmented)
# -*- coding: utf-8 -*- """ Created on Tue Apr 16 14:27:36 2019 @author: ASUS """ from statsmodels.tsa.seasonal import seasonal_decompose import statsmodels.tsa.stattools import pylab from client_charger import get_client, get_client_portion import pandas as pd serie = get_client_portion(get_client(4), "950101", 1000) data = pd.DataFrame([serie]) data.reset_index(inplace=True) data.index = pd.to_datetime(data.index) detrended = list() o = data.values.tolist() flat_list = [item for sublist in o for item in sublist] o = flat_list for i in range(1, len(o)): value = o[i] - o[i - 1] print(o[i]) detrended.append(value) result = seasonal_decompose(detrended, model='additive', freq=365) ACF = statsmodels.tsa.stattools.acf(data) print(len(ACF)) pylab.plot(data.values.ravel(), label='original serie')
MinRandomForest = 0 MoyRandomForest = [] RandomForestMSE = [] MaxArima = 0 MinArima = 0 MoyArima = [] ArimaMSE = [] print("start") accounts = accounts_importer() k = 0 for i in range(1, 1000): if i in accounts: print(k) serie = get_client_portion(get_client(i), "940105", 800) mx, mn, mse, moy = polynomial_regression_model.main(serie) if mx > MaxPolReg: MaxPolReg = mx if mn > MinPolReg: MinPolReg = mn MoyPolReg.append(moy) PolRegMSE.append(mse) mx, mn, mse, moy = decision_tree_model.main(serie) if mx > MaxDecTree: MaxDecTree = mx if mn > MinDecTree: MinDecTree = mn MoyTree.append(moy) DecTreeMSE.append(mse)
# -*- coding: utf-8 -*- """ Created on Thu Apr 11 21:07:25 2019 @author: ASUS """ import svm_model import arima_model from pymongo import MongoClient import pylab from client_charger import get_client ,get_client_portion serie = get_client_portion(get_client(4),"950105",800) svm_prediction,rmse_svm=svm_model.main(serie) test,arima_prediction,rmse_arima=arima_model.main(serie) flat_list = [item for sublist in arima_prediction.tolist() for item in sublist] arima_prediction = flat_list svm_prediction = svm_prediction.tolist() """ pyplot.plot(test) pyplot.plot(svm_prediction, color='red') pyplot.show() """ pylab.plot( test, label='true value') pylab.plot( svm_prediction, label='svm_prediction') pylab.plot( arima_prediction, label='arima_prediction') pylab.legend(loc='upper center', bbox_to_anchor=(0.5, -0.05),
# -*- coding: utf-8 -*- """ Created on Wed Apr 3 13:11:49 2019 @author: ASUS """ from client_charger import get_client, get_client_portion import pandas as pd series = get_client_portion(get_client(1), "950105", 700) X = series.values Y = series.index.values day = [] month = [] year = [] i = 0 for y in Y: day.append(y.day) month.append(y.month) year.append(y.year) data = {'day': day, 'month': month, 'year': year, 'balance': X} df = pd.DataFrame(data)
print(data_history) print(data_pred) pyplot.plot(test) pyplot.plot(predictions, color='red') pyplot.show() print(data_history[10]) print(data_pred[10]) print(test[10]) print(predictions[10]) """ for i in range(0,10): if i in accounts: """ main(get_client_portion(get_client(1), "960105", 80)) """ predictions = np.array(predictions) Max = 0 Min = 0 for i in range(len(test)): localDiff = test[i]-predictions[i] if localDiff < 0 and (abs(localDiff)/test[i]) > Max: Max=(abs(localDiff)/test[i]) elif localDiff > 0 and (localDiff/test[i]) > Min: Min = (localDiff/test[i]) return Max,Min """