import itstgcn
import torch
import pandas as pd
import numpy as np
import random
Data management for ITSTGCN
- 순환형 구조를 가진 모델(Models with recurrent structures):
- GConvGRU: 그래프 순환 유닛 (Graph Convolutional Gated Recurrent Unit)
- GConvLSTM: 그래프 순환 LSTM (Graph Convolutional Long Short-Term Memory)
- GCLSTM: 그래프 순환 LSTM (Graph Convolutional LSTM)
- DCRNN: 이중 그래프 순환 신경망 (Dual Graph Convolutional Recurrent Neural Network)
- 그래프 합성곱 모델(Graph convolution models):
- LRGCN: 로컬-전역 그래프 합성곱 신경망 (Local-Global Graph Convolutional Network)
- TGCN: 전이 그래프 합성곱 신경망 (Transition Graph Convolutional Network)
- EvolveGCNO: 진화형 그래프 합성곱 네트워크 (Evolutionary Graph Convolutional Network with Optimization)
- EvolveGCNH: 진화형 그래프 합성곱 네트워크 (Evolutionary Graph Convolutional Network with Hypernetwork)
- 동적 값 업데이트를 활용한 모델(Models utilizing dynamic value updates):
- DyGrEncoder: 동적 그래프 인코더 (Dynamic Graph Encoder)
논문에서 제안하는 방법은 GConvGRU (Chebyshev Graph Convolutional Gated Recurrent Unit Cell)와 GConvLSTM (Graph Convolutional Recurrent Network)이라는 두 가지 모델을 소개합니다. GConvGRU는 그래프 데이터에 대한 시간적인 의존성을 캡처하는데 사용되며, GConvLSTM은 그래프와 시퀀스 데이터를 동시에 처리하는데 활용됩니다.
GConvGRU는 Chebyshev 그래프 합성곱과 Gated Recurrent Unit (GRU)을 결합하여 그래프 데이터의 시간적 의존성을 모델링합니다. 이 모델은 그래프 내 노드들 간의 연결과 그래프의 구조를 고려하여 시계열 데이터를 예측하고 분석하는데 유용합니다.
“GC-LSTM: 그래프 합성곱 임베딩 LSTM을 이용한 동적 링크 예측”이라는 논문은 동적인 그래프에서 링크 예측 작업에 그래프 합성곱 네트워크(GCN)와 Long Short-Term Memory(LSTM) 셀을 결합한 새로운 모델을 제안합니다.
논문에서는 그래프 구조가 시간에 따라 변화하는 동적인 그래프에서 노드들 사이의 링크 존재 여부를 예측하는 문제를 다룹니다. 기존의 링크 예측 방법들은 동적인 그래프의 변화를 처리하는데 어려움이 있습니다.
제안하는 GC-LSTM 모델은 그래프 합성곱을 사용하여 노드의 특징을 임베딩하고 그래프 구조를 파악합니다. 동시에 LSTM 셀을 활용하여 시간적 의존성과 순차적 패턴을 모델링합니다.
GC-LSTM 모델은 동적인 그래프 데이터를 시간 순서대로 처리하여 변화하는 그래프 구조를 적절히 반영하고 미래의 링크를 정확하게 예측할 수 있습니다. 실험과 평가를 통해 GC-LSTM 모델이 동적인 링크 예측 작업에서 다른 최신 기법들보다 우수한 성능을 보여주며, 동적인 그래프 구조를 다루는데 유용한 접근 방법임을 입증합니다.
- GNAR stationary condition
= itstgcn.load_data('./data/fivenodes.pkl')
data_dict = itstgcn.DatasetLoader(data_dict) loader
= loader.get_dataset(lags=2) dataset
= 0
sum_result for i in range(5):
+= np.sum(np.array(dataset.targets)[:,i])
sum_result print(sum_result)
-28.048902156588262
from torch_geometric_temporal.dataset import ChickenpoxDatasetLoader
= ChickenpoxDatasetLoader() loader1
= loader1.get_dataset(lags=4) dataset1
= 0
sum_result for i in range(20):
+= np.sum(np.array(dataset1.targets)[:,i])
sum_result print(sum_result)
9.553510148236436
from torch_geometric_temporal.dataset import PedalMeDatasetLoader
= PedalMeDatasetLoader() loader2
= loader2.get_dataset(lags=4) dataset2
= 0
sum_result for i in range(15):
+= np.sum(np.array(dataset2.targets)[:,i])
sum_result print(sum_result)
-39.06545396690812
from torch_geometric_temporal.dataset import WikiMathsDatasetLoader
= WikiMathsDatasetLoader() loader3
= loader3.get_dataset(lags=8) dataset3
= 0
sum_result for i in range(1068):
+= np.sum(np.array(dataset3.targets)[:,i])
sum_result print(sum_result)
-1543.6160620151331
= itstgcn.load_data('./data/Windmillsmall.pkl') loader6
= loader6.get_dataset(lags=8) dataset6
= 0
sum_result for i in range(11):
+= np.sum(np.array(dataset6.targets)[:,i])
sum_result print(sum_result)
0.33864788949161806
from torch_geometric_temporal.dataset import MontevideoBusDatasetLoader
= MontevideoBusDatasetLoader() loader10
= loader10.get_dataset(lags=8) dataset10
= 0
sum_result for i in range(675):
+= np.sum(np.array(dataset10.targets)[:,i])
sum_result print(sum_result)
1114.5722422676997
Import
import pandas as pd
import matplotlib.pyplot as plt
- GConvGRU
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GConvGRU.csv')
df_GConvGRU
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GConvGRU_pedal_wiki_GSO.csv') pedal_wiki_GSO_GConvGRU
'model']='GConvGRU'
df_GConvGRU['model']='GConvGRU' pedal_wiki_GSO_GConvGRU[
'dataset'].unique() df_GConvGRU[
array(['fivenodes', 'chickenpox', 'pedalme', 'wikimath', 'windmillsmall',
'monte'], dtype=object)
- GConvLSTM
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GConvLSTM.csv')
df_GConvLSTM
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GConvLSTM_pedal_wiki_GSO.csv') pedal_wiki_GSO_GConvLSTM
'model']='GConvLSTM'
df_GConvLSTM['model']='GConvLSTM' pedal_wiki_GSO_GConvLSTM[
'dataset'].unique() df_GConvLSTM[
array(['fivenodes', 'chickenpox', 'pedalme', 'wikimath', 'windmillsmall',
'monte'], dtype=object)
- GCLSTM
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GCLSTM.csv')
df_GCLSTM
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GCLSTM_pedal_wiki_GSO.csv') pedal_wiki_GSO_GCLSTM
'model']='GCLSTM'
df_GCLSTM['model']='GCLSTM' pedal_wiki_GSO_GCLSTM[
'dataset'].unique() df_GCLSTM[
array(['fivenodes', 'chickenpox', 'pedalme', 'wikimath', 'windmillsmall',
'monte'], dtype=object)
- DCRNN
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_DCRNN.csv')
df_DCRNN
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_DCRNN_pedal_wiki_GSO.csv') pedal_wiki_GSO_DCRNN
'model']='DCRNN'
df_DCRNN['model']='DCRNN' pedal_wiki_GSO_DCRNN[
- LRGCN
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_LRGCN.csv')
df_LRGCN
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_LRGCN_pedal_wiki_GSO.csv') pedal_wiki_GSO_LRGCN
'model']='LRGCN'
df_LRGCN['model']='LRGCN' pedal_wiki_GSO_LRGCN[
- TGCN
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_TGCN.csv')
df_TGCN
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_TGCN_pedal_wiki_GSO.csv') pedal_wiki_GSO_TGCN
'model']='TGCN'
df_TGCN['model']='TGCN' pedal_wiki_GSO_TGCN[
- EvolveGCNO
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_EvolveGCNO.csv')
df_EvolveGCNO
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_EvolveGCNO_pedal_wiki_GSO.csv') pedal_wiki_GSO_EvolveGCNO
'model']='EvolveGCNO'
df_EvolveGCNO['model']='EvolveGCNO' pedal_wiki_GSO_EvolveGCNO[
- DYGRENCODER
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_DYGRENCODER.csv')
df_DYGRENCODER
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_DYGRENCODER_pedal_wiki_GSO.csv') pedal_wiki_GSO_DYGRENCODER
'model']='DyGrEncoder'
df_DYGRENCODER['model']='DyGrEncoder' pedal_wiki_GSO_DYGRENCODER[
- EvolveGCNH
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_EvolveGCNH.csv')
df_EvolveGCNH
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_EvolveGCNH_pedal_wiki_GSO.csv') pedal_wiki_GSO_EvolveGCNH
'model']='EvolveGCNH'
df_EvolveGCNH['model']='EvolveGCNH' pedal_wiki_GSO_EvolveGCNH[
- GNAR
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GNAR.csv')
df_GNAR
= pd.read_csv('./simulation_results/Real_simulation_reshape/Final_Simulation_GNAR_wiki_GSO.csv') wiki_GSO_GNAR
'model']='GNAR'
df_GNAR['model']='GNAR' wiki_GSO_GNAR[
- all
= pd.concat([df_GConvGRU, df_GConvLSTM, df_GCLSTM, df_DCRNN, df_LRGCN, df_TGCN, df_EvolveGCNO, df_DYGRENCODER, df_EvolveGCNH,df_GNAR]).reset_index().iloc[:,1:] df
df
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | fivenodes | STGCN | 0.0 | NaN | 2 | 12.0 | NaN | 50.0 | 0.729374 | 80.985221 | GConvGRU |
1 | fivenodes | STGCN | 0.0 | NaN | 2 | 12.0 | NaN | 50.0 | 0.729082 | 80.891788 | GConvGRU |
2 | fivenodes | STGCN | 0.7 | rand | 2 | 12.0 | linear | 50.0 | 1.892262 | 81.976547 | GConvGRU |
3 | fivenodes | STGCN | 0.7 | rand | 2 | 12.0 | nearest | 50.0 | 2.211288 | 87.803869 | GConvGRU |
4 | fivenodes | STGCN | 0.8 | rand | 2 | 12.0 | linear | 50.0 | 2.072818 | 103.648742 | GConvGRU |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
26786 | pedalme | GNAR | 0.8 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.023105 | GNAR |
26787 | pedalme | GNAR | 0.5 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.022839 | GNAR |
26788 | pedalme | GNAR | 0.5 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.023041 | GNAR |
26789 | pedalme | GNAR | 0.8 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.060872 | GNAR |
26790 | pedalme | GNAR | 0.8 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.023526 | GNAR |
26791 rows × 11 columns
'./df_fig.csv') df.to_csv(
= pd.concat([pedal_wiki_GSO_GConvGRU,pedal_wiki_GSO_GConvLSTM,pedal_wiki_GSO_GCLSTM,pedal_wiki_GSO_DCRNN,pedal_wiki_GSO_LRGCN,pedal_wiki_GSO_TGCN,pedal_wiki_GSO_EvolveGCNO,pedal_wiki_GSO_DYGRENCODER,pedal_wiki_GSO_EvolveGCNH,wiki_GSO_GNAR]) df2
df2
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
0 | pedalme | STGCN | 0.300000 | rand | 4 | 12.0 | linear | 50.0 | 1.557424 | 6.553443 | GConvGRU |
1 | pedalme | STGCN | 0.300000 | rand | 4 | 12.0 | nearest | 50.0 | 1.591089 | 7.995071 | GConvGRU |
2 | pedalme | STGCN | 0.600000 | rand | 4 | 12.0 | linear | 50.0 | 1.737521 | 7.022613 | GConvGRU |
3 | pedalme | STGCN | 0.600000 | rand | 4 | 12.0 | nearest | 50.0 | 1.675156 | 6.745583 | GConvGRU |
4 | pedalme | IT-STGCN | 0.300000 | rand | 4 | 12.0 | linear | 50.0 | 1.123114 | 12.278102 | GConvGRU |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
418 | wikimath | STGCN | 0.511945 | block | 8 | 12.0 | linear | 50.0 | 0.830234 | 255.170347 | EvolveGCNH |
419 | wikimath | IT-STGCN | 0.511945 | block | 8 | 12.0 | linear | 50.0 | 0.746624 | 630.021935 | EvolveGCNH |
0 | wikimath | GNAR | 0.511945 | block | 8 | NaN | nearest | NaN | 1.353637 | 143.252073 | GNAR |
1 | wikimath | GNAR | 0.511945 | block | 8 | NaN | nearest | NaN | 1.353637 | 211.333467 | GNAR |
2 | wikimath | GNAR | 0.511945 | block | 8 | NaN | nearest | NaN | 1.353637 | 218.516156 | GNAR |
3783 rows × 11 columns
fivenode
Baseline
"model=='GNAR' and dataset=='fivenodes'") df.query(
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
26500 | fivenodes | GNAR | 0.0 | NaN | 2 | NaN | NaN | NaN | 1.40683 | 0.021981 | GNAR |
26501 | fivenodes | GNAR | 0.0 | NaN | 2 | NaN | NaN | NaN | 1.40683 | 0.017151 | GNAR |
26502 | fivenodes | GNAR | 0.7 | rand | 2 | NaN | linear | NaN | 1.40683 | 0.084960 | GNAR |
26503 | fivenodes | GNAR | 0.7 | rand | 2 | NaN | nearest | NaN | 1.40683 | 0.010853 | GNAR |
26504 | fivenodes | GNAR | 0.8 | rand | 2 | NaN | linear | NaN | 1.40683 | 0.012061 | GNAR |
... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... | ... |
26768 | fivenodes | GNAR | 0.3 | rand | 2 | NaN | nearest | NaN | 1.40683 | 0.008497 | GNAR |
26769 | fivenodes | GNAR | 0.5 | rand | 2 | NaN | linear | NaN | 1.40683 | 0.010377 | GNAR |
26770 | fivenodes | GNAR | 0.5 | rand | 2 | NaN | nearest | NaN | 1.40683 | 0.018586 | GNAR |
26771 | fivenodes | GNAR | 0.6 | rand | 2 | NaN | linear | NaN | 1.40683 | 0.007493 | GNAR |
26772 | fivenodes | GNAR | 0.6 | rand | 2 | NaN | nearest | NaN | 1.40683 | 0.008042 | GNAR |
204 rows × 11 columns
"dataset=='fivenodes' and mtype!='rand' and mtype!='block'").groupby(['model','nof_filters','lags','epoch'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='fivenodes' and mtype!='rand' and mtype!='block'").groupby(['model','nof_filters','lags','epoch'])['mse'].std().reset_index(),
df.query(=['model','nof_filters','lags','epoch']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | nof_filters | lags | epoch | mean | std | |
---|---|---|---|---|---|---|
0 | DCRNN | 2.0 | 2 | 50.0 | 1.229 | 0.041 |
1 | DyGrEncoder | 12.0 | 2 | 50.0 | 1.114 | 0.037 |
2 | EvolveGCNH | 12.0 | 2 | 50.0 | 1.175 | 0.068 |
3 | EvolveGCNO | 12.0 | 2 | 50.0 | 1.168 | 0.065 |
4 | GCLSTM | 4.0 | 2 | 50.0 | 1.209 | 0.023 |
5 | GConvGRU | 12.0 | 2 | 50.0 | 0.732 | 0.005 |
6 | GConvLSTM | 12.0 | 2 | 50.0 | 1.131 | 0.041 |
7 | LRGCN | 4.0 | 2 | 50.0 | 1.212 | 0.024 |
8 | TGCN | 12.0 | 2 | 50.0 | 1.085 | 0.016 |
Random
https://matplotlib.org/stable/gallery/statistics/boxplot.html#sphx-glr-gallery-statistics-boxplot-py
# with plt.style.context('cyberpunk'):
# plt.rcParams['figure.figsize'] = [40,20]
= plt.subplots(3, 3,figsize=(40,20))
fig, ax
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==2 and epoch==50 and model=='GConvGRU' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,0],grid=False,widths=0.5)
iloc[:,[0,0].set_title('GConvGRU')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==2 and epoch==50 and model=='GConvLSTM' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,1],grid=False,widths=0.5)
iloc[:,[0,1].set_title('GConvLSTM')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==4 and lags==2 and epoch==50 and model=='GCLSTM' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,2],grid=False,widths=0.5)
iloc[:,[0,2].set_title('GCLSTM')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==4 and lags==2 and epoch==50 and model=='LRGCN' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,0],grid=False,widths=0.5)
iloc[:,[1,0].set_title('LRGCN')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==2 and epoch==50 and model=='DyGrEncoder' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,1],grid=False,widths=0.5)
iloc[:,[1,1].set_title('DyGrEncoder')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and lags==2 and epoch==50 and model=='EvolveGCNH' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,2],grid=False,widths=0.5)
iloc[:,[1,2].set_title('EvolveGCNH')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and lags==2 and epoch==50 and model=='EvolveGCNO' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,0],grid=False,widths=0.5)
iloc[:,[2,0].set_title('EvolveGCNO')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==2 and epoch==50 and model=='TGCN' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,1],grid=False,widths=0.5)
iloc[:,[2,1].set_title('TGCN')
ax[
"dataset=='fivenodes' and mtype=='rand' and inter_method == 'linear' and nof_filters==2 and lags==2 and epoch==50 and model=='DCRNN' and mrate in [0.3 , 0.5 , 0.6 ,0.7 , 0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,2],grid=False,widths=0.5)
iloc[:,[2,2].set_title('DCRNN')
ax[
for ax in ax.flat:
ax.set_yticklabels([])'log')
ax.set_yscale(=2.5, color='black', linestyle='-')
ax.axvline(x=4.5, color='black', linestyle='-')
ax.axvline(x=6.5, color='black', linestyle='-')
ax.axvline(x=8.5, color='black', linestyle='-')
ax.axvline(x'IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN'])
ax.set_xticklabels(['')
ax.set_xlabel('')
ax.set_ylabel(
'',fontsize=40) fig.suptitle(
Text(0.5, 0.98, '')
"dataset=='fivenodes' and mtype=='rand'").groupby(['model','mrate','nof_filters','inter_method','method','lags','epoch'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='fivenodes' and mtype=='rand'").groupby(['model','mrate','nof_filters','inter_method','method','lags','epoch'])['mse'].std().reset_index(),
df.query(=['model','inter_method','method','nof_filters','mrate','lags','epoch']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate==0.7 and inter_method=='linear'") on
model | mrate | nof_filters | inter_method | method | lags | epoch | mean | std | |
---|---|---|---|---|---|---|---|---|---|
12 | DCRNN | 0.7 | 2.0 | linear | IT-STGCN | 2 | 50.0 | 1.247 | 0.044 |
13 | DCRNN | 0.7 | 2.0 | linear | STGCN | 2 | 50.0 | 1.271 | 0.066 |
32 | DyGrEncoder | 0.7 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.252 | 0.060 |
33 | DyGrEncoder | 0.7 | 12.0 | linear | STGCN | 2 | 50.0 | 1.548 | 0.158 |
52 | EvolveGCNH | 0.7 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.188 | 0.049 |
53 | EvolveGCNH | 0.7 | 12.0 | linear | STGCN | 2 | 50.0 | 1.228 | 0.064 |
72 | EvolveGCNO | 0.7 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.162 | 0.052 |
73 | EvolveGCNO | 0.7 | 12.0 | linear | STGCN | 2 | 50.0 | 1.198 | 0.045 |
92 | GCLSTM | 0.7 | 4.0 | linear | IT-STGCN | 2 | 50.0 | 1.228 | 0.034 |
93 | GCLSTM | 0.7 | 4.0 | linear | STGCN | 2 | 50.0 | 1.245 | 0.033 |
112 | GConvGRU | 0.7 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.180 | 0.060 |
113 | GConvGRU | 0.7 | 12.0 | linear | STGCN | 2 | 50.0 | 1.858 | 0.139 |
132 | GConvLSTM | 0.7 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.287 | 0.075 |
133 | GConvLSTM | 0.7 | 12.0 | linear | STGCN | 2 | 50.0 | 1.472 | 0.125 |
152 | LRGCN | 0.7 | 4.0 | linear | IT-STGCN | 2 | 50.0 | 1.244 | 0.041 |
153 | LRGCN | 0.7 | 4.0 | linear | STGCN | 2 | 50.0 | 1.261 | 0.047 |
172 | TGCN | 0.7 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.110 | 0.037 |
173 | TGCN | 0.7 | 12.0 | linear | STGCN | 2 | 50.0 | 1.184 | 0.057 |
"dataset=='fivenodes' and mtype=='rand'").groupby(['model','mrate','nof_filters','inter_method','method','lags','epoch'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='fivenodes' and mtype=='rand'").groupby(['model','mrate','nof_filters','inter_method','method','lags','epoch'])['mse'].std().reset_index(),
df.query(=['model','inter_method','method','nof_filters','mrate','lags','epoch']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate==0.8") on
model | mrate | nof_filters | inter_method | method | lags | epoch | mean | std | |
---|---|---|---|---|---|---|---|---|---|
16 | DCRNN | 0.8 | 2.0 | linear | IT-STGCN | 2 | 50.0 | 1.257 | 0.057 |
17 | DCRNN | 0.8 | 2.0 | linear | STGCN | 2 | 50.0 | 1.255 | 0.040 |
18 | DCRNN | 0.8 | 2.0 | nearest | IT-STGCN | 2 | 50.0 | 1.246 | 0.034 |
19 | DCRNN | 0.8 | 2.0 | nearest | STGCN | 2 | 50.0 | 1.253 | 0.043 |
36 | DyGrEncoder | 0.8 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.333 | 0.080 |
37 | DyGrEncoder | 0.8 | 12.0 | linear | STGCN | 2 | 50.0 | 1.496 | 0.146 |
38 | DyGrEncoder | 0.8 | 12.0 | nearest | IT-STGCN | 2 | 50.0 | 1.311 | 0.057 |
39 | DyGrEncoder | 0.8 | 12.0 | nearest | STGCN | 2 | 50.0 | 1.519 | 0.129 |
56 | EvolveGCNH | 0.8 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.212 | 0.065 |
57 | EvolveGCNH | 0.8 | 12.0 | linear | STGCN | 2 | 50.0 | 1.217 | 0.061 |
58 | EvolveGCNH | 0.8 | 12.0 | nearest | IT-STGCN | 2 | 50.0 | 1.207 | 0.057 |
59 | EvolveGCNH | 0.8 | 12.0 | nearest | STGCN | 2 | 50.0 | 1.217 | 0.059 |
76 | EvolveGCNO | 0.8 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.194 | 0.065 |
77 | EvolveGCNO | 0.8 | 12.0 | linear | STGCN | 2 | 50.0 | 1.220 | 0.063 |
78 | EvolveGCNO | 0.8 | 12.0 | nearest | IT-STGCN | 2 | 50.0 | 1.224 | 0.079 |
79 | EvolveGCNO | 0.8 | 12.0 | nearest | STGCN | 2 | 50.0 | 1.212 | 0.053 |
96 | GCLSTM | 0.8 | 4.0 | linear | IT-STGCN | 2 | 50.0 | 1.235 | 0.027 |
97 | GCLSTM | 0.8 | 4.0 | linear | STGCN | 2 | 50.0 | 1.263 | 0.050 |
98 | GCLSTM | 0.8 | 4.0 | nearest | IT-STGCN | 2 | 50.0 | 1.237 | 0.029 |
99 | GCLSTM | 0.8 | 4.0 | nearest | STGCN | 2 | 50.0 | 1.258 | 0.046 |
116 | GConvGRU | 0.8 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.383 | 0.108 |
117 | GConvGRU | 0.8 | 12.0 | linear | STGCN | 2 | 50.0 | 2.224 | 0.192 |
118 | GConvGRU | 0.8 | 12.0 | nearest | IT-STGCN | 2 | 50.0 | 1.360 | 0.084 |
119 | GConvGRU | 0.8 | 12.0 | nearest | STGCN | 2 | 50.0 | 2.641 | 0.117 |
136 | GConvLSTM | 0.8 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.298 | 0.060 |
137 | GConvLSTM | 0.8 | 12.0 | linear | STGCN | 2 | 50.0 | 1.442 | 0.111 |
138 | GConvLSTM | 0.8 | 12.0 | nearest | IT-STGCN | 2 | 50.0 | 1.312 | 0.065 |
139 | GConvLSTM | 0.8 | 12.0 | nearest | STGCN | 2 | 50.0 | 1.436 | 0.098 |
156 | LRGCN | 0.8 | 4.0 | linear | IT-STGCN | 2 | 50.0 | 1.233 | 0.041 |
157 | LRGCN | 0.8 | 4.0 | linear | STGCN | 2 | 50.0 | 1.250 | 0.038 |
158 | LRGCN | 0.8 | 4.0 | nearest | IT-STGCN | 2 | 50.0 | 1.230 | 0.036 |
159 | LRGCN | 0.8 | 4.0 | nearest | STGCN | 2 | 50.0 | 1.250 | 0.046 |
176 | TGCN | 0.8 | 12.0 | linear | IT-STGCN | 2 | 50.0 | 1.125 | 0.047 |
177 | TGCN | 0.8 | 12.0 | linear | STGCN | 2 | 50.0 | 1.199 | 0.070 |
178 | TGCN | 0.8 | 12.0 | nearest | IT-STGCN | 2 | 50.0 | 1.139 | 0.054 |
179 | TGCN | 0.8 | 12.0 | nearest | STGCN | 2 | 50.0 | 1.140 | 0.044 |
Block
"dataset=='fivenodes' and mtype=='block'").groupby(['model','mrate','nof_filters','inter_method','method','epoch'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='fivenodes' and mtype=='block'").groupby(['model','mrate','nof_filters','inter_method','method','epoch'])['mse'].std().reset_index(),
df.query(=['model','inter_method','method','nof_filters','mrate','epoch']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | nof_filters | inter_method | method | epoch | mean | std | |
---|---|---|---|---|---|---|---|---|
0 | DCRNN | 0.125 | 2.0 | linear | IT-STGCN | 50.0 | 1.232 | 0.033 |
1 | DCRNN | 0.125 | 2.0 | linear | STGCN | 50.0 | 1.260 | 0.051 |
2 | DCRNN | 0.125 | 2.0 | nearest | IT-STGCN | 50.0 | 1.222 | 0.025 |
3 | DCRNN | 0.125 | 2.0 | nearest | STGCN | 50.0 | 1.248 | 0.039 |
4 | DyGrEncoder | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.124 | 0.035 |
5 | DyGrEncoder | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.173 | 0.037 |
6 | DyGrEncoder | 0.125 | 12.0 | nearest | IT-STGCN | 50.0 | 1.128 | 0.031 |
7 | DyGrEncoder | 0.125 | 12.0 | nearest | STGCN | 50.0 | 1.135 | 0.033 |
8 | EvolveGCNH | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.181 | 0.055 |
9 | EvolveGCNH | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.197 | 0.076 |
10 | EvolveGCNH | 0.125 | 12.0 | nearest | IT-STGCN | 50.0 | 1.159 | 0.053 |
11 | EvolveGCNH | 0.125 | 12.0 | nearest | STGCN | 50.0 | 1.181 | 0.037 |
12 | EvolveGCNO | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.162 | 0.040 |
13 | EvolveGCNO | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.176 | 0.056 |
14 | EvolveGCNO | 0.125 | 12.0 | nearest | IT-STGCN | 50.0 | 1.167 | 0.061 |
15 | EvolveGCNO | 0.125 | 12.0 | nearest | STGCN | 50.0 | 1.195 | 0.065 |
16 | GCLSTM | 0.125 | 4.0 | linear | IT-STGCN | 50.0 | 1.219 | 0.025 |
17 | GCLSTM | 0.125 | 4.0 | linear | STGCN | 50.0 | 1.244 | 0.033 |
18 | GCLSTM | 0.125 | 4.0 | nearest | IT-STGCN | 50.0 | 1.215 | 0.022 |
19 | GCLSTM | 0.125 | 4.0 | nearest | STGCN | 50.0 | 1.248 | 0.040 |
20 | GConvGRU | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.165 | 0.043 |
21 | GConvGRU | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.210 | 0.039 |
22 | GConvGRU | 0.125 | 12.0 | nearest | IT-STGCN | 50.0 | 1.156 | 0.042 |
23 | GConvGRU | 0.125 | 12.0 | nearest | STGCN | 50.0 | 1.220 | 0.032 |
24 | GConvLSTM | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.140 | 0.038 |
25 | GConvLSTM | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.172 | 0.055 |
26 | GConvLSTM | 0.125 | 12.0 | nearest | IT-STGCN | 50.0 | 1.121 | 0.027 |
27 | GConvLSTM | 0.125 | 12.0 | nearest | STGCN | 50.0 | 1.140 | 0.058 |
28 | LRGCN | 0.125 | 4.0 | linear | IT-STGCN | 50.0 | 1.220 | 0.020 |
29 | LRGCN | 0.125 | 4.0 | linear | STGCN | 50.0 | 1.251 | 0.037 |
30 | LRGCN | 0.125 | 4.0 | nearest | IT-STGCN | 50.0 | 1.216 | 0.030 |
31 | LRGCN | 0.125 | 4.0 | nearest | STGCN | 50.0 | 1.239 | 0.034 |
32 | TGCN | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.090 | 0.015 |
33 | TGCN | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.107 | 0.020 |
34 | TGCN | 0.125 | 12.0 | nearest | IT-STGCN | 50.0 | 1.091 | 0.015 |
35 | TGCN | 0.125 | 12.0 | nearest | STGCN | 50.0 | 1.091 | 0.011 |
"dataset=='fivenodes' and mtype=='block'").groupby(['model','mrate','nof_filters','inter_method','method','epoch'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='fivenodes' and mtype=='block'").groupby(['model','mrate','nof_filters','inter_method','method','epoch'])['mse'].std().reset_index(),
df.query(=['model','inter_method','method','nof_filters','mrate','epoch']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("inter_method=='linear'") on
model | mrate | nof_filters | inter_method | method | epoch | mean | std | |
---|---|---|---|---|---|---|---|---|
0 | DCRNN | 0.125 | 2.0 | linear | IT-STGCN | 50.0 | 1.232 | 0.033 |
1 | DCRNN | 0.125 | 2.0 | linear | STGCN | 50.0 | 1.260 | 0.051 |
4 | DyGrEncoder | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.124 | 0.035 |
5 | DyGrEncoder | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.173 | 0.037 |
8 | EvolveGCNH | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.181 | 0.055 |
9 | EvolveGCNH | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.197 | 0.076 |
12 | EvolveGCNO | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.162 | 0.040 |
13 | EvolveGCNO | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.176 | 0.056 |
16 | GCLSTM | 0.125 | 4.0 | linear | IT-STGCN | 50.0 | 1.219 | 0.025 |
17 | GCLSTM | 0.125 | 4.0 | linear | STGCN | 50.0 | 1.244 | 0.033 |
20 | GConvGRU | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.165 | 0.043 |
21 | GConvGRU | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.210 | 0.039 |
24 | GConvLSTM | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.140 | 0.038 |
25 | GConvLSTM | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.172 | 0.055 |
28 | LRGCN | 0.125 | 4.0 | linear | IT-STGCN | 50.0 | 1.220 | 0.020 |
29 | LRGCN | 0.125 | 4.0 | linear | STGCN | 50.0 | 1.251 | 0.037 |
32 | TGCN | 0.125 | 12.0 | linear | IT-STGCN | 50.0 | 1.090 | 0.015 |
33 | TGCN | 0.125 | 12.0 | linear | STGCN | 50.0 | 1.107 | 0.020 |
ChickenpoxDatasetLoader(lags=4)
"model=='GNAR' and dataset=='chickenpox'") df.query(
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
26518 | chickenpox | GNAR | 0.00000 | NaN | 4 | NaN | NaN | NaN | 1.427494 | 0.087380 | GNAR |
26519 | chickenpox | GNAR | 0.30000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.086311 | GNAR |
26520 | chickenpox | GNAR | 0.80000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.101606 | GNAR |
26521 | chickenpox | GNAR | 0.00000 | NaN | 4 | NaN | NaN | NaN | 1.427494 | 0.100545 | GNAR |
26522 | chickenpox | GNAR | 0.30000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.084384 | GNAR |
26523 | chickenpox | GNAR | 0.80000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.095799 | GNAR |
26524 | chickenpox | GNAR | 0.00000 | NaN | 4 | NaN | NaN | NaN | 1.427494 | 0.135489 | GNAR |
26525 | chickenpox | GNAR | 0.30000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.097362 | GNAR |
26526 | chickenpox | GNAR | 0.80000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.108125 | GNAR |
26566 | chickenpox | GNAR | 0.28777 | block | 4 | NaN | linear | NaN | 1.427494 | 0.069579 | GNAR |
26567 | chickenpox | GNAR | 0.28777 | block | 4 | NaN | nearest | NaN | 1.427494 | 0.073124 | GNAR |
26568 | chickenpox | GNAR | 0.28777 | block | 4 | NaN | linear | NaN | 1.427494 | 0.070857 | GNAR |
26569 | chickenpox | GNAR | 0.28777 | block | 4 | NaN | nearest | NaN | 1.427494 | 0.066239 | GNAR |
26570 | chickenpox | GNAR | 0.28777 | block | 4 | NaN | linear | NaN | 1.427494 | 0.070568 | GNAR |
26571 | chickenpox | GNAR | 0.28777 | block | 4 | NaN | nearest | NaN | 1.427494 | 0.070212 | GNAR |
26773 | chickenpox | GNAR | 0.50000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.077680 | GNAR |
26774 | chickenpox | GNAR | 0.60000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.104648 | GNAR |
26775 | chickenpox | GNAR | 0.50000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.123352 | GNAR |
26776 | chickenpox | GNAR | 0.60000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.073757 | GNAR |
26777 | chickenpox | GNAR | 0.50000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.082407 | GNAR |
26778 | chickenpox | GNAR | 0.60000 | rand | 4 | NaN | linear | NaN | 1.427494 | 0.073220 | GNAR |
Baseline
"dataset=='chickenpox' and mtype!='rand' and mtype!='block'").groupby(['model','nof_filters'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='chickenpox' and mtype!='rand' and mtype!='block'").groupby(['model','nof_filters'])['mse'].std().reset_index(),
df.query(=['model','nof_filters']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | nof_filters | mean | std | |
---|---|---|---|---|
0 | DCRNN | 16.0 | 0.727 | 0.009 |
1 | DyGrEncoder | 12.0 | 0.906 | 0.051 |
2 | EvolveGCNH | 32.0 | 1.000 | 0.020 |
3 | EvolveGCNO | 32.0 | 0.986 | 0.018 |
4 | GCLSTM | 16.0 | 0.885 | 0.051 |
5 | GConvGRU | 16.0 | 0.752 | 0.013 |
6 | GConvLSTM | 32.0 | 0.959 | 0.088 |
7 | LRGCN | 8.0 | 0.868 | 0.047 |
8 | TGCN | 12.0 | 1.090 | 0.042 |
Random
= plt.subplots(3, 3,figsize=(40,20))
fig, ax
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==16 and lags==4 and epoch==50 and model=='GConvGRU' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,0],grid=False,widths=0.5)
iloc[:,[0,0].set_title('GConvGRU')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==32 and lags==4 and epoch==50 and model=='GConvLSTM' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,1],grid=False,widths=0.5)
iloc[:,[0,1].set_title('GConvLSTM')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==16 and lags==4 and epoch==50 and model=='GCLSTM' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,2],grid=False,widths=0.5)
iloc[:,[0,2].set_title('GCLSTM')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==8 and lags==4 and epoch==50 and model=='LRGCN' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,0],grid=False,widths=0.5)
iloc[:,[1,0].set_title('LRGCN')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==4 and epoch==50 and model=='DyGrEncoder' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,1],grid=False,widths=0.5)
iloc[:,[1,1].set_title('DyGrEncoder')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and lags==4 and epoch==50 and model=='EvolveGCNH' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,2],grid=False,widths=0.5)
iloc[:,[1,2].set_title('EvolveGCNH')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and lags==4 and epoch==50 and model=='EvolveGCNO' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,0],grid=False,widths=0.5)
iloc[:,[2,0].set_title('EvolveGCNO')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==4 and epoch==50 and model=='TGCN' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,1],grid=False,widths=0.5)
iloc[:,[2,1].set_title('TGCN')
ax[
"dataset=='chickenpox' and mtype=='rand' and inter_method == 'linear' and nof_filters==16 and lags==4 and epoch==50 and model=='DCRNN' and mrate in [ 0.3 , 0.5 , 0.6 , 0.8 ]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,2],grid=False,widths=0.5)
iloc[:,[2,2].set_title('DCRNN')
ax[
for ax in ax.flat:
ax.set_yticklabels([])'log')
ax.set_yscale(=2.5, color='black', linestyle='-')
ax.axvline(x=4.5, color='black', linestyle='-')
ax.axvline(x=6.5, color='black', linestyle='-')
ax.axvline(x=8.5, color='black', linestyle='-')
ax.axvline(x'IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN'])
ax.set_xticklabels(['')
ax.set_xlabel('')
ax.set_ylabel(
'',fontsize=40) fig.suptitle(
Text(0.5, 0.98, '')
"dataset=='chickenpox' and mtype=='rand'").groupby(['model','mrate','inter_method','nof_filters','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='chickenpox' and mtype=='rand'").groupby(['model','mrate','inter_method','nof_filters','method'])['mse'].std().reset_index(),
df.query(=['model','method','inter_method','mrate','nof_filters']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate==0.3") on
model | mrate | inter_method | nof_filters | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.3 | linear | 16.0 | IT-STGCN | 0.797 | 0.010 |
1 | DCRNN | 0.3 | linear | 16.0 | STGCN | 1.032 | 0.039 |
8 | DyGrEncoder | 0.3 | linear | 12.0 | IT-STGCN | 0.868 | 0.028 |
9 | DyGrEncoder | 0.3 | linear | 12.0 | STGCN | 1.080 | 0.037 |
16 | EvolveGCNH | 0.3 | linear | 32.0 | IT-STGCN | 1.011 | 0.019 |
17 | EvolveGCNH | 0.3 | linear | 32.0 | STGCN | 1.058 | 0.015 |
24 | EvolveGCNO | 0.3 | linear | 32.0 | IT-STGCN | 0.998 | 0.019 |
25 | EvolveGCNO | 0.3 | linear | 32.0 | STGCN | 1.054 | 0.011 |
32 | GCLSTM | 0.3 | linear | 16.0 | IT-STGCN | 0.850 | 0.022 |
33 | GCLSTM | 0.3 | linear | 16.0 | STGCN | 1.050 | 0.036 |
40 | GConvGRU | 0.3 | linear | 16.0 | IT-STGCN | 0.851 | 0.031 |
41 | GConvGRU | 0.3 | linear | 16.0 | STGCN | 1.087 | 0.046 |
48 | GConvLSTM | 0.3 | linear | 32.0 | IT-STGCN | 0.872 | 0.035 |
49 | GConvLSTM | 0.3 | linear | 32.0 | STGCN | 1.114 | 0.057 |
56 | LRGCN | 0.3 | linear | 8.0 | IT-STGCN | 0.870 | 0.035 |
57 | LRGCN | 0.3 | linear | 8.0 | STGCN | 1.086 | 0.029 |
64 | TGCN | 0.3 | linear | 12.0 | IT-STGCN | 1.042 | 0.020 |
65 | TGCN | 0.3 | linear | 12.0 | STGCN | 1.054 | 0.015 |
"dataset=='chickenpox' and mtype=='rand'").groupby(['model','mrate','inter_method','nof_filters','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='chickenpox' and mtype=='rand'").groupby(['model','mrate','inter_method','nof_filters','method'])['mse'].std().reset_index(),
df.query(=['model','method','inter_method','mrate','nof_filters']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate!=0.3") on
model | mrate | inter_method | nof_filters | method | mean | std | |
---|---|---|---|---|---|---|---|
2 | DCRNN | 0.5 | linear | 16.0 | IT-STGCN | 0.869 | 0.018 |
3 | DCRNN | 0.5 | linear | 16.0 | STGCN | 1.473 | 0.058 |
4 | DCRNN | 0.6 | linear | 16.0 | IT-STGCN | 0.973 | 0.032 |
5 | DCRNN | 0.6 | linear | 16.0 | STGCN | 1.848 | 0.072 |
6 | DCRNN | 0.8 | linear | 16.0 | IT-STGCN | 1.467 | 0.076 |
7 | DCRNN | 0.8 | linear | 16.0 | STGCN | 2.287 | 0.074 |
10 | DyGrEncoder | 0.5 | linear | 12.0 | IT-STGCN | 0.915 | 0.029 |
11 | DyGrEncoder | 0.5 | linear | 12.0 | STGCN | 1.540 | 0.045 |
12 | DyGrEncoder | 0.6 | linear | 12.0 | IT-STGCN | 1.013 | 0.035 |
13 | DyGrEncoder | 0.6 | linear | 12.0 | STGCN | 1.807 | 0.068 |
14 | DyGrEncoder | 0.8 | linear | 12.0 | IT-STGCN | 1.399 | 0.063 |
15 | DyGrEncoder | 0.8 | linear | 12.0 | STGCN | 2.127 | 0.240 |
18 | EvolveGCNH | 0.5 | linear | 16.0 | IT-STGCN | 1.026 | 0.017 |
19 | EvolveGCNH | 0.5 | linear | 16.0 | STGCN | 1.122 | 0.035 |
20 | EvolveGCNH | 0.6 | linear | 16.0 | IT-STGCN | 1.054 | 0.024 |
21 | EvolveGCNH | 0.6 | linear | 16.0 | STGCN | 1.162 | 0.044 |
22 | EvolveGCNH | 0.8 | linear | 32.0 | IT-STGCN | 1.140 | 0.042 |
23 | EvolveGCNH | 0.8 | linear | 32.0 | STGCN | 1.203 | 0.061 |
26 | EvolveGCNO | 0.5 | linear | 16.0 | IT-STGCN | 1.020 | 0.014 |
27 | EvolveGCNO | 0.5 | linear | 16.0 | STGCN | 1.145 | 0.027 |
28 | EvolveGCNO | 0.6 | linear | 16.0 | IT-STGCN | 1.050 | 0.018 |
29 | EvolveGCNO | 0.6 | linear | 16.0 | STGCN | 1.205 | 0.055 |
30 | EvolveGCNO | 0.8 | linear | 32.0 | IT-STGCN | 1.161 | 0.054 |
31 | EvolveGCNO | 0.8 | linear | 32.0 | STGCN | 1.234 | 0.096 |
34 | GCLSTM | 0.5 | linear | 16.0 | IT-STGCN | 0.899 | 0.023 |
35 | GCLSTM | 0.5 | linear | 16.0 | STGCN | 1.514 | 0.050 |
36 | GCLSTM | 0.6 | linear | 16.0 | IT-STGCN | 1.003 | 0.030 |
37 | GCLSTM | 0.6 | linear | 16.0 | STGCN | 1.808 | 0.069 |
38 | GCLSTM | 0.8 | linear | 16.0 | IT-STGCN | 1.371 | 0.072 |
39 | GCLSTM | 0.8 | linear | 16.0 | STGCN | 2.172 | 0.186 |
42 | GConvGRU | 0.5 | linear | 16.0 | IT-STGCN | 0.958 | 0.072 |
43 | GConvGRU | 0.5 | linear | 16.0 | STGCN | 1.530 | 0.106 |
44 | GConvGRU | 0.6 | linear | 16.0 | IT-STGCN | 1.120 | 0.072 |
45 | GConvGRU | 0.6 | linear | 16.0 | STGCN | 1.753 | 0.181 |
46 | GConvGRU | 0.8 | linear | 16.0 | IT-STGCN | 1.586 | 0.199 |
47 | GConvGRU | 0.8 | linear | 16.0 | STGCN | 2.529 | 0.292 |
50 | GConvLSTM | 0.5 | linear | 32.0 | IT-STGCN | 0.901 | 0.024 |
51 | GConvLSTM | 0.5 | linear | 32.0 | STGCN | 1.518 | 0.063 |
52 | GConvLSTM | 0.6 | linear | 32.0 | IT-STGCN | 1.004 | 0.038 |
53 | GConvLSTM | 0.6 | linear | 32.0 | STGCN | 1.787 | 0.055 |
54 | GConvLSTM | 0.8 | linear | 32.0 | IT-STGCN | 1.433 | 0.080 |
55 | GConvLSTM | 0.8 | linear | 32.0 | STGCN | 2.522 | 0.111 |
58 | LRGCN | 0.5 | linear | 8.0 | IT-STGCN | 0.931 | 0.034 |
59 | LRGCN | 0.5 | linear | 8.0 | STGCN | 1.458 | 0.068 |
60 | LRGCN | 0.6 | linear | 8.0 | IT-STGCN | 1.017 | 0.029 |
61 | LRGCN | 0.6 | linear | 8.0 | STGCN | 1.615 | 0.134 |
62 | LRGCN | 0.8 | linear | 8.0 | IT-STGCN | 1.334 | 0.071 |
63 | LRGCN | 0.8 | linear | 8.0 | STGCN | 1.632 | 0.156 |
66 | TGCN | 0.5 | linear | 12.0 | IT-STGCN | 1.032 | 0.012 |
67 | TGCN | 0.5 | linear | 12.0 | STGCN | 1.167 | 0.018 |
68 | TGCN | 0.6 | linear | 12.0 | IT-STGCN | 1.054 | 0.014 |
69 | TGCN | 0.6 | linear | 12.0 | STGCN | 1.242 | 0.021 |
70 | TGCN | 0.8 | linear | 12.0 | IT-STGCN | 1.183 | 0.028 |
71 | TGCN | 0.8 | linear | 12.0 | STGCN | 1.466 | 0.064 |
Block
"dataset=='chickenpox' and mtype=='block'").groupby(['model','inter_method','mrate','nof_filters','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='chickenpox' and mtype=='block'").groupby(['model','inter_method','mrate','nof_filters','method'])['mse'].std().reset_index(),
df.query(=['model','method','inter_method','mrate','nof_filters']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | inter_method | mrate | nof_filters | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | linear | 0.288 | 16.0 | IT-STGCN | 0.740 | 0.007 |
1 | DCRNN | linear | 0.288 | 16.0 | STGCN | 0.812 | 0.006 |
2 | DCRNN | nearest | 0.288 | 16.0 | IT-STGCN | 0.738 | 0.007 |
3 | DCRNN | nearest | 0.288 | 16.0 | STGCN | 0.832 | 0.009 |
4 | DyGrEncoder | linear | 0.288 | 12.0 | IT-STGCN | 0.899 | 0.035 |
5 | DyGrEncoder | linear | 0.288 | 12.0 | STGCN | 0.912 | 0.043 |
6 | DyGrEncoder | nearest | 0.288 | 12.0 | IT-STGCN | 0.909 | 0.043 |
7 | DyGrEncoder | nearest | 0.288 | 12.0 | STGCN | 0.930 | 0.035 |
8 | EvolveGCNH | linear | 0.288 | 32.0 | IT-STGCN | 1.007 | 0.021 |
9 | EvolveGCNH | linear | 0.288 | 32.0 | STGCN | 1.027 | 0.023 |
10 | EvolveGCNH | nearest | 0.288 | 32.0 | IT-STGCN | 1.011 | 0.018 |
11 | EvolveGCNH | nearest | 0.288 | 32.0 | STGCN | 1.030 | 0.017 |
12 | EvolveGCNO | linear | 0.288 | 32.0 | IT-STGCN | 1.002 | 0.015 |
13 | EvolveGCNO | linear | 0.288 | 32.0 | STGCN | 1.028 | 0.016 |
14 | EvolveGCNO | nearest | 0.288 | 32.0 | IT-STGCN | 0.999 | 0.022 |
15 | EvolveGCNO | nearest | 0.288 | 32.0 | STGCN | 1.026 | 0.015 |
16 | GCLSTM | linear | 0.288 | 16.0 | IT-STGCN | 0.883 | 0.045 |
17 | GCLSTM | linear | 0.288 | 16.0 | STGCN | 0.890 | 0.033 |
18 | GCLSTM | nearest | 0.288 | 16.0 | IT-STGCN | 0.901 | 0.054 |
19 | GCLSTM | nearest | 0.288 | 16.0 | STGCN | 0.885 | 0.042 |
20 | GConvGRU | linear | 0.288 | 16.0 | IT-STGCN | 0.807 | 0.016 |
21 | GConvGRU | linear | 0.288 | 16.0 | STGCN | 0.828 | 0.022 |
22 | GConvGRU | nearest | 0.288 | 16.0 | IT-STGCN | 0.824 | 0.023 |
23 | GConvGRU | nearest | 0.288 | 16.0 | STGCN | 0.828 | 0.022 |
24 | GConvLSTM | linear | 0.288 | 32.0 | IT-STGCN | 0.911 | 0.069 |
25 | GConvLSTM | linear | 0.288 | 32.0 | STGCN | 0.900 | 0.049 |
26 | GConvLSTM | nearest | 0.288 | 32.0 | IT-STGCN | 0.885 | 0.040 |
27 | GConvLSTM | nearest | 0.288 | 32.0 | STGCN | 0.896 | 0.054 |
28 | LRGCN | linear | 0.288 | 8.0 | IT-STGCN | 0.888 | 0.035 |
29 | LRGCN | linear | 0.288 | 8.0 | STGCN | 0.911 | 0.047 |
30 | LRGCN | nearest | 0.288 | 8.0 | IT-STGCN | 0.888 | 0.041 |
31 | LRGCN | nearest | 0.288 | 8.0 | STGCN | 0.902 | 0.039 |
32 | TGCN | linear | 0.288 | 12.0 | IT-STGCN | 1.065 | 0.031 |
33 | TGCN | linear | 0.288 | 12.0 | STGCN | 1.082 | 0.028 |
34 | TGCN | nearest | 0.288 | 12.0 | IT-STGCN | 1.070 | 0.028 |
35 | TGCN | nearest | 0.288 | 12.0 | STGCN | 1.079 | 0.027 |
"dataset=='chickenpox' and mtype=='block'").groupby(['model','inter_method','mrate','nof_filters','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='chickenpox' and mtype=='block'").groupby(['model','inter_method','mrate','nof_filters','method'])['mse'].std().reset_index(),
df.query(=['model','method','inter_method','mrate','nof_filters']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("inter_method=='linear'") on
model | inter_method | mrate | nof_filters | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | linear | 0.288 | 16.0 | IT-STGCN | 0.740 | 0.007 |
1 | DCRNN | linear | 0.288 | 16.0 | STGCN | 0.812 | 0.006 |
4 | DyGrEncoder | linear | 0.288 | 12.0 | IT-STGCN | 0.899 | 0.035 |
5 | DyGrEncoder | linear | 0.288 | 12.0 | STGCN | 0.912 | 0.043 |
8 | EvolveGCNH | linear | 0.288 | 32.0 | IT-STGCN | 1.007 | 0.021 |
9 | EvolveGCNH | linear | 0.288 | 32.0 | STGCN | 1.027 | 0.023 |
12 | EvolveGCNO | linear | 0.288 | 32.0 | IT-STGCN | 1.002 | 0.015 |
13 | EvolveGCNO | linear | 0.288 | 32.0 | STGCN | 1.028 | 0.016 |
16 | GCLSTM | linear | 0.288 | 16.0 | IT-STGCN | 0.883 | 0.045 |
17 | GCLSTM | linear | 0.288 | 16.0 | STGCN | 0.890 | 0.033 |
20 | GConvGRU | linear | 0.288 | 16.0 | IT-STGCN | 0.807 | 0.016 |
21 | GConvGRU | linear | 0.288 | 16.0 | STGCN | 0.828 | 0.022 |
24 | GConvLSTM | linear | 0.288 | 32.0 | IT-STGCN | 0.911 | 0.069 |
25 | GConvLSTM | linear | 0.288 | 32.0 | STGCN | 0.900 | 0.049 |
28 | LRGCN | linear | 0.288 | 8.0 | IT-STGCN | 0.888 | 0.035 |
29 | LRGCN | linear | 0.288 | 8.0 | STGCN | 0.911 | 0.047 |
32 | TGCN | linear | 0.288 | 12.0 | IT-STGCN | 1.065 | 0.031 |
33 | TGCN | linear | 0.288 | 12.0 | STGCN | 1.082 | 0.028 |
PedalMeDatasetLoader (lags=4)
"model=='GNAR' and dataset=='pedalme'") df.query(
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
26527 | pedalme | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.302679 | 0.031931 | GNAR |
26528 | pedalme | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.302679 | 0.027079 | GNAR |
26529 | pedalme | GNAR | 0.300000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.036771 | GNAR |
26530 | pedalme | GNAR | 0.300000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.022349 | GNAR |
26531 | pedalme | GNAR | 0.600000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.022278 | GNAR |
26532 | pedalme | GNAR | 0.600000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.029977 | GNAR |
26533 | pedalme | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.302679 | 0.022007 | GNAR |
26534 | pedalme | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.302679 | 0.026209 | GNAR |
26535 | pedalme | GNAR | 0.300000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.024794 | GNAR |
26536 | pedalme | GNAR | 0.300000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.020568 | GNAR |
26537 | pedalme | GNAR | 0.600000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.022407 | GNAR |
26538 | pedalme | GNAR | 0.600000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.021174 | GNAR |
26539 | pedalme | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.302679 | 0.035516 | GNAR |
26540 | pedalme | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.302679 | 0.020410 | GNAR |
26541 | pedalme | GNAR | 0.300000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.035666 | GNAR |
26542 | pedalme | GNAR | 0.300000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.021164 | GNAR |
26543 | pedalme | GNAR | 0.600000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.020147 | GNAR |
26544 | pedalme | GNAR | 0.600000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.021981 | GNAR |
26572 | pedalme | GNAR | 0.285714 | block | 4 | NaN | linear | NaN | 1.302679 | 0.017945 | GNAR |
26573 | pedalme | GNAR | 0.285714 | block | 4 | NaN | nearest | NaN | 1.302679 | 0.021973 | GNAR |
26574 | pedalme | GNAR | 0.285714 | block | 4 | NaN | linear | NaN | 1.302679 | 0.023076 | GNAR |
26575 | pedalme | GNAR | 0.285714 | block | 4 | NaN | nearest | NaN | 1.302679 | 0.022257 | GNAR |
26576 | pedalme | GNAR | 0.285714 | block | 4 | NaN | linear | NaN | 1.302679 | 0.023361 | GNAR |
26577 | pedalme | GNAR | 0.285714 | block | 4 | NaN | nearest | NaN | 1.302679 | 0.022614 | GNAR |
26779 | pedalme | GNAR | 0.500000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.038041 | GNAR |
26780 | pedalme | GNAR | 0.500000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.022290 | GNAR |
26781 | pedalme | GNAR | 0.800000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.019467 | GNAR |
26782 | pedalme | GNAR | 0.800000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.018487 | GNAR |
26783 | pedalme | GNAR | 0.500000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.022977 | GNAR |
26784 | pedalme | GNAR | 0.500000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.039169 | GNAR |
26785 | pedalme | GNAR | 0.800000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.023175 | GNAR |
26786 | pedalme | GNAR | 0.800000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.023105 | GNAR |
26787 | pedalme | GNAR | 0.500000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.022839 | GNAR |
26788 | pedalme | GNAR | 0.500000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.023041 | GNAR |
26789 | pedalme | GNAR | 0.800000 | rand | 4 | NaN | linear | NaN | 1.302679 | 0.060872 | GNAR |
26790 | pedalme | GNAR | 0.800000 | rand | 4 | NaN | nearest | NaN | 1.302679 | 0.023526 | GNAR |
Baseline
"dataset=='pedalme' and mtype!='rand' and mtype!='block'").groupby(['model','lags','nof_filters'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='pedalme' and mtype!='rand' and mtype!='block'").groupby(['model','lags','nof_filters'])['mse'].std().reset_index(),
df.query(=['model','lags','nof_filters']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4") on
model | lags | nof_filters | mean | std | |
---|---|---|---|---|---|
0 | DCRNN | 4 | 8.0 | 1.131 | 0.015 |
1 | DyGrEncoder | 4 | 12.0 | 1.190 | 0.047 |
2 | EvolveGCNH | 4 | 2.0 | 1.213 | 0.057 |
3 | EvolveGCNO | 4 | 2.0 | 1.223 | 0.051 |
4 | GCLSTM | 4 | 4.0 | 1.181 | 0.040 |
5 | GConvGRU | 4 | 12.0 | 1.233 | 0.107 |
6 | GConvLSTM | 4 | 2.0 | 1.214 | 0.055 |
7 | LRGCN | 4 | 8.0 | 1.191 | 0.054 |
8 | TGCN | 4 | 12.0 | 1.307 | 0.075 |
Random
= plt.subplots(3, 3,figsize=(40,20))
fig, ax
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==4 and epoch==50 and model=='GConvGRU' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,0],grid=False,widths=0.5)
iloc[:,[0,0].set_title('GConvGRU')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==2 and lags==4 and epoch==50 and model=='GConvLSTM' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,1],grid=False,widths=0.5)
iloc[:,[0,1].set_title('GConvLSTM')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==4 and lags==4 and epoch==50 and model=='GCLSTM' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,2],grid=False,widths=0.5)
iloc[:,[0,2].set_title('GCLSTM')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==8 and lags==4 and epoch==50 and model=='LRGCN' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,0],grid=False,widths=0.5)
iloc[:,[1,0].set_title('LRGCN')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==4 and epoch==50 and model=='DyGrEncoder' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,1],grid=False,widths=0.5)
iloc[:,[1,1].set_title('DyGrEncoder')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and lags==4 and epoch==50 and model=='EvolveGCNH' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,2],grid=False,widths=0.5)
iloc[:,[1,2].set_title('EvolveGCNH')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and lags==4 and epoch==50 and model=='EvolveGCNO' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,0],grid=False,widths=0.5)
iloc[:,[2,0].set_title('EvolveGCNO')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==4 and epoch==50 and model=='TGCN' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,1],grid=False,widths=0.5)
iloc[:,[2,1].set_title('TGCN')
ax[
"dataset=='pedalme' and mtype=='rand' and inter_method == 'linear' and nof_filters==8 and lags==4 and epoch==50 and model=='DCRNN' and mrate in [0.3,0.5,0.6,0.8]").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,2],grid=False,widths=0.5)
iloc[:,[2,2].set_title('DCRNN')
ax[
for ax in ax.flat:
ax.set_yticklabels([])'log')
ax.set_yscale(=2.5, color='black', linestyle='-')
ax.axvline(x=4.5, color='black', linestyle='-')
ax.axvline(x=6.5, color='black', linestyle='-')
ax.axvline(x=8.5, color='black', linestyle='-')
ax.axvline(x'IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN'])
ax.set_xticklabels(['')
ax.set_xlabel('')
ax.set_ylabel(
'',fontsize=40) fig.suptitle(
Text(0.5, 0.98, '')
"dataset=='pedalme' and mtype=='rand'").groupby(['model','mrate','lags','nof_filters','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='pedalme' and mtype=='rand'").groupby(['model','mrate','lags','nof_filters','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','nof_filters','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate == 0.3") on
model | mrate | lags | nof_filters | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|---|
0 | DCRNN | 0.3 | 4 | 8.0 | linear | IT-STGCN | 1.190 | 0.029 |
1 | DCRNN | 0.3 | 4 | 8.0 | linear | STGCN | 1.277 | 0.064 |
2 | DCRNN | 0.3 | 4 | 8.0 | nearest | IT-STGCN | 1.179 | 0.035 |
3 | DCRNN | 0.3 | 4 | 8.0 | nearest | STGCN | 1.278 | 0.060 |
16 | DyGrEncoder | 0.3 | 4 | 12.0 | linear | IT-STGCN | 1.207 | 0.046 |
17 | DyGrEncoder | 0.3 | 4 | 12.0 | linear | STGCN | 1.279 | 0.061 |
18 | DyGrEncoder | 0.3 | 4 | 12.0 | nearest | IT-STGCN | 1.205 | 0.075 |
19 | DyGrEncoder | 0.3 | 4 | 12.0 | nearest | STGCN | 1.289 | 0.096 |
32 | EvolveGCNH | 0.3 | 4 | 2.0 | linear | IT-STGCN | 1.245 | 0.069 |
33 | EvolveGCNH | 0.3 | 4 | 2.0 | linear | STGCN | 1.273 | 0.057 |
34 | EvolveGCNH | 0.3 | 4 | 2.0 | nearest | IT-STGCN | 1.238 | 0.046 |
35 | EvolveGCNH | 0.3 | 4 | 2.0 | nearest | STGCN | 1.244 | 0.054 |
48 | EvolveGCNO | 0.3 | 4 | 2.0 | linear | IT-STGCN | 1.251 | 0.072 |
49 | EvolveGCNO | 0.3 | 4 | 2.0 | linear | STGCN | 1.267 | 0.072 |
50 | EvolveGCNO | 0.3 | 4 | 2.0 | nearest | IT-STGCN | 1.251 | 0.057 |
51 | EvolveGCNO | 0.3 | 4 | 2.0 | nearest | STGCN | 1.265 | 0.056 |
64 | GCLSTM | 0.3 | 4 | 4.0 | linear | IT-STGCN | 1.202 | 0.029 |
65 | GCLSTM | 0.3 | 4 | 4.0 | linear | STGCN | 1.267 | 0.041 |
66 | GCLSTM | 0.3 | 4 | 4.0 | nearest | IT-STGCN | 1.211 | 0.039 |
67 | GCLSTM | 0.3 | 4 | 4.0 | nearest | STGCN | 1.256 | 0.038 |
80 | GConvGRU | 0.3 | 4 | 12.0 | linear | IT-STGCN | 1.354 | 0.134 |
81 | GConvGRU | 0.3 | 4 | 12.0 | linear | STGCN | 1.575 | 0.198 |
82 | GConvGRU | 0.3 | 4 | 12.0 | nearest | IT-STGCN | 1.385 | 0.173 |
83 | GConvGRU | 0.3 | 4 | 12.0 | nearest | STGCN | 1.527 | 0.342 |
96 | GConvLSTM | 0.3 | 4 | 2.0 | linear | IT-STGCN | 1.227 | 0.056 |
97 | GConvLSTM | 0.3 | 4 | 2.0 | linear | STGCN | 1.244 | 0.041 |
98 | GConvLSTM | 0.3 | 4 | 2.0 | nearest | IT-STGCN | 1.224 | 0.035 |
99 | GConvLSTM | 0.3 | 4 | 2.0 | nearest | STGCN | 1.266 | 0.068 |
112 | LRGCN | 0.3 | 4 | 8.0 | linear | IT-STGCN | 1.210 | 0.039 |
113 | LRGCN | 0.3 | 4 | 8.0 | linear | STGCN | 1.274 | 0.045 |
114 | LRGCN | 0.3 | 4 | 8.0 | nearest | IT-STGCN | 1.220 | 0.046 |
115 | LRGCN | 0.3 | 4 | 8.0 | nearest | STGCN | 1.287 | 0.065 |
128 | TGCN | 0.3 | 4 | 12.0 | linear | IT-STGCN | 1.280 | 0.070 |
129 | TGCN | 0.3 | 4 | 12.0 | linear | STGCN | 1.302 | 0.112 |
130 | TGCN | 0.3 | 4 | 12.0 | nearest | IT-STGCN | 1.248 | 0.074 |
131 | TGCN | 0.3 | 4 | 12.0 | nearest | STGCN | 1.291 | 0.111 |
"dataset=='pedalme' and mtype=='rand'").groupby(['model','mrate','lags','nof_filters','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='pedalme' and mtype=='rand'").groupby(['model','mrate','lags','nof_filters','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','nof_filters','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate != 0.3") on
model | mrate | lags | nof_filters | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|---|
4 | DCRNN | 0.5 | 4 | 8.0 | linear | IT-STGCN | 1.238 | 0.080 |
5 | DCRNN | 0.5 | 4 | 8.0 | linear | STGCN | 1.451 | 0.061 |
6 | DCRNN | 0.5 | 4 | 8.0 | nearest | IT-STGCN | 1.232 | 0.061 |
7 | DCRNN | 0.5 | 4 | 8.0 | nearest | STGCN | 1.447 | 0.073 |
8 | DCRNN | 0.6 | 4 | 8.0 | linear | IT-STGCN | 1.314 | 0.072 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
139 | TGCN | 0.6 | 4 | 12.0 | nearest | STGCN | 1.301 | 0.090 |
140 | TGCN | 0.8 | 4 | 12.0 | linear | IT-STGCN | 1.294 | 0.063 |
141 | TGCN | 0.8 | 4 | 12.0 | linear | STGCN | 1.289 | 0.065 |
142 | TGCN | 0.8 | 4 | 12.0 | nearest | IT-STGCN | 1.258 | 0.053 |
143 | TGCN | 0.8 | 4 | 12.0 | nearest | STGCN | 1.277 | 0.080 |
108 rows × 8 columns
"dataset=='pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate != 0.3").\
on"inter_method=='nearest'") query(
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
6 | DCRNN | 0.5 | 4 | nearest | IT-STGCN | 1.232 | 0.061 |
7 | DCRNN | 0.5 | 4 | nearest | STGCN | 1.447 | 0.073 |
10 | DCRNN | 0.6 | 4 | nearest | IT-STGCN | 1.303 | 0.078 |
11 | DCRNN | 0.6 | 4 | nearest | STGCN | 1.509 | 0.068 |
14 | DCRNN | 0.8 | 4 | nearest | IT-STGCN | 1.527 | 0.079 |
15 | DCRNN | 0.8 | 4 | nearest | STGCN | 1.616 | 0.075 |
22 | DyGrEncoder | 0.5 | 4 | nearest | IT-STGCN | 1.236 | 0.059 |
23 | DyGrEncoder | 0.5 | 4 | nearest | STGCN | 1.427 | 0.076 |
26 | DyGrEncoder | 0.6 | 4 | nearest | IT-STGCN | 1.285 | 0.051 |
27 | DyGrEncoder | 0.6 | 4 | nearest | STGCN | 1.513 | 0.083 |
30 | DyGrEncoder | 0.8 | 4 | nearest | IT-STGCN | 1.476 | 0.098 |
31 | DyGrEncoder | 0.8 | 4 | nearest | STGCN | 1.614 | 0.096 |
38 | EvolveGCNH | 0.5 | 4 | nearest | IT-STGCN | 1.242 | 0.058 |
39 | EvolveGCNH | 0.5 | 4 | nearest | STGCN | 1.285 | 0.049 |
42 | EvolveGCNH | 0.6 | 4 | nearest | IT-STGCN | 1.262 | 0.091 |
43 | EvolveGCNH | 0.6 | 4 | nearest | STGCN | 1.284 | 0.066 |
46 | EvolveGCNH | 0.8 | 4 | nearest | IT-STGCN | 1.299 | 0.082 |
47 | EvolveGCNH | 0.8 | 4 | nearest | STGCN | 1.292 | 0.074 |
54 | EvolveGCNO | 0.5 | 4 | nearest | IT-STGCN | 1.254 | 0.037 |
55 | EvolveGCNO | 0.5 | 4 | nearest | STGCN | 1.274 | 0.080 |
58 | EvolveGCNO | 0.6 | 4 | nearest | IT-STGCN | 1.267 | 0.067 |
59 | EvolveGCNO | 0.6 | 4 | nearest | STGCN | 1.292 | 0.075 |
62 | EvolveGCNO | 0.8 | 4 | nearest | IT-STGCN | 1.312 | 0.073 |
63 | EvolveGCNO | 0.8 | 4 | nearest | STGCN | 1.334 | 0.144 |
70 | GCLSTM | 0.5 | 4 | nearest | IT-STGCN | 1.221 | 0.042 |
71 | GCLSTM | 0.5 | 4 | nearest | STGCN | 1.333 | 0.066 |
74 | GCLSTM | 0.6 | 4 | nearest | IT-STGCN | 1.259 | 0.042 |
75 | GCLSTM | 0.6 | 4 | nearest | STGCN | 1.365 | 0.064 |
78 | GCLSTM | 0.8 | 4 | nearest | IT-STGCN | 1.352 | 0.050 |
79 | GCLSTM | 0.8 | 4 | nearest | STGCN | 1.396 | 0.079 |
86 | GConvGRU | 0.5 | 4 | nearest | IT-STGCN | 1.507 | 0.235 |
87 | GConvGRU | 0.5 | 4 | nearest | STGCN | 1.673 | 0.223 |
90 | GConvGRU | 0.6 | 4 | nearest | IT-STGCN | 1.625 | 0.324 |
91 | GConvGRU | 0.6 | 4 | nearest | STGCN | 1.851 | 0.254 |
94 | GConvGRU | 0.8 | 4 | nearest | IT-STGCN | 1.608 | 0.243 |
95 | GConvGRU | 0.8 | 4 | nearest | STGCN | 1.871 | 0.214 |
102 | GConvLSTM | 0.5 | 4 | nearest | IT-STGCN | 1.235 | 0.042 |
103 | GConvLSTM | 0.5 | 4 | nearest | STGCN | 1.283 | 0.071 |
106 | GConvLSTM | 0.6 | 4 | nearest | IT-STGCN | 1.248 | 0.045 |
107 | GConvLSTM | 0.6 | 4 | nearest | STGCN | 1.274 | 0.078 |
110 | GConvLSTM | 0.8 | 4 | nearest | IT-STGCN | 1.287 | 0.065 |
111 | GConvLSTM | 0.8 | 4 | nearest | STGCN | 1.364 | 0.069 |
115 | GNAR | 0.5 | 4 | nearest | GNAR | 1.303 | 0.000 |
117 | GNAR | 0.6 | 4 | nearest | GNAR | 1.303 | 0.000 |
119 | GNAR | 0.8 | 4 | nearest | GNAR | 1.303 | 0.000 |
126 | LRGCN | 0.5 | 4 | nearest | IT-STGCN | 1.240 | 0.036 |
127 | LRGCN | 0.5 | 4 | nearest | STGCN | 1.379 | 0.079 |
130 | LRGCN | 0.6 | 4 | nearest | IT-STGCN | 1.286 | 0.033 |
131 | LRGCN | 0.6 | 4 | nearest | STGCN | 1.462 | 0.084 |
134 | LRGCN | 0.8 | 4 | nearest | IT-STGCN | 1.436 | 0.091 |
135 | LRGCN | 0.8 | 4 | nearest | STGCN | 1.529 | 0.071 |
142 | TGCN | 0.5 | 4 | nearest | IT-STGCN | 1.259 | 0.066 |
143 | TGCN | 0.5 | 4 | nearest | STGCN | 1.287 | 0.065 |
146 | TGCN | 0.6 | 4 | nearest | IT-STGCN | 1.260 | 0.072 |
147 | TGCN | 0.6 | 4 | nearest | STGCN | 1.301 | 0.090 |
150 | TGCN | 0.8 | 4 | nearest | IT-STGCN | 1.258 | 0.053 |
151 | TGCN | 0.8 | 4 | nearest | STGCN | 1.277 | 0.080 |
Block
"dataset=='pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.286 | 4 | linear | IT-STGCN | 1.154 | 0.014 |
1 | DCRNN | 0.286 | 4 | linear | STGCN | 1.248 | 0.019 |
2 | DCRNN | 0.286 | 4 | nearest | IT-STGCN | 1.150 | 0.014 |
3 | DCRNN | 0.286 | 4 | nearest | STGCN | 1.304 | 0.021 |
4 | DyGrEncoder | 0.286 | 4 | linear | IT-STGCN | 1.167 | 0.040 |
5 | DyGrEncoder | 0.286 | 4 | linear | STGCN | 1.222 | 0.054 |
6 | DyGrEncoder | 0.286 | 4 | nearest | IT-STGCN | 1.165 | 0.032 |
7 | DyGrEncoder | 0.286 | 4 | nearest | STGCN | 1.269 | 0.066 |
8 | EvolveGCNH | 0.286 | 4 | linear | IT-STGCN | 1.259 | 0.085 |
9 | EvolveGCNH | 0.286 | 4 | linear | STGCN | 1.246 | 0.073 |
10 | EvolveGCNH | 0.286 | 4 | nearest | IT-STGCN | 1.222 | 0.040 |
11 | EvolveGCNH | 0.286 | 4 | nearest | STGCN | 1.265 | 0.072 |
12 | EvolveGCNO | 0.286 | 4 | linear | IT-STGCN | 1.246 | 0.034 |
13 | EvolveGCNO | 0.286 | 4 | linear | STGCN | 1.230 | 0.056 |
14 | EvolveGCNO | 0.286 | 4 | nearest | IT-STGCN | 1.245 | 0.045 |
15 | EvolveGCNO | 0.286 | 4 | nearest | STGCN | 1.246 | 0.035 |
16 | GCLSTM | 0.286 | 4 | linear | IT-STGCN | 1.182 | 0.031 |
17 | GCLSTM | 0.286 | 4 | linear | STGCN | 1.211 | 0.023 |
18 | GCLSTM | 0.286 | 4 | nearest | IT-STGCN | 1.195 | 0.029 |
19 | GCLSTM | 0.286 | 4 | nearest | STGCN | 1.248 | 0.019 |
20 | GConvGRU | 0.286 | 4 | linear | IT-STGCN | 1.329 | 0.131 |
21 | GConvGRU | 0.286 | 4 | linear | STGCN | 1.320 | 0.111 |
22 | GConvGRU | 0.286 | 4 | nearest | IT-STGCN | 1.289 | 0.115 |
23 | GConvGRU | 0.286 | 4 | nearest | STGCN | 1.270 | 0.114 |
24 | GConvLSTM | 0.286 | 4 | linear | IT-STGCN | 1.241 | 0.069 |
25 | GConvLSTM | 0.286 | 4 | linear | STGCN | 1.223 | 0.042 |
26 | GConvLSTM | 0.286 | 4 | nearest | IT-STGCN | 1.222 | 0.039 |
27 | GConvLSTM | 0.286 | 4 | nearest | STGCN | 1.237 | 0.046 |
28 | GNAR | 0.286 | 4 | linear | GNAR | 1.303 | 0.000 |
29 | GNAR | 0.286 | 4 | nearest | GNAR | 1.303 | 0.000 |
30 | LRGCN | 0.286 | 4 | linear | IT-STGCN | 1.169 | 0.040 |
31 | LRGCN | 0.286 | 4 | linear | STGCN | 1.204 | 0.032 |
32 | LRGCN | 0.286 | 4 | nearest | IT-STGCN | 1.165 | 0.035 |
33 | LRGCN | 0.286 | 4 | nearest | STGCN | 1.263 | 0.033 |
34 | TGCN | 0.286 | 4 | linear | IT-STGCN | 1.278 | 0.056 |
35 | TGCN | 0.286 | 4 | linear | STGCN | 1.244 | 0.071 |
36 | TGCN | 0.286 | 4 | nearest | IT-STGCN | 1.262 | 0.066 |
37 | TGCN | 0.286 | 4 | nearest | STGCN | 1.232 | 0.069 |
"dataset=='pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).\
on"lags==4 and inter_method=='nearest'") query(
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
2 | DCRNN | 0.286 | 4 | nearest | IT-STGCN | 1.150 | 0.014 |
3 | DCRNN | 0.286 | 4 | nearest | STGCN | 1.304 | 0.021 |
6 | DyGrEncoder | 0.286 | 4 | nearest | IT-STGCN | 1.165 | 0.032 |
7 | DyGrEncoder | 0.286 | 4 | nearest | STGCN | 1.269 | 0.066 |
10 | EvolveGCNH | 0.286 | 4 | nearest | IT-STGCN | 1.222 | 0.040 |
11 | EvolveGCNH | 0.286 | 4 | nearest | STGCN | 1.265 | 0.072 |
14 | EvolveGCNO | 0.286 | 4 | nearest | IT-STGCN | 1.245 | 0.045 |
15 | EvolveGCNO | 0.286 | 4 | nearest | STGCN | 1.246 | 0.035 |
18 | GCLSTM | 0.286 | 4 | nearest | IT-STGCN | 1.195 | 0.029 |
19 | GCLSTM | 0.286 | 4 | nearest | STGCN | 1.248 | 0.019 |
22 | GConvGRU | 0.286 | 4 | nearest | IT-STGCN | 1.289 | 0.115 |
23 | GConvGRU | 0.286 | 4 | nearest | STGCN | 1.270 | 0.114 |
26 | GConvLSTM | 0.286 | 4 | nearest | IT-STGCN | 1.222 | 0.039 |
27 | GConvLSTM | 0.286 | 4 | nearest | STGCN | 1.237 | 0.046 |
29 | GNAR | 0.286 | 4 | nearest | GNAR | 1.303 | 0.000 |
32 | LRGCN | 0.286 | 4 | nearest | IT-STGCN | 1.165 | 0.035 |
33 | LRGCN | 0.286 | 4 | nearest | STGCN | 1.263 | 0.033 |
36 | TGCN | 0.286 | 4 | nearest | IT-STGCN | 1.262 | 0.066 |
37 | TGCN | 0.286 | 4 | nearest | STGCN | 1.232 | 0.069 |
W_st
"dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4 and mrate==0.3") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.3 | 4 | linear | IT-STGCN | 1.153 | 0.036 |
1 | DCRNN | 0.3 | 4 | linear | STGCN | 1.263 | 0.053 |
2 | DCRNN | 0.3 | 4 | nearest | IT-STGCN | 1.154 | 0.038 |
3 | DCRNN | 0.3 | 4 | nearest | STGCN | 1.269 | 0.068 |
8 | DyGrEncoder | 0.3 | 4 | linear | IT-STGCN | 1.222 | 0.083 |
9 | DyGrEncoder | 0.3 | 4 | linear | STGCN | 1.276 | 0.058 |
10 | DyGrEncoder | 0.3 | 4 | nearest | IT-STGCN | 1.208 | 0.091 |
11 | DyGrEncoder | 0.3 | 4 | nearest | STGCN | 1.281 | 0.068 |
16 | EvolveGCNH | 0.3 | 4 | linear | IT-STGCN | 1.218 | 0.058 |
17 | EvolveGCNH | 0.3 | 4 | linear | STGCN | 1.237 | 0.051 |
18 | EvolveGCNH | 0.3 | 4 | nearest | IT-STGCN | 1.197 | 0.068 |
19 | EvolveGCNH | 0.3 | 4 | nearest | STGCN | 1.237 | 0.058 |
24 | EvolveGCNO | 0.3 | 4 | linear | IT-STGCN | 1.223 | 0.041 |
25 | EvolveGCNO | 0.3 | 4 | linear | STGCN | 1.263 | 0.048 |
26 | EvolveGCNO | 0.3 | 4 | nearest | IT-STGCN | 1.234 | 0.046 |
27 | EvolveGCNO | 0.3 | 4 | nearest | STGCN | 1.252 | 0.071 |
32 | GCLSTM | 0.3 | 4 | linear | IT-STGCN | 1.191 | 0.041 |
33 | GCLSTM | 0.3 | 4 | linear | STGCN | 1.264 | 0.041 |
34 | GCLSTM | 0.3 | 4 | nearest | IT-STGCN | 1.193 | 0.033 |
35 | GCLSTM | 0.3 | 4 | nearest | STGCN | 1.250 | 0.049 |
40 | GConvGRU | 0.3 | 4 | linear | IT-STGCN | 1.270 | 0.163 |
41 | GConvGRU | 0.3 | 4 | linear | STGCN | 1.556 | 0.264 |
42 | GConvGRU | 0.3 | 4 | nearest | IT-STGCN | 1.324 | 0.163 |
43 | GConvGRU | 0.3 | 4 | nearest | STGCN | 1.520 | 0.206 |
48 | GConvLSTM | 0.3 | 4 | linear | IT-STGCN | 1.340 | 0.166 |
49 | GConvLSTM | 0.3 | 4 | linear | STGCN | 1.392 | 0.109 |
50 | GConvLSTM | 0.3 | 4 | nearest | IT-STGCN | 1.368 | 0.158 |
51 | GConvLSTM | 0.3 | 4 | nearest | STGCN | 1.338 | 0.118 |
56 | LRGCN | 0.3 | 4 | linear | IT-STGCN | 1.299 | 0.147 |
57 | LRGCN | 0.3 | 4 | linear | STGCN | 1.325 | 0.086 |
58 | LRGCN | 0.3 | 4 | nearest | IT-STGCN | 1.260 | 0.117 |
59 | LRGCN | 0.3 | 4 | nearest | STGCN | 1.269 | 0.087 |
64 | TGCN | 0.3 | 4 | linear | IT-STGCN | 1.320 | 0.164 |
65 | TGCN | 0.3 | 4 | linear | STGCN | 1.287 | 0.126 |
66 | TGCN | 0.3 | 4 | nearest | IT-STGCN | 1.276 | 0.105 |
67 | TGCN | 0.3 | 4 | nearest | STGCN | 1.313 | 0.101 |
- 테이블 정리용
"dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4 and mrate == 0.6 and inter_method=='linear'") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
4 | DCRNN | 0.6 | 4 | linear | IT-STGCN | 1.241 | 0.079 |
5 | DCRNN | 0.6 | 4 | linear | STGCN | 1.506 | 0.065 |
12 | DyGrEncoder | 0.6 | 4 | linear | IT-STGCN | 1.287 | 0.095 |
13 | DyGrEncoder | 0.6 | 4 | linear | STGCN | 1.497 | 0.077 |
20 | EvolveGCNH | 0.6 | 4 | linear | IT-STGCN | 1.229 | 0.070 |
21 | EvolveGCNH | 0.6 | 4 | linear | STGCN | 1.278 | 0.066 |
28 | EvolveGCNO | 0.6 | 4 | linear | IT-STGCN | 1.269 | 0.092 |
29 | EvolveGCNO | 0.6 | 4 | linear | STGCN | 1.304 | 0.061 |
36 | GCLSTM | 0.6 | 4 | linear | IT-STGCN | 1.260 | 0.084 |
37 | GCLSTM | 0.6 | 4 | linear | STGCN | 1.340 | 0.059 |
44 | GConvGRU | 0.6 | 4 | linear | IT-STGCN | 1.434 | 0.222 |
45 | GConvGRU | 0.6 | 4 | linear | STGCN | 1.678 | 0.211 |
52 | GConvLSTM | 0.6 | 4 | linear | IT-STGCN | 1.312 | 0.162 |
53 | GConvLSTM | 0.6 | 4 | linear | STGCN | 1.498 | 0.083 |
60 | LRGCN | 0.6 | 4 | linear | IT-STGCN | 1.265 | 0.100 |
61 | LRGCN | 0.6 | 4 | linear | STGCN | 1.466 | 0.085 |
68 | TGCN | 0.6 | 4 | linear | IT-STGCN | 1.304 | 0.129 |
69 | TGCN | 0.6 | 4 | linear | STGCN | 1.299 | 0.076 |
"dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("method !='STGCN' and lags==4 and mrate == 0.6 and inter_method=='linear'") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
4 | DCRNN | 0.6 | 4 | linear | IT-STGCN | 1.241 | 0.079 |
12 | DyGrEncoder | 0.6 | 4 | linear | IT-STGCN | 1.287 | 0.095 |
20 | EvolveGCNH | 0.6 | 4 | linear | IT-STGCN | 1.229 | 0.070 |
28 | EvolveGCNO | 0.6 | 4 | linear | IT-STGCN | 1.269 | 0.092 |
36 | GCLSTM | 0.6 | 4 | linear | IT-STGCN | 1.260 | 0.084 |
44 | GConvGRU | 0.6 | 4 | linear | IT-STGCN | 1.434 | 0.222 |
52 | GConvLSTM | 0.6 | 4 | linear | IT-STGCN | 1.312 | 0.162 |
60 | LRGCN | 0.6 | 4 | linear | IT-STGCN | 1.265 | 0.100 |
68 | TGCN | 0.6 | 4 | linear | IT-STGCN | 1.304 | 0.129 |
"dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("method !='STGCN' and lags==4 and mrate == 0.6 and inter_method=='linear'") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
8 | DCRNN | 0.6 | 4 | linear | IT-STGCN | 1.314 | 0.072 |
24 | DyGrEncoder | 0.6 | 4 | linear | IT-STGCN | 1.294 | 0.056 |
40 | EvolveGCNH | 0.6 | 4 | linear | IT-STGCN | 1.279 | 0.057 |
56 | EvolveGCNO | 0.6 | 4 | linear | IT-STGCN | 1.280 | 0.065 |
72 | GCLSTM | 0.6 | 4 | linear | IT-STGCN | 1.278 | 0.040 |
88 | GConvGRU | 0.6 | 4 | linear | IT-STGCN | 1.516 | 0.211 |
104 | GConvLSTM | 0.6 | 4 | linear | IT-STGCN | 1.255 | 0.049 |
116 | GNAR | 0.6 | 4 | linear | GNAR | 1.303 | 0.000 |
128 | LRGCN | 0.6 | 4 | linear | IT-STGCN | 1.286 | 0.053 |
144 | TGCN | 0.6 | 4 | linear | IT-STGCN | 1.257 | 0.048 |
"dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset == 'pedalme' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4 and mrate == 0.6") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
4 | DCRNN | 0.6 | 4 | linear | IT-STGCN | 1.241 | 0.079 |
5 | DCRNN | 0.6 | 4 | linear | STGCN | 1.506 | 0.065 |
6 | DCRNN | 0.6 | 4 | nearest | IT-STGCN | 1.208 | 0.079 |
7 | DCRNN | 0.6 | 4 | nearest | STGCN | 1.552 | 0.087 |
12 | DyGrEncoder | 0.6 | 4 | linear | IT-STGCN | 1.287 | 0.095 |
13 | DyGrEncoder | 0.6 | 4 | linear | STGCN | 1.497 | 0.077 |
14 | DyGrEncoder | 0.6 | 4 | nearest | IT-STGCN | 1.305 | 0.131 |
15 | DyGrEncoder | 0.6 | 4 | nearest | STGCN | 1.513 | 0.073 |
20 | EvolveGCNH | 0.6 | 4 | linear | IT-STGCN | 1.229 | 0.070 |
21 | EvolveGCNH | 0.6 | 4 | linear | STGCN | 1.278 | 0.066 |
22 | EvolveGCNH | 0.6 | 4 | nearest | IT-STGCN | 1.246 | 0.067 |
23 | EvolveGCNH | 0.6 | 4 | nearest | STGCN | 1.291 | 0.063 |
28 | EvolveGCNO | 0.6 | 4 | linear | IT-STGCN | 1.269 | 0.092 |
29 | EvolveGCNO | 0.6 | 4 | linear | STGCN | 1.304 | 0.061 |
30 | EvolveGCNO | 0.6 | 4 | nearest | IT-STGCN | 1.248 | 0.072 |
31 | EvolveGCNO | 0.6 | 4 | nearest | STGCN | 1.321 | 0.094 |
36 | GCLSTM | 0.6 | 4 | linear | IT-STGCN | 1.260 | 0.084 |
37 | GCLSTM | 0.6 | 4 | linear | STGCN | 1.340 | 0.059 |
38 | GCLSTM | 0.6 | 4 | nearest | IT-STGCN | 1.231 | 0.044 |
39 | GCLSTM | 0.6 | 4 | nearest | STGCN | 1.355 | 0.068 |
44 | GConvGRU | 0.6 | 4 | linear | IT-STGCN | 1.434 | 0.222 |
45 | GConvGRU | 0.6 | 4 | linear | STGCN | 1.678 | 0.211 |
46 | GConvGRU | 0.6 | 4 | nearest | IT-STGCN | 1.410 | 0.208 |
47 | GConvGRU | 0.6 | 4 | nearest | STGCN | 1.771 | 0.220 |
52 | GConvLSTM | 0.6 | 4 | linear | IT-STGCN | 1.312 | 0.162 |
53 | GConvLSTM | 0.6 | 4 | linear | STGCN | 1.498 | 0.083 |
54 | GConvLSTM | 0.6 | 4 | nearest | IT-STGCN | 1.313 | 0.205 |
55 | GConvLSTM | 0.6 | 4 | nearest | STGCN | 1.503 | 0.101 |
60 | LRGCN | 0.6 | 4 | linear | IT-STGCN | 1.265 | 0.100 |
61 | LRGCN | 0.6 | 4 | linear | STGCN | 1.466 | 0.085 |
62 | LRGCN | 0.6 | 4 | nearest | IT-STGCN | 1.331 | 0.120 |
63 | LRGCN | 0.6 | 4 | nearest | STGCN | 1.453 | 0.115 |
68 | TGCN | 0.6 | 4 | linear | IT-STGCN | 1.304 | 0.129 |
69 | TGCN | 0.6 | 4 | linear | STGCN | 1.299 | 0.076 |
70 | TGCN | 0.6 | 4 | nearest | IT-STGCN | 1.338 | 0.202 |
71 | TGCN | 0.6 | 4 | nearest | STGCN | 1.297 | 0.093 |
- conclusion table
"dataset == 'pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset == 'pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4 and inter_method=='linear'") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.286 | 4 | linear | IT-STGCN | 1.145 | 0.013 |
1 | DCRNN | 0.286 | 4 | linear | STGCN | 1.295 | 0.019 |
4 | DyGrEncoder | 0.286 | 4 | linear | IT-STGCN | 1.196 | 0.055 |
5 | DyGrEncoder | 0.286 | 4 | linear | STGCN | 1.224 | 0.037 |
8 | EvolveGCNH | 0.286 | 4 | linear | IT-STGCN | 1.188 | 0.042 |
9 | EvolveGCNH | 0.286 | 4 | linear | STGCN | 1.230 | 0.056 |
12 | EvolveGCNO | 0.286 | 4 | linear | IT-STGCN | 1.204 | 0.033 |
13 | EvolveGCNO | 0.286 | 4 | linear | STGCN | 1.210 | 0.058 |
16 | GCLSTM | 0.286 | 4 | linear | IT-STGCN | 1.182 | 0.045 |
17 | GCLSTM | 0.286 | 4 | linear | STGCN | 1.225 | 0.030 |
20 | GConvGRU | 0.286 | 4 | linear | IT-STGCN | 1.391 | 0.151 |
21 | GConvGRU | 0.286 | 4 | linear | STGCN | 1.420 | 0.110 |
24 | GConvLSTM | 0.286 | 4 | linear | IT-STGCN | 1.329 | 0.120 |
25 | GConvLSTM | 0.286 | 4 | linear | STGCN | 1.372 | 0.199 |
28 | LRGCN | 0.286 | 4 | linear | IT-STGCN | 1.201 | 0.081 |
29 | LRGCN | 0.286 | 4 | linear | STGCN | 1.227 | 0.070 |
32 | TGCN | 0.286 | 4 | linear | IT-STGCN | 1.243 | 0.110 |
33 | TGCN | 0.286 | 4 | linear | STGCN | 1.176 | 0.068 |
"dataset == 'pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset == 'pedalme' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags','inter_method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("lags==4") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.286 | 4 | linear | IT-STGCN | 1.145 | 0.013 |
1 | DCRNN | 0.286 | 4 | linear | STGCN | 1.295 | 0.019 |
2 | DCRNN | 0.286 | 4 | nearest | IT-STGCN | 1.143 | 0.011 |
3 | DCRNN | 0.286 | 4 | nearest | STGCN | 1.310 | 0.019 |
4 | DyGrEncoder | 0.286 | 4 | linear | IT-STGCN | 1.196 | 0.055 |
5 | DyGrEncoder | 0.286 | 4 | linear | STGCN | 1.224 | 0.037 |
6 | DyGrEncoder | 0.286 | 4 | nearest | IT-STGCN | 1.204 | 0.063 |
7 | DyGrEncoder | 0.286 | 4 | nearest | STGCN | 1.246 | 0.043 |
8 | EvolveGCNH | 0.286 | 4 | linear | IT-STGCN | 1.188 | 0.042 |
9 | EvolveGCNH | 0.286 | 4 | linear | STGCN | 1.230 | 0.056 |
10 | EvolveGCNH | 0.286 | 4 | nearest | IT-STGCN | 1.195 | 0.037 |
11 | EvolveGCNH | 0.286 | 4 | nearest | STGCN | 1.240 | 0.062 |
12 | EvolveGCNO | 0.286 | 4 | linear | IT-STGCN | 1.204 | 0.033 |
13 | EvolveGCNO | 0.286 | 4 | linear | STGCN | 1.210 | 0.058 |
14 | EvolveGCNO | 0.286 | 4 | nearest | IT-STGCN | 1.211 | 0.033 |
15 | EvolveGCNO | 0.286 | 4 | nearest | STGCN | 1.241 | 0.095 |
16 | GCLSTM | 0.286 | 4 | linear | IT-STGCN | 1.182 | 0.045 |
17 | GCLSTM | 0.286 | 4 | linear | STGCN | 1.225 | 0.030 |
18 | GCLSTM | 0.286 | 4 | nearest | IT-STGCN | 1.185 | 0.035 |
19 | GCLSTM | 0.286 | 4 | nearest | STGCN | 1.249 | 0.027 |
20 | GConvGRU | 0.286 | 4 | linear | IT-STGCN | 1.391 | 0.151 |
21 | GConvGRU | 0.286 | 4 | linear | STGCN | 1.420 | 0.110 |
22 | GConvGRU | 0.286 | 4 | nearest | IT-STGCN | 1.361 | 0.114 |
23 | GConvGRU | 0.286 | 4 | nearest | STGCN | 1.430 | 0.145 |
24 | GConvLSTM | 0.286 | 4 | linear | IT-STGCN | 1.329 | 0.120 |
25 | GConvLSTM | 0.286 | 4 | linear | STGCN | 1.372 | 0.199 |
26 | GConvLSTM | 0.286 | 4 | nearest | IT-STGCN | 1.310 | 0.151 |
27 | GConvLSTM | 0.286 | 4 | nearest | STGCN | 1.459 | 0.153 |
28 | LRGCN | 0.286 | 4 | linear | IT-STGCN | 1.201 | 0.081 |
29 | LRGCN | 0.286 | 4 | linear | STGCN | 1.227 | 0.070 |
30 | LRGCN | 0.286 | 4 | nearest | IT-STGCN | 1.197 | 0.106 |
31 | LRGCN | 0.286 | 4 | nearest | STGCN | 1.347 | 0.117 |
32 | TGCN | 0.286 | 4 | linear | IT-STGCN | 1.243 | 0.110 |
33 | TGCN | 0.286 | 4 | linear | STGCN | 1.176 | 0.068 |
34 | TGCN | 0.286 | 4 | nearest | IT-STGCN | 1.237 | 0.083 |
35 | TGCN | 0.286 | 4 | nearest | STGCN | 1.258 | 0.064 |
WikiMathsDatasetLoader (lags=8)
"model=='GNAR' and dataset=='wikimath'") df.query(
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
26545 | wikimath | GNAR | 0.000000 | NaN | 8 | NaN | NaN | NaN | 1.353637 | 228.561262 | GNAR |
26546 | wikimath | GNAR | 0.300000 | rand | 8 | NaN | linear | NaN | 1.353637 | 214.543727 | GNAR |
26547 | wikimath | GNAR | 0.800000 | rand | 8 | NaN | linear | NaN | 1.353637 | 204.452467 | GNAR |
26548 | wikimath | GNAR | 0.000000 | NaN | 8 | NaN | NaN | NaN | 1.353637 | 129.201734 | GNAR |
26549 | wikimath | GNAR | 0.300000 | rand | 8 | NaN | linear | NaN | 1.353637 | 193.721538 | GNAR |
26550 | wikimath | GNAR | 0.800000 | rand | 8 | NaN | linear | NaN | 1.353637 | 188.391585 | GNAR |
26551 | wikimath | GNAR | 0.000000 | NaN | 8 | NaN | NaN | NaN | 1.353637 | 115.926373 | GNAR |
26552 | wikimath | GNAR | 0.300000 | rand | 8 | NaN | linear | NaN | 1.353637 | 223.202336 | GNAR |
26553 | wikimath | GNAR | 0.800000 | rand | 8 | NaN | linear | NaN | 1.353637 | 126.158856 | GNAR |
26578 | wikimath | GNAR | 0.119837 | block | 8 | NaN | linear | NaN | 1.353637 | 114.421239 | GNAR |
26579 | wikimath | GNAR | 0.119837 | block | 8 | NaN | linear | NaN | 1.353637 | 214.541294 | GNAR |
26580 | wikimath | GNAR | 0.119837 | block | 8 | NaN | linear | NaN | 1.353637 | 269.699585 | GNAR |
Baseline
"dataset=='wikimath' and mrate==0").groupby(['model','lags','nof_filters','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='wikimath' and mrate==0").groupby(['model','lags','nof_filters','method'])['mse'].std().reset_index(),
df.query(=['model','lags','nof_filters','method']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | lags | nof_filters | method | mean | std | |
---|---|---|---|---|---|---|
0 | DCRNN | 8 | 12.0 | IT-STGCN | 0.582 | 0.006 |
1 | DCRNN | 8 | 12.0 | STGCN | 0.580 | 0.006 |
2 | DyGrEncoder | 8 | 12.0 | IT-STGCN | 0.563 | 0.030 |
3 | DyGrEncoder | 8 | 12.0 | STGCN | 0.560 | 0.029 |
4 | EvolveGCNH | 8 | 12.0 | IT-STGCN | 0.784 | 0.027 |
5 | EvolveGCNH | 8 | 12.0 | STGCN | 0.771 | 0.028 |
6 | EvolveGCNO | 8 | 12.0 | IT-STGCN | 0.735 | 0.023 |
7 | EvolveGCNO | 8 | 12.0 | STGCN | 0.734 | 0.025 |
8 | GCLSTM | 8 | 64.0 | IT-STGCN | 0.643 | 0.024 |
9 | GCLSTM | 8 | 64.0 | STGCN | 0.645 | 0.018 |
10 | GConvGRU | 8 | 12.0 | IT-STGCN | 0.529 | 0.003 |
11 | GConvGRU | 8 | 12.0 | STGCN | 0.528 | 0.003 |
12 | GConvLSTM | 8 | 64.0 | IT-STGCN | 0.626 | 0.015 |
13 | GConvLSTM | 8 | 64.0 | STGCN | 0.640 | 0.031 |
14 | LRGCN | 8 | 32.0 | IT-STGCN | 0.610 | 0.017 |
15 | LRGCN | 8 | 32.0 | STGCN | 0.608 | 0.014 |
16 | TGCN | 8 | 12.0 | IT-STGCN | 0.730 | 0.030 |
17 | TGCN | 8 | 12.0 | STGCN | 0.732 | 0.035 |
Random
= plt.subplots(3, 3,figsize=(40,20))
fig, ax
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==8 and epoch==50 and model=='GConvGRU'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,0],grid=False,widths=0.5)
iloc[:,[0,0].set_title('GConvGRU')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==64 and lags==8 and epoch==50 and model=='GConvLSTM'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,1],grid=False,widths=0.5)
iloc[:,[0,1].set_title('GConvLSTM')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==64 and lags==8 and epoch==50 and model=='GCLSTM'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[0,2],grid=False,widths=0.5)
iloc[:,[0,2].set_title('GCLSTM')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==32 and lags==8 and epoch==50 and model=='LRGCN'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,0],grid=False,widths=0.5)
iloc[:,[1,0].set_title('LRGCN')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==8 and epoch==50 and model=='DyGrEncoder'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,1],grid=False,widths=0.5)
iloc[:,[1,1].set_title('DyGrEncoder')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and lags==8 and epoch==50 and model=='EvolveGCNH'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[1,2],grid=False,widths=0.5)
iloc[:,[1,2].set_title('EvolveGCNH')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and lags==8 and epoch==50 and model=='EvolveGCNO'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,0],grid=False,widths=0.5)
iloc[:,[2,0].set_title('EvolveGCNO')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==8 and epoch==50 and model=='TGCN'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,1],grid=False,widths=0.5)
iloc[:,[2,1].set_title('TGCN')
ax[
"dataset=='wikimath' and mtype=='rand' and inter_method == 'linear' and nof_filters==12 and lags==8 and epoch==50 and model=='DCRNN'").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax[2,2],grid=False,widths=0.5)
iloc[:,[2,2].set_title('DCRNN')
ax[
for ax in ax.flat:
ax.set_yticklabels([])=2.5, color='black', linestyle='-')
ax.axvline(x=4.5, color='black', linestyle='-')
ax.axvline(x=6.5, color='black', linestyle='-')
ax.axvline(x=8.5, color='black', linestyle='-')
ax.axvline(x# ax.set_xticklabels(['IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN','IT-TGNN','TGNN'])
'')
ax.set_xlabel('')
ax.set_ylabel(
'',fontsize=40) fig.suptitle(
Text(0.5, 0.98, '')
"dataset=='wikimath' and mtype=='rand'").groupby(['model','mrate','lags','nof_filters','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='wikimath' and mtype=='rand'").groupby(['model','mrate','lags','nof_filters','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','nof_filters','mrate','inter_method','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate == 0.3") on
model | mrate | lags | nof_filters | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|---|
0 | DCRNN | 0.3 | 8 | 12.0 | linear | IT-STGCN | 0.588 | 0.007 |
1 | DCRNN | 0.3 | 8 | 12.0 | linear | STGCN | 0.603 | 0.010 |
8 | DyGrEncoder | 0.3 | 8 | 12.0 | linear | IT-STGCN | 0.578 | 0.031 |
9 | DyGrEncoder | 0.3 | 8 | 12.0 | linear | STGCN | 0.562 | 0.016 |
16 | EvolveGCNH | 0.3 | 8 | 12.0 | linear | IT-STGCN | 0.775 | 0.021 |
17 | EvolveGCNH | 0.3 | 8 | 12.0 | linear | STGCN | 0.787 | 0.024 |
24 | EvolveGCNO | 0.3 | 8 | 12.0 | linear | IT-STGCN | 0.738 | 0.018 |
25 | EvolveGCNO | 0.3 | 8 | 12.0 | linear | STGCN | 0.743 | 0.024 |
32 | GCLSTM | 0.3 | 8 | 64.0 | linear | IT-STGCN | 0.628 | 0.020 |
33 | GCLSTM | 0.3 | 8 | 64.0 | linear | STGCN | 0.674 | 0.020 |
40 | GConvGRU | 0.3 | 8 | 12.0 | linear | IT-STGCN | 0.518 | 0.002 |
41 | GConvGRU | 0.3 | 8 | 12.0 | linear | STGCN | 0.570 | 0.006 |
48 | GConvLSTM | 0.3 | 8 | 64.0 | linear | IT-STGCN | 0.631 | 0.019 |
49 | GConvLSTM | 0.3 | 8 | 64.0 | linear | STGCN | 0.764 | 0.057 |
56 | LRGCN | 0.3 | 8 | 32.0 | linear | IT-STGCN | 0.619 | 0.019 |
57 | LRGCN | 0.3 | 8 | 32.0 | linear | STGCN | 0.689 | 0.032 |
64 | TGCN | 0.3 | 8 | 12.0 | linear | IT-STGCN | 0.739 | 0.040 |
65 | TGCN | 0.3 | 8 | 12.0 | linear | STGCN | 0.734 | 0.027 |
"dataset=='wikimath' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='wikimath' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','inter_method','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("mrate != 0.3") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
2 | DCRNN | 0.5 | 8 | linear | IT-STGCN | 0.590 | 0.006 |
3 | DCRNN | 0.5 | 8 | linear | STGCN | 0.652 | 0.015 |
4 | DCRNN | 0.6 | 8 | linear | IT-STGCN | 0.592 | 0.005 |
5 | DCRNN | 0.6 | 8 | linear | STGCN | 0.688 | 0.011 |
6 | DCRNN | 0.8 | 8 | linear | IT-STGCN | 0.672 | 0.007 |
7 | DCRNN | 0.8 | 8 | linear | STGCN | 0.846 | 0.031 |
10 | DyGrEncoder | 0.5 | 8 | linear | IT-STGCN | 0.565 | 0.024 |
11 | DyGrEncoder | 0.5 | 8 | linear | STGCN | 0.614 | 0.024 |
12 | DyGrEncoder | 0.6 | 8 | linear | IT-STGCN | 0.566 | 0.021 |
13 | DyGrEncoder | 0.6 | 8 | linear | STGCN | 0.644 | 0.032 |
14 | DyGrEncoder | 0.8 | 8 | linear | IT-STGCN | 0.606 | 0.017 |
15 | DyGrEncoder | 0.8 | 8 | linear | STGCN | 0.770 | 0.045 |
18 | EvolveGCNH | 0.5 | 8 | linear | IT-STGCN | 0.791 | 0.029 |
19 | EvolveGCNH | 0.5 | 8 | linear | STGCN | 0.804 | 0.026 |
20 | EvolveGCNH | 0.6 | 8 | linear | IT-STGCN | 0.795 | 0.025 |
21 | EvolveGCNH | 0.6 | 8 | linear | STGCN | 0.843 | 0.042 |
22 | EvolveGCNH | 0.8 | 8 | linear | IT-STGCN | 0.877 | 0.045 |
23 | EvolveGCNH | 0.8 | 8 | linear | STGCN | 0.915 | 0.063 |
26 | EvolveGCNO | 0.5 | 8 | linear | IT-STGCN | 0.744 | 0.021 |
27 | EvolveGCNO | 0.5 | 8 | linear | STGCN | 0.759 | 0.021 |
28 | EvolveGCNO | 0.6 | 8 | linear | IT-STGCN | 0.745 | 0.019 |
29 | EvolveGCNO | 0.6 | 8 | linear | STGCN | 0.775 | 0.026 |
30 | EvolveGCNO | 0.8 | 8 | linear | IT-STGCN | 0.780 | 0.027 |
31 | EvolveGCNO | 0.8 | 8 | linear | STGCN | 0.863 | 0.038 |
34 | GCLSTM | 0.5 | 8 | linear | IT-STGCN | 0.626 | 0.010 |
35 | GCLSTM | 0.5 | 8 | linear | STGCN | 0.825 | 0.045 |
36 | GCLSTM | 0.6 | 8 | linear | IT-STGCN | 0.650 | 0.021 |
37 | GCLSTM | 0.6 | 8 | linear | STGCN | 0.942 | 0.078 |
38 | GCLSTM | 0.8 | 8 | linear | IT-STGCN | 0.815 | 0.058 |
39 | GCLSTM | 0.8 | 8 | linear | STGCN | 1.407 | 0.117 |
42 | GConvGRU | 0.5 | 8 | linear | IT-STGCN | 0.524 | 0.003 |
43 | GConvGRU | 0.5 | 8 | linear | STGCN | 0.658 | 0.010 |
44 | GConvGRU | 0.6 | 8 | linear | IT-STGCN | 0.539 | 0.004 |
45 | GConvGRU | 0.6 | 8 | linear | STGCN | 0.731 | 0.015 |
46 | GConvGRU | 0.8 | 8 | linear | IT-STGCN | 0.687 | 0.021 |
47 | GConvGRU | 0.8 | 8 | linear | STGCN | 0.932 | 0.043 |
50 | GConvLSTM | 0.5 | 8 | linear | IT-STGCN | 0.669 | 0.034 |
51 | GConvLSTM | 0.5 | 8 | linear | STGCN | 0.965 | 0.077 |
52 | GConvLSTM | 0.6 | 8 | linear | IT-STGCN | 0.731 | 0.048 |
53 | GConvLSTM | 0.6 | 8 | linear | STGCN | 1.104 | 0.078 |
54 | GConvLSTM | 0.8 | 8 | linear | IT-STGCN | 0.920 | 0.069 |
55 | GConvLSTM | 0.8 | 8 | linear | STGCN | 1.423 | 0.121 |
57 | GNAR | 0.8 | 8 | linear | GNAR | 1.354 | 0.000 |
60 | LRGCN | 0.5 | 8 | linear | IT-STGCN | 0.621 | 0.015 |
61 | LRGCN | 0.5 | 8 | linear | STGCN | 0.838 | 0.054 |
62 | LRGCN | 0.6 | 8 | linear | IT-STGCN | 0.648 | 0.024 |
63 | LRGCN | 0.6 | 8 | linear | STGCN | 0.917 | 0.063 |
64 | LRGCN | 0.8 | 8 | linear | IT-STGCN | 0.769 | 0.045 |
65 | LRGCN | 0.8 | 8 | linear | STGCN | 1.105 | 0.099 |
68 | TGCN | 0.5 | 8 | linear | IT-STGCN | 0.757 | 0.046 |
69 | TGCN | 0.5 | 8 | linear | STGCN | 0.757 | 0.034 |
70 | TGCN | 0.6 | 8 | linear | IT-STGCN | 0.742 | 0.030 |
71 | TGCN | 0.6 | 8 | linear | STGCN | 0.774 | 0.025 |
72 | TGCN | 0.8 | 8 | linear | IT-STGCN | 0.771 | 0.020 |
73 | TGCN | 0.8 | 8 | linear | STGCN | 0.827 | 0.030 |
Block
"dataset=='wikimath' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='wikimath' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','inter_method','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.120 | 8 | linear | IT-STGCN | 0.583 | 0.006 |
1 | DCRNN | 0.120 | 8 | linear | STGCN | 0.578 | 0.005 |
2 | DyGrEncoder | 0.120 | 8 | linear | IT-STGCN | 0.563 | 0.025 |
3 | DyGrEncoder | 0.120 | 8 | linear | STGCN | 0.546 | 0.016 |
4 | EvolveGCNH | 0.120 | 8 | linear | IT-STGCN | 0.776 | 0.028 |
5 | EvolveGCNH | 0.120 | 8 | linear | STGCN | 0.773 | 0.021 |
6 | EvolveGCNO | 0.120 | 8 | linear | IT-STGCN | 0.732 | 0.025 |
7 | EvolveGCNO | 0.120 | 8 | linear | STGCN | 0.735 | 0.022 |
8 | GCLSTM | 0.120 | 8 | linear | IT-STGCN | 0.640 | 0.019 |
9 | GCLSTM | 0.120 | 8 | linear | STGCN | 0.638 | 0.013 |
10 | GConvGRU | 0.004 | 8 | linear | IT-STGCN | 0.529 | 0.003 |
11 | GConvGRU | 0.004 | 8 | linear | STGCN | 0.528 | 0.003 |
12 | GConvGRU | 0.096 | 8 | linear | IT-STGCN | 0.529 | 0.004 |
13 | GConvGRU | 0.096 | 8 | linear | STGCN | 0.544 | 0.011 |
14 | GConvGRU | 0.120 | 8 | linear | IT-STGCN | 0.523 | 0.002 |
15 | GConvGRU | 0.120 | 8 | linear | STGCN | 0.531 | 0.002 |
16 | GConvLSTM | 0.120 | 8 | linear | IT-STGCN | 0.627 | 0.014 |
17 | GConvLSTM | 0.120 | 8 | linear | STGCN | 0.660 | 0.034 |
18 | GNAR | 0.120 | 8 | linear | GNAR | 1.354 | 0.000 |
19 | LRGCN | 0.120 | 8 | linear | IT-STGCN | 0.608 | 0.012 |
20 | LRGCN | 0.120 | 8 | linear | STGCN | 0.624 | 0.024 |
21 | TGCN | 0.120 | 8 | linear | IT-STGCN | 0.748 | 0.046 |
22 | TGCN | 0.120 | 8 | linear | STGCN | 0.741 | 0.046 |
missing values on the same nodes
"dataset=='wikimath'").groupby(['model','mrate','lags','method'])['mse'].mean().reset_index(),
pd.merge(df2.query("dataset=='wikimath'").groupby(['model','mrate','lags','method'])['mse'].std().reset_index(),
df2.query(=['model','method','mrate','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | lags | method | mean | std | |
---|---|---|---|---|---|---|
0 | DCRNN | 0.512 | 8 | IT-STGCN | 0.592 | 0.005 |
1 | DCRNN | 0.512 | 8 | STGCN | 0.665 | 0.015 |
2 | DyGrEncoder | 0.512 | 8 | IT-STGCN | 0.561 | 0.031 |
3 | DyGrEncoder | 0.512 | 8 | STGCN | 0.626 | 0.027 |
4 | EvolveGCNH | 0.512 | 8 | IT-STGCN | 0.794 | 0.031 |
5 | EvolveGCNH | 0.512 | 8 | STGCN | 0.818 | 0.031 |
6 | EvolveGCNO | 0.512 | 8 | IT-STGCN | 0.745 | 0.017 |
7 | EvolveGCNO | 0.512 | 8 | STGCN | 0.753 | 0.026 |
8 | GCLSTM | 0.512 | 8 | IT-STGCN | 0.617 | 0.011 |
9 | GCLSTM | 0.512 | 8 | STGCN | 0.823 | 0.048 |
10 | GConvGRU | 0.512 | 8 | IT-STGCN | 0.533 | 0.003 |
11 | GConvGRU | 0.512 | 8 | STGCN | 0.726 | 0.015 |
12 | GConvLSTM | 0.512 | 8 | IT-STGCN | 0.653 | 0.033 |
13 | GConvLSTM | 0.512 | 8 | STGCN | 0.963 | 0.098 |
14 | GNAR | 0.512 | 8 | GNAR | 1.354 | 0.000 |
15 | LRGCN | 0.512 | 8 | IT-STGCN | 0.624 | 0.019 |
16 | LRGCN | 0.512 | 8 | STGCN | 0.810 | 0.064 |
17 | TGCN | 0.512 | 8 | IT-STGCN | 0.750 | 0.039 |
18 | TGCN | 0.512 | 8 | STGCN | 0.782 | 0.030 |
Windmillsmall(lags=8)
"model=='GNAR' and dataset=='windmillsmall'") df.query(
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
26584 | windmillsmall | GNAR | 0.081291 | block | 8 | NaN | linear | NaN | 1.64923 | 3.428970 | GNAR |
26585 | windmillsmall | GNAR | 0.081291 | block | 8 | NaN | linear | NaN | 1.64923 | 3.492012 | GNAR |
26586 | windmillsmall | GNAR | 0.081291 | block | 8 | NaN | linear | NaN | 1.64923 | 2.916400 | GNAR |
26587 | windmillsmall | GNAR | 0.000000 | NaN | 8 | NaN | NaN | NaN | 1.64923 | 2.513212 | GNAR |
26588 | windmillsmall | GNAR | 0.700000 | rand | 8 | NaN | nearest | NaN | 1.64923 | 3.334994 | GNAR |
26589 | windmillsmall | GNAR | 0.000000 | NaN | 8 | NaN | NaN | NaN | 1.64923 | 2.116200 | GNAR |
26590 | windmillsmall | GNAR | 0.700000 | rand | 8 | NaN | nearest | NaN | 1.64923 | 2.391699 | GNAR |
26591 | windmillsmall | GNAR | 0.000000 | NaN | 8 | NaN | NaN | NaN | 1.64923 | 3.406726 | GNAR |
26592 | windmillsmall | GNAR | 0.700000 | rand | 8 | NaN | nearest | NaN | 1.64923 | 2.586957 | GNAR |
Baseline
"dataset=='windmillsmall' and mrate==0").groupby(['model','lags'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='windmillsmall' and mrate==0").groupby(['model','lags'])['mse'].std().reset_index(),
df.query(=['model','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | lags | mean | std | |
---|---|---|---|---|
0 | DCRNN | 8 | 0.988 | 0.003 |
1 | DyGrEncoder | 8 | 0.988 | 0.008 |
2 | EvolveGCNH | 8 | 0.986 | 0.002 |
3 | EvolveGCNO | 8 | 0.983 | 0.001 |
4 | GCLSTM | 8 | 0.992 | 0.010 |
5 | GConvGRU | 8 | 1.003 | 0.004 |
6 | GConvLSTM | 8 | 1.019 | 0.045 |
7 | GNAR | 8 | 1.649 | 0.000 |
8 | LRGCN | 8 | 0.987 | 0.006 |
9 | TGCN | 8 | 0.991 | 0.010 |
Random
= plt.subplots(nrows=1, ncols=1, figsize=(50, 6), sharey=True)
fig, ((ax1)) "dataset=='windmillsmall' and mtype=='rand' and inter_method == 'linear' and lags==8 and epoch==50").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax1,grid=False,widths=0.5) iloc[:,[
"dataset=='windmillsmall' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='windmillsmall' and mtype=='rand'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','inter_method','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.7 | 8 | linear | IT-STGCN | 1.117 | 0.034 |
1 | DCRNN | 0.7 | 8 | linear | STGCN | 1.348 | 0.057 |
2 | DyGrEncoder | 0.7 | 8 | linear | IT-STGCN | 1.127 | 0.009 |
3 | DyGrEncoder | 0.7 | 8 | linear | STGCN | 1.709 | 0.074 |
4 | EvolveGCNH | 0.7 | 8 | linear | IT-STGCN | 1.129 | 0.035 |
5 | EvolveGCNH | 0.7 | 8 | linear | STGCN | 1.330 | 0.137 |
6 | EvolveGCNO | 0.7 | 8 | linear | IT-STGCN | 1.149 | 0.026 |
7 | EvolveGCNO | 0.7 | 8 | linear | STGCN | 1.495 | 0.137 |
8 | GCLSTM | 0.7 | 8 | linear | IT-STGCN | 1.116 | 0.021 |
9 | GCLSTM | 0.7 | 8 | linear | STGCN | 1.573 | 0.105 |
10 | GConvGRU | 0.7 | 8 | linear | IT-STGCN | 1.194 | 0.042 |
11 | GConvGRU | 0.7 | 8 | linear | STGCN | 1.662 | 0.073 |
12 | GConvLSTM | 0.7 | 8 | linear | IT-STGCN | 1.142 | 0.021 |
13 | GConvLSTM | 0.7 | 8 | linear | STGCN | 1.599 | 0.057 |
14 | GNAR | 0.7 | 8 | nearest | GNAR | 1.649 | 0.000 |
15 | LRGCN | 0.7 | 8 | linear | IT-STGCN | 1.110 | 0.012 |
16 | LRGCN | 0.7 | 8 | linear | STGCN | 1.492 | 0.087 |
17 | TGCN | 0.7 | 8 | linear | IT-STGCN | 1.071 | 0.010 |
18 | TGCN | 0.7 | 8 | linear | STGCN | 1.305 | 0.039 |
Block
"dataset=='windmillsmall' and mtype=='block'").groupby(['model','mrate','nof_filters','lags','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='windmillsmall' and mtype=='block'").groupby(['model','mrate','nof_filters','lags','method'])['mse'].std().reset_index(),
df.query(=['model','method','nof_filters','mrate','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | nof_filters | lags | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.081 | 4.0 | 8 | IT-STGCN | 0.983 | 0.002 |
1 | DCRNN | 0.081 | 4.0 | 8 | STGCN | 0.994 | 0.005 |
2 | DyGrEncoder | 0.081 | 12.0 | 8 | IT-STGCN | 0.985 | 0.005 |
3 | DyGrEncoder | 0.081 | 12.0 | 8 | STGCN | 0.985 | 0.003 |
4 | EvolveGCNH | 0.081 | 12.0 | 8 | IT-STGCN | 0.986 | 0.003 |
5 | EvolveGCNH | 0.081 | 12.0 | 8 | STGCN | 0.993 | 0.003 |
6 | EvolveGCNO | 0.081 | 12.0 | 8 | IT-STGCN | 0.983 | 0.002 |
7 | EvolveGCNO | 0.081 | 12.0 | 8 | STGCN | 0.990 | 0.002 |
8 | GCLSTM | 0.081 | 16.0 | 8 | IT-STGCN | 0.985 | 0.003 |
9 | GCLSTM | 0.081 | 16.0 | 8 | STGCN | 0.985 | 0.002 |
10 | GConvGRU | 0.081 | 12.0 | 8 | IT-STGCN | 1.007 | 0.005 |
11 | GConvGRU | 0.081 | 12.0 | 8 | STGCN | 1.008 | 0.006 |
12 | GConvLSTM | 0.081 | 16.0 | 8 | IT-STGCN | 0.997 | 0.022 |
13 | GConvLSTM | 0.081 | 16.0 | 8 | STGCN | 0.989 | 0.009 |
14 | LRGCN | 0.081 | 12.0 | 8 | IT-STGCN | 0.985 | 0.002 |
15 | LRGCN | 0.081 | 12.0 | 8 | STGCN | 0.985 | 0.003 |
16 | TGCN | 0.081 | 12.0 | 8 | IT-STGCN | 0.992 | 0.015 |
17 | TGCN | 0.081 | 12.0 | 8 | STGCN | 0.999 | 0.013 |
Montevideobus (lags=4)
"model=='GNAR' and dataset=='monte'") df.query(
dataset | method | mrate | mtype | lags | nof_filters | inter_method | epoch | mse | calculation_time | model | |
---|---|---|---|---|---|---|---|---|---|---|---|
26554 | monte | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.061937 | 6.576898 | GNAR |
26555 | monte | GNAR | 0.800000 | rand | 4 | NaN | nearest | NaN | 1.061937 | 4.220497 | GNAR |
26556 | monte | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.061937 | 4.429234 | GNAR |
26557 | monte | GNAR | 0.800000 | rand | 4 | NaN | nearest | NaN | 1.061937 | 4.886660 | GNAR |
26558 | monte | GNAR | 0.000000 | NaN | 4 | NaN | NaN | NaN | 1.061937 | 4.879432 | GNAR |
26559 | monte | GNAR | 0.800000 | rand | 4 | NaN | nearest | NaN | 1.061937 | 4.814065 | GNAR |
26581 | monte | GNAR | 0.149142 | block | 4 | NaN | nearest | NaN | 1.061937 | 4.948565 | GNAR |
26582 | monte | GNAR | 0.149142 | block | 4 | NaN | nearest | NaN | 1.061937 | 2.942073 | GNAR |
26583 | monte | GNAR | 0.149142 | block | 4 | NaN | nearest | NaN | 1.061937 | 5.179985 | GNAR |
Baseline
"dataset=='monte' and mrate==0").groupby(['model','lags'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='monte' and mrate==0").groupby(['model','lags'])['mse'].std().reset_index(),
df.query(=['model','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | lags | mean | std | |
---|---|---|---|---|
0 | DCRNN | 4 | 0.936 | 0.002 |
1 | DyGrEncoder | 4 | 0.995 | 0.034 |
2 | EvolveGCNH | 4 | 1.182 | 0.192 |
3 | EvolveGCNO | 4 | 1.157 | 0.182 |
4 | GCLSTM | 4 | 0.970 | 0.011 |
5 | GConvGRU | 4 | 0.931 | 0.002 |
6 | GConvLSTM | 4 | 0.960 | 0.011 |
7 | GNAR | 4 | 1.062 | 0.000 |
8 | LRGCN | 4 | 0.980 | 0.024 |
9 | TGCN | 4 | 0.983 | 0.006 |
Random
= plt.subplots(nrows=1, ncols=1, figsize=(50, 6), sharey=True)
fig, ((ax1)) "dataset=='monte' and mtype=='rand' and inter_method == 'nearest' and lags==4 and epoch==50").\
df.query(1,2,8,10]].boxplot(by=['model','mrate','method'],ax=ax1,grid=False,widths=0.5) iloc[:,[
"dataset=='monte' and mtype=='rand'").groupby(['model','mrate','nof_filters','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='monte' and mtype=='rand'").groupby(['model','mrate','nof_filters','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','mrate','nof_filters','inter_method','method','mrate','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | nof_filters | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|---|
0 | DCRNN | 0.3 | 12.0 | 4 | nearest | IT-STGCN | 0.938 | 0.001 |
1 | DCRNN | 0.3 | 12.0 | 4 | nearest | STGCN | 1.008 | 0.006 |
2 | DCRNN | 0.5 | 12.0 | 4 | nearest | IT-STGCN | 0.948 | 0.002 |
3 | DCRNN | 0.5 | 12.0 | 4 | nearest | STGCN | 1.119 | 0.025 |
4 | DCRNN | 0.7 | 12.0 | 4 | nearest | IT-STGCN | 1.031 | 0.018 |
... | ... | ... | ... | ... | ... | ... | ... | ... |
67 | TGCN | 0.5 | 8.0 | 4 | nearest | STGCN | 1.100 | 0.036 |
68 | TGCN | 0.7 | 8.0 | 4 | nearest | IT-STGCN | 1.030 | 0.010 |
69 | TGCN | 0.7 | 8.0 | 4 | nearest | STGCN | 1.183 | 0.057 |
70 | TGCN | 0.8 | 8.0 | 4 | nearest | IT-STGCN | 1.073 | 0.024 |
71 | TGCN | 0.8 | 8.0 | 4 | nearest | STGCN | 1.218 | 0.086 |
72 rows × 8 columns
Block
"dataset=='monte' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='monte' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','inter_method','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3) on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.149 | 4 | nearest | IT-STGCN | 0.940 | 0.001 |
1 | DCRNN | 0.149 | 4 | nearest | STGCN | 0.956 | 0.003 |
2 | DyGrEncoder | 0.149 | 4 | nearest | IT-STGCN | 1.005 | 0.046 |
3 | DyGrEncoder | 0.149 | 4 | nearest | STGCN | 1.030 | 0.044 |
4 | EvolveGCNH | 0.149 | 4 | nearest | IT-STGCN | 1.392 | 0.110 |
5 | EvolveGCNH | 0.149 | 4 | nearest | STGCN | 1.612 | 0.216 |
6 | EvolveGCNO | 0.149 | 4 | nearest | IT-STGCN | 1.345 | 0.110 |
7 | EvolveGCNO | 0.149 | 4 | nearest | STGCN | 1.766 | 0.123 |
8 | GCLSTM | 0.149 | 4 | nearest | IT-STGCN | 0.959 | 0.008 |
9 | GCLSTM | 0.149 | 4 | nearest | STGCN | 0.956 | 0.005 |
10 | GConvGRU | 0.149 | 4 | cubic | IT-STGCN | 1.023 | 0.021 |
11 | GConvGRU | 0.149 | 4 | cubic | STGCN | 1.028 | 0.031 |
12 | GConvGRU | 0.149 | 4 | linear | IT-STGCN | 0.930 | 0.002 |
13 | GConvGRU | 0.149 | 4 | linear | STGCN | 0.935 | 0.005 |
14 | GConvGRU | 0.149 | 4 | nearest | IT-STGCN | 0.932 | 0.002 |
15 | GConvGRU | 0.149 | 4 | nearest | STGCN | 0.935 | 0.004 |
16 | GConvLSTM | 0.149 | 4 | nearest | IT-STGCN | 0.949 | 0.008 |
17 | GConvLSTM | 0.149 | 4 | nearest | STGCN | 0.950 | 0.005 |
18 | GNAR | 0.149 | 4 | nearest | GNAR | 1.062 | 0.000 |
19 | LRGCN | 0.149 | 4 | nearest | IT-STGCN | 0.978 | 0.024 |
20 | LRGCN | 0.149 | 4 | nearest | STGCN | 0.977 | 0.020 |
21 | TGCN | 0.149 | 4 | nearest | IT-STGCN | 0.984 | 0.007 |
22 | TGCN | 0.149 | 4 | nearest | STGCN | 0.985 | 0.005 |
"dataset=='monte' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].mean().reset_index(),
pd.merge(df.query("dataset=='monte' and mtype=='block'").groupby(['model','mrate','lags','inter_method','method'])['mse'].std().reset_index(),
df.query(=['model','method','mrate','inter_method','lags']).rename(columns={'mse_x':'mean','mse_y':'std'}).round(3).query("inter_method=='nearest'") on
model | mrate | lags | inter_method | method | mean | std | |
---|---|---|---|---|---|---|---|
0 | DCRNN | 0.149 | 4 | nearest | IT-STGCN | 0.940 | 0.001 |
1 | DCRNN | 0.149 | 4 | nearest | STGCN | 0.956 | 0.003 |
2 | DyGrEncoder | 0.149 | 4 | nearest | IT-STGCN | 1.005 | 0.046 |
3 | DyGrEncoder | 0.149 | 4 | nearest | STGCN | 1.030 | 0.044 |
4 | EvolveGCNH | 0.149 | 4 | nearest | IT-STGCN | 1.392 | 0.110 |
5 | EvolveGCNH | 0.149 | 4 | nearest | STGCN | 1.612 | 0.216 |
6 | EvolveGCNO | 0.149 | 4 | nearest | IT-STGCN | 1.345 | 0.110 |
7 | EvolveGCNO | 0.149 | 4 | nearest | STGCN | 1.766 | 0.123 |
8 | GCLSTM | 0.149 | 4 | nearest | IT-STGCN | 0.959 | 0.008 |
9 | GCLSTM | 0.149 | 4 | nearest | STGCN | 0.956 | 0.005 |
14 | GConvGRU | 0.149 | 4 | nearest | IT-STGCN | 0.932 | 0.002 |
15 | GConvGRU | 0.149 | 4 | nearest | STGCN | 0.935 | 0.004 |
16 | GConvLSTM | 0.149 | 4 | nearest | IT-STGCN | 0.949 | 0.008 |
17 | GConvLSTM | 0.149 | 4 | nearest | STGCN | 0.950 | 0.005 |
18 | GNAR | 0.149 | 4 | nearest | GNAR | 1.062 | 0.000 |
19 | LRGCN | 0.149 | 4 | nearest | IT-STGCN | 0.978 | 0.024 |
20 | LRGCN | 0.149 | 4 | nearest | STGCN | 0.977 | 0.020 |
21 | TGCN | 0.149 | 4 | nearest | IT-STGCN | 0.984 | 0.007 |
22 | TGCN | 0.149 | 4 | nearest | STGCN | 0.985 | 0.005 |