Previsão de preço Bitcoin com algoritmos de aprendizagem profunda activewizards ciência de dados e bitcoin de laboratório de engenharia como funciona

trace1 = ir Dispersão (x = np. Arange (0, len (tendência), 1), y = s tendência, mode = ‘linhas’, nome = ‘Tendência’, linha = dict (color = (‘rgb (244, 146, 65) ‘), largura = 4)) trace2 = ir. Dispersão (x = np. Arange (0, len (s. Sazonal), 1), y = s. Sazonal, modo = ‘linhas’, nome = ‘Sazonal’, linha = dict (color = (‘rgb (66, 244, 155) ‘), largura = 2)) trace3 = ir. Dispersão (x = np. Arange (0, len (resid.), 1), y = s resid, modo = ‘linhas’, nome = ‘Residual’, linha = dict (color = (‘rgb (209, 244, 66) ‘), largura = 2)) trace4 = ir. Dispersão (x = np. Arange (0, len (observado), 1), y = s observado, modo = ‘linhas’, nome = ‘Observado’, linha = dict (color = (‘rgb (66, 134, 244) ‘), largura = 2)) dados = [trace1, trace2, trace3, trace4] layout = dict (título =’ Decomposição sazonal ‘, xaxis = dict (título =’ Tempo ‘), yaxis = dict (título = ‘Preço, USD ‘)) fig = dict (dados = dados, layout = layout) py.


iplot (fig, filename = ‘sazonal_decomposição’)

bitcoin no brasil

# Essa função prepara a divisão aleatória de trem / teste, # dimensiona os dados com MinMaxScaler, cria rótulos de séries temporais (Y) def get_split (working_data, n_train, n_test, look_back = 1): # obtém um ponto a partir do qual começamos a usar o conjunto de dados e após ele – teste o dataset start_point = randint (0, (len_data) – n_test – n_train)) df_train = working_data [ponto_inicial: ponto_da_montagem + n_train] df_test = ponto_de_trabalho [ponto_inicial + n_train: ponto_inicial + n_train + n_teste] training_set = df_train. valores training_set = np. remodele (training_set, (len (training_set), 1)) test_set = df_test. valores test_set = np. remodele (test_set, (len (test_set), 1)) # conjuntos de dados de escala scaler_cv = MinMaxScaler () training_set = scaler_cv. fit_transform (training_set) test_set = scaler_cv. transform (test_set) # cria conjuntos de dados que são adequados para séries temporais previsão X_train, Y_train = create_lookback (training_set, look_back) X_test, Y_test = create_lookback (test_set, look_back) # remodela conjuntos de dados para que eles fiquem bem para os requisitos dos modelos em Keras X_train = np. remodele (X_train, (len (X_train), 1, X_train.form [1])) X_test = np. reshape (X_test, (len (X_test), 1, X_test. forma [1])) retornar X_train, Y_train, X_test, Y_test, scaler_cv, ponto_do_extrato # Essa função pega conjuntos de dados da função anterior como entrada e modelo de trem usando esses conjuntos de dados def train_model (X_train, Y_train, X_test, Y_test): # inicializa o modelo seqüencial, adiciona a camada LSTM bidirecional e o modelo de neurônio de saída densamente conectado = Modelo sequencial (). adicionar (GRU (256, input_shape = (X_train. forma [1], X_train. forma [2]))) modelo. add (Dense (1)) # compila e ajusta o modelo. compile (loss = ‘mean_squared_error’, optimizer = ‘adam’) model. ajuste (X_train, Y_train, epochs = 100, batch_size = 16, aleatório = False, validation_data = (X_test, Y_test), verbose = 0, callbacks = [EarlyStopping (monitor = ‘val_loss’, min_delta = 5e-5, paciência = 20 , verbose = 0)]) return model # Essa função usa modelo treinado e dataset de teste para calcular o RMSE def get_rmse (modelo, X_test, Y_test, scaler, ponto_de_inicial, working_data, n_train): # adiciona um ponto de dados adicional para alinhar formas do previsões e rótulos verdadeiros X_test = np. append (X_test, scaler. transform (dados_de_trabalho. iloc [ponto_Inicial + n_train + len (X_test)] [0])) X_test = np. reshape (X_test, (len (X_test), 1, 1)) # obtém predições e, em seguida, faz algumas transformações para poder calcular corretamente o RMSE em USD prediction = model. predizer (X_test) prediction_inverse = scaler. inverse_transform (previsão. remodelar (- 1, 1)) Y_test_inverse = scaler. inverse_transform (Y_test. reshape (- 1, 1)) prediction2_inverse = np. array (prediction_inverse [:, 0] [1:]) Y_test2_inverse = np. array (Y_test_inverse [:, 0]) #calcular RMSE RMSE = sqrt (mean_squared_error (Y_test2_inverse, prediction2_inverse)) retornar RMSE, prediction2_inverse

bitcoin deflação