Я работаю над Transfer Entropy, этот код работает с одним массивом «xs», но я хочу добавить «ys» и «zs» из набора данных, который является форматом excel csv.
# Import classes
from idtxl.multivariate_mi import MultivariateMI
import numpy as np
import pandas as pd
from idtxl.data import Data
from idtxl.visualise_graph import plot_network
import matplotlib.pyplot as plt
# a) Generate test data
# Initialise a data object holding data with 50000 samples,
# 10 processes, and 5 replications.
df = pd.read_excel('lorenz-data.xlsx')
arr = df['xs'].values
#mydata = np.arange(50000).reshape((1000, 10, 5))
data= arr.reshape((100, 10, 10))
data = Data(data, dim_order='spr')
data.generate_mute_data(n_samples=1000, n_replications=5)
# b) Initialise analysis object and define settings
network_analysis = MultivariateMI()
settings = {'cmi_estimator': 'JidtGaussianCMI',
'max_lag_sources': 5,
'min_lag_sources': 1}
# c) Run analysis
results = network_analysis.analyse_network(settings=settings, data=data)
# d) Plot inferred network to console and via matplotlib
results.print_edge_list(weights='max_te_lag', fdr=False)
plot_network(results=results, weights='max_te_lag', fdr=False)
plt.show()
В этом Часть я хочу добавить массив ys и zs.
df = pd.read_excel('lorenz-data.xlsx')
arr = df['xs'].values
#mydata = np.arange(50000).reshape((1000, 10, 5))
data= arr.reshape((100, 10, 10))
data = Data(data, dim_order='spr')
Набор данных выглядит как
xs ys zs
0.2708078 1.048045294 0.971077116
0.34853155 1.110761273 0.948016677
0.424754522 1.193938357 0.926604426
0.501672905 1.296994445 0.906963193
0.581205059 1.419942925 0.889281154
0.665078846 1.563312366 0.873816806