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')
Пример #3
0
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),
Пример #5
0
# -*- 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)
Пример #6
0
    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
"""