GConvGRU_Simulation Boxplot_reshape

ITSTGCN
Author

SEOYEON CHOI

Published

May 25, 2023

Simulation Study

Import

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np

Fivenodes

mindex= [[],[],[],list(range(50,150)),[]] # block 1
mindex= [list(range(10,100)),[],list(range(50,80)),[],[]] # node 2 30% mmissing

block 조건

2023-05-20_09-53-08

epoch 150

df1 = pd.read_csv('./simulation_results/2023-05-26_07-07-05.csv')
df2 = pd.read_csv('./simulation_results/2023-05-27_21-02-01.csv')
df3 = pd.read_csv('./simulation_results/2023-07-14_19-15-30.csv')
df4 = pd.read_csv('./simulation_results/2023-07-14_20-20-12.csv')
df5 = pd.read_csv('./simulation_results/2023-07-14_21-17-16.csv')
df6 = pd.read_csv('./simulation_results/2023-07-14_22-12-52.csv')
df7 = pd.read_csv('./simulation_results/2023-07-14_23-13-30.csv')
df8 = pd.read_csv('./simulation_results/2023-07-15_00-17-49.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/fivedones_Simulation.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/fivedones_Simulation.csv')

Baseline

data.query("method!='GNAR' and mrate==0").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='nof_filters',height=600)
data.query("method!='GNAR' and mtype =='rand'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='mrate',facet_row='inter_method',height=600)
data.query("method!='GNAR' and mtype =='block' ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='lags',height=600)

chickenpox

my_list = [[] for _ in range(20)] #chickenpox
another_list = list(range(100,400))
my_list[1] = another_list
my_list[3] = another_list
my_list[5] = another_list
my_list[7] = another_list
my_list[9] = another_list
my_list[11] = another_list
my_list[13] = another_list
my_list[15] = another_list
mindex = my_list

block 30% missing을 위한 조건

df1 = pd.read_csv('./simulation_results/2023-05-26_18-06-07.csv') # GNAR random
df2 = pd.read_csv('./simulation_results/2023-05-28_16-17-21.csv') # GNAR block
df3 = pd.read_csv('./simulation_results/2023-05-28_20-41-00.csv') # STGCN, ITSTGCN random 30%
df4 = pd.read_csv('./simulation_results/2023-05-29_06-35-52.csv')
df5 = pd.read_csv('./simulation_results/2023-07-15_03-00-24.csv')
df6 = pd.read_csv('./simulation_results/2023-07-15_05-54-45.csv')
df7 = pd.read_csv('./simulation_results/2023-07-15_08-36-29.csv')
df8 = pd.read_csv('./simulation_results/2023-07-15_10-39-42.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/chikenpox_Simulation.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/chikenpox_Simulation.csv')

Baseline

data.query("method!='GNAR' and mrate ==0 ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='nof_filters',height=600)

Random

data.query("method!='GNAR' and mtype =='rand'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='nof_filters',facet_row='inter_method',height=800)

Block

data.query("method!='GNAR' and mtype =='block'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='lags',height=800)

Pedalme

block1

my_list = [[] for _ in range(15)] #pedalme
another_list = list(range(5,25))
my_list[1] = another_list
my_list[3] = another_list
my_list[5] = another_list
my_list[7] = another_list
my_list[9] = another_list
my_list[11] = another_list
mindex = my_list

block 30% missing을 위한 조건

block2

my_list = [[] for _ in range(15)] #pedalme
another_list = list(range(10,25))
my_list[2] = another_list
my_list[4] = another_list
my_list[5] = another_list
my_list[11] = another_list
mindex = my_list

block 30% missing을 위한 조건

df1 = pd.read_csv('./simulation_results/2023-05-25_19-21-30.csv') 
df2 = pd.read_csv('./simulation_results/2023-05-25_19-52-39.csv') 
df3 = pd.read_csv('./simulation_results/2023-07-15_11-17-37.csv')
data = pd.concat([df1,df2,df3],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/pedalme_Simulation.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/pedalme_Simulation.csv')
data.query("method=='STGCN' and mtype == 'rand'")['mse'].mean(),data.query("method=='STGCN' and mtype != 'rand'")['mse'].mean()
(1.687405984600385, 1.263709438840548)
data.query("method=='IT-STGCN' and mtype == 'rand'")['mse'].mean(),data.query("method=='IT-STGCN' and mtype != 'rand'")['mse'].mean()
(1.5345523613194625, 1.2711044977108636)

Baseline

data.query("mrate ==0 ").plot.box(backend='plotly',x='epoch',color='method',y='mse',height=800)

random

data.query("method!='GNAR' and mtype =='rand' ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='inter_method',height=800)

block

data.query("method!='GNAR' and mtype =='block' ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='lags',height=600)

weight matrix time, node 고려한 결과

df1 = pd.read_csv('./simulation_results/2023-05-28_10-40-44.csv')
df2 = pd.read_csv('./simulation_results/2023-05-28_11-09-06.csv')
data2 = pd.concat([df1,df2],axis=0)
data2.to_csv('./simulation_results/Real_simulation_reshape/pedalme_Simulation_itstgcnsnd.csv',index=False)
data2 = pd.read_csv('./simulation_results/Real_simulation_reshape/pedalme_Simulation_itstgcnsnd.csv')
data2.query("mtype=='rand'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='lags',height=1000)
data2.query("mtype=='block'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='lags',height=1000)

Wikimath

df1 = pd.read_csv('./simulation_results/2023-05-26_03-28-39.csv')
df2 = pd.read_csv('./simulation_results/2023-05-27_00-32-12.csv')
df3 = pd.read_csv('./simulation_results/2023-05-27_08-08-15.csv')
df4 = pd.read_csv('./simulation_results/2023-05-27_17-49-17.csv')
df5 = pd.read_csv('./simulation_results/2023-05-28_03-28-19.csv')
df6 = pd.read_csv('./simulation_results/2023-05-28_04-31-07.csv')
df7 = pd.read_csv('./simulation_results/2023-05-28_15-46-26.csv')
df8 = pd.read_csv('./simulation_results/2023-05-29_17-36-54.csv')
df9 = pd.read_csv('./simulation_results/2023-05-30_04-27-01.csv')
df10 = pd.read_csv('./simulation_results/2023-07-15_20-52-25.csv')
df11 = pd.read_csv('./simulation_results/2023-07-16_08-07-41.csv')
df12 = pd.read_csv('./simulation_results/2023-07-16_14-17-47.csv')
df13 = pd.read_csv('./simulation_results/2023-07-16_20-55-00.csv')
df14 = pd.read_csv('./simulation_results/2023-07-17_03-58-38.csv')
df15 = pd.read_csv('./simulation_results/2023-07-17_10-21-14.csv')
df16 = pd.read_csv('./simulation_results/2023-07-17_16-00-20.csv')
df17 = pd.read_csv('./simulation_results/2023-07-17_22-08-59.csv')
df18 = pd.read_csv('./simulation_results/2023-07-19_08-35-52.csv')
df19 = pd.read_csv('./simulation_results/2023-07-19_15-01-57.csv')
df20 = pd.read_csv('./simulation_results/2023-07-19_22-33-07.csv')
df21 = pd.read_csv('./simulation_results/2023-07-20_06-21-30.csv')
df22 = pd.read_csv('./simulation_results/2023-07-20_14-07-04.csv')
df23 = pd.read_csv('./simulation_results/2023-07-20_21-14-32.csv')
df24 = pd.read_csv('./simulation_results/2023-07-21_04-45-06.csv')
df25 = pd.read_csv('./simulation_results/2023-07-21_11-26-12.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,
                 df18,df19,df20,df21,df22,df23,df24,df25],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/wikimath.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/wikimath.csv')

Baseline

data.query("mrate==0 and method!='GNAR'").plot.box(backend='plotly',x='mrate',color='method',y='mse',height=600)

random

data.query("mtype=='rand' and mrate !=0 and method!='GNAR'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='nof_filters',height=800)

block

data.query("mtype=='block' and method!='GNAR'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='nof_filters',height=1200)

missing values on the same nodes

# 10%
df1 = pd.read_csv('./simulation_results/2023-05-30_15-07-43.csv') # STGCN IT-STGCN block
df2 = pd.read_csv('./simulation_results/2023-05-31_01-58-40.csv') # STGCN IT-STGCN
data = pd.concat([df1,df2],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/wikimath_GSO_st.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/wikimath_GSO_st.csv')
data.query("method!='GNAR' and mtype =='block' ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='lags',height=800)

Windmilsmall

df1 = pd.read_csv('./simulation_results/2023-05-27_03-20-28.csv') # STGCN IT-STGCN 70%
df2 = pd.read_csv('./simulation_results/2023-05-27_11-15-19.csv') # STGCN IT-STGCN
df3 = pd.read_csv('./simulation_results/2023-05-27_21-50-00.csv') # STGCN IT-STGCN
df4 = pd.read_csv('./simulation_results/2023-05-28_07-53-57.csv') # STGCN IT-STGCN
df5 = pd.read_csv('./simulation_results/2023-05-28_15-11-36.csv') # STGCN IT-STGCN
df6 = pd.read_csv('./simulation_results/2023-05-28_19-57-23.csv') # GNAR 30%, 50%, 70% # 뭔가 일단 필요없어서 데이터셋에서 뺌
df7 = pd.read_csv('./simulation_results/2023-05-29_01-36-37.csv') # STGCN IT-STGCN
df8 = pd.read_csv('./simulation_results/2023-05-29_05-55-43.csv') # STGCN IT-STGCN
df9 = pd.read_csv('./simulation_results/2023-05-29_11-00-42.csv') # STGCN IT-STGCN
df10 = pd.read_csv('./simulation_results/2023-05-29_15-58-56.csv') # STGCN IT-STGCN
df11 = pd.read_csv('./simulation_results/2023-05-29_21-01-58.csv') # STGCN IT-STGCN
df12 = pd.read_csv('./simulation_results/2023-05-30_02-08-43.csv') # STGCN IT-STGCN
df13 = pd.read_csv('./simulation_results/2023-05-30_06-27-00.csv') # STGCN IT-STGCN
df14 = pd.read_csv('./simulation_results/2023-05-30_11-59-01.csv') # STGCN IT-STGCN
df15 = pd.read_csv('./simulation_results/2023-05-30_15-59-12.csv') # STGCN IT-STGCN
df16 = pd.read_csv('./simulation_results/2023-05-30_21-52-31.csv') # STGCN IT-STGCN
df17 = pd.read_csv('./simulation_results/2023-05-31_01-32-09.csv') # STGCN IT-STGCN
df18 = pd.read_csv('./simulation_results/2023-05-31_09-41-08.csv') # STGCN IT-STGCN
df19 = pd.read_csv('./simulation_results/2023-05-31_16-32-33.csv') # STGCN IT-STGCN
df20 = pd.read_csv('./simulation_results/2023-05-31_19-24-06.csv') # STGCN IT-STGCN
df21 = pd.read_csv('./simulation_results/2023-06-01_00-59-31.csv') # STGCN IT-STGCN
df22 = pd.read_csv('./simulation_results/2023-06-01_08-30-50.csv') # STGCN IT-STGCN
df23 = pd.read_csv('./simulation_results/2023-06-01_16-03-58.csv') # STGCN IT-STGCN
df24 = pd.read_csv('./simulation_results/2023-06-02_01-48-39.csv') # STGCN IT-STGCN
df25 = pd.read_csv('./simulation_results/2023-06-02_11-17-51.csv') # STGCN IT-STGCN
df26 = pd.read_csv('./simulation_results/2023-06-02_20-36-02.csv') # STGCN IT-STGCN
df27 = pd.read_csv('./simulation_results/2023-06-03_05-23-46.csv') # STGCN IT-STGCN
df28 = pd.read_csv('./simulation_results/2023-06-03_13-33-11.csv') # STGCN IT-STGCN
df29 = pd.read_csv('./simulation_results/2023-06-03_22-40-48.csv') # STGCN IT-STGCN
df30 = pd.read_csv('./simulation_results/2023-06-04_08-23-50.csv') # STGCN IT-STGCN
df31 = pd.read_csv('./simulation_results/2023-06-04_16-47-07.csv') # GNAR 70%
df32 = pd.read_csv('./simulation_results/2023-06-05_01-40-31.csv') # GNAR 
df33 = pd.read_csv('./simulation_results/2023-06-05_11-53-37.csv')
df34 = pd.read_csv('./simulation_results/2023-06-06_10-02-26.csv')
df35 = pd.read_csv('./simulation_results/2023-06-06_10-06-02.csv')
df36 = pd.read_csv('./simulation_results/2023-06-06_19-10-01.csv')
df37 = pd.read_csv('./simulation_results/2023-06-06_19-22-47.csv')
df38 = pd.read_csv('./simulation_results/2023-06-07_04-41-41.csv')
df39 = pd.read_csv('./simulation_results/2023-06-07_05-00-00.csv')
df40 = pd.read_csv('./simulation_results/2023-06-07_12-49-37.csv')
df41 = pd.read_csv('./simulation_results/2023-06-07_13-05-52.csv')
df42 = pd.read_csv('./simulation_results/2023-06-07_21-00-28.csv')
df43 = pd.read_csv('./simulation_results/2023-06-07_21-30-40.csv')
df44 = pd.read_csv('./simulation_results/2023-06-08_06-10-42.csv')
df45 = pd.read_csv('./simulation_results/2023-06-09_00-38-32.csv')
df46 = pd.read_csv('./simulation_results/2023-06-09_12-08-44.csv')
df47 = pd.read_csv('./simulation_results/2023-06-10_10-10-27.csv')
df48 = pd.read_csv('./simulation_results/2023-06-10_21-16-06.csv')
df49 = pd.read_csv('./simulation_results/2023-06-11_09-03-26.csv')
df50 = pd.read_csv('./simulation_results/2023-06-11_21-00-18.csv')
df51 = pd.read_csv('./simulation_results/2023-06-12_08-58-26.csv')
df52 = pd.read_csv('./simulation_results/2023-06-12_20-56-40.csv')
df53 = pd.read_csv('./simulation_results/2023-06-13_09-03-43.csv')
df54 = pd.read_csv('./simulation_results/2023-06-13_21-56-32.csv')
df55 = pd.read_csv('./simulation_results/2023-06-14_11-11-38.csv')
df56 = pd.read_csv('./simulation_results/2023-06-14_23-17-40.csv')
df57 = pd.read_csv('./simulation_results/2023-06-15_05-01-21.csv')
df58 = pd.read_csv('./simulation_results/2023-06-15_10-54-28.csv')
df59 = pd.read_csv('./simulation_results/2023-06-15_17-35-55.csv')
df60 = pd.read_csv('./simulation_results/2023-06-15_21-14-21.csv')
df61 = pd.read_csv('./simulation_results/2023-06-16_03-15-32.csv')
df62 = pd.read_csv('./simulation_results/2023-06-16_06-13-50.csv')
df63 = pd.read_csv('./simulation_results/2023-06-16_14-18-52.csv')
df64 = pd.read_csv('./simulation_results/2023-06-16_18-21-01.csv')
df65 = pd.read_csv('./simulation_results/2023-06-17_02-04-16.csv')
df66 = pd.read_csv('./simulation_results/2023-06-17_12-31-27.csv')
df67 = pd.read_csv('./simulation_results/2023-06-17_19-20-19.csv')
df68 = pd.read_csv('./simulation_results/2023-06-18_02-32-26.csv') # 확인 후 block 만 넣기!
df69 = pd.read_csv('./simulation_results/2023-06-18_12-20-16.csv')
df70 = pd.read_csv('./simulation_results/2023-06-18_22-03-52.csv')
df71 = pd.read_csv('./simulation_results/2023-06-19_07-54-07.csv')
df72 = pd.read_csv('./simulation_results/2023-06-19_17-32-15.csv')
df73 = pd.read_csv('./simulation_results/2023-06-20_02-27-48.csv')
df74 = pd.read_csv('./simulation_results/2023-06-20_11-25-00.csv')
df75 = pd.read_csv('./simulation_results/2023-06-21_08-22-10.csv')
df76 = pd.read_csv('./simulation_results/2023-06-21_18-02-06.csv')
df77 = pd.read_csv('./simulation_results/2023-06-22_03-53-20.csv')
df78 = pd.read_csv('./simulation_results/2023-06-22_14-30-51.csv')
df79 = pd.read_csv('./simulation_results/2023-06-22_23-58-03.csv')
df80 = pd.read_csv('./simulation_results/2023-06-23_07-50-27.csv')
df81 = pd.read_csv('./simulation_results/2023-06-23_15-44-00.csv')
df82 = pd.read_csv('./simulation_results/2023-06-24_00-32-09.csv')
df83 = pd.read_csv('./simulation_results/2023-06-24_10-30-38.csv')
df84 = pd.read_csv('./simulation_results/2023-06-24_20-29-14.csv')
df85 = pd.read_csv('./simulation_results/2023-06-25_06-26-42.csv')
df86 = pd.read_csv('./simulation_results/2023-06-25_16-24-38.csv')
df87 = pd.read_csv('./simulation_results/2023-06-26_02-35-43.csv')
df88 = pd.read_csv('./simulation_results/2023-06-26_23-22-25.csv')
df89 = pd.read_csv('./simulation_results/2023-06-26_13-18-29.csv')
df90 = pd.read_csv('./simulation_results/2023-06-26_23-22-25.csv')
df91 = pd.read_csv('./simulation_results/2023-06-27_09-42-34.csv')
df92 = pd.read_csv('./simulation_results/2023-06-27_18-43-24.csv')
df93 = pd.read_csv('./simulation_results/2023-06-28_15-59-05.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18,df19,df20,
                 df21,df22,df23,df24,df25,df26,df27,df28,df29,df30,df31,df32,df33,df34,df35,df36,df37,df38,df39,
                 df40,df41,df42,df43,df44,df45,df46,df47,df48,df49,df50,df51,df52,df53,df54,df55,df56,df57,df58,
                 df59,df60,df61,df62,df63,df64,df65,df66,df67,df68,df69,df70,df71,df72,df73,df74,df75,df76,df77,
                 df78,df79,df80,df81,df82,df83,df84,df85,df86,df87,df88,df89,df90,df91,df92,df93],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/windmillsmall.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/windmillsmall.csv')

Baseline

data.query("method!='GNAR' and mrate ==0 ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',height=800)

random

data.query("method!='GNAR' and mtype =='rand' ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='inter_method',height=800)

block

data.query("method!='GNAR' and mtype =='block' ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='inter_method',height=800)

Montevideobus

df1 = pd.read_csv('./simulation_results/2023-05-25_23-24-56.csv') # lags 8
df2 = pd.read_csv('./simulation_results/2023-05-26_04-32-14.csv') # lags 8
df3 = pd.read_csv('./simulation_results/2023-05-26_10-29-15.csv') # lags 8
df4 = pd.read_csv('./simulation_results/2023-05-26_17-32-59.csv') # lags 8
df5 = pd.read_csv('./simulation_results/2023-05-26_20-27-25.csv') # lags 8
df6 = pd.read_csv('./simulation_results/2023-05-26_23-40-32.csv') # lags 8
df7 = pd.read_csv('./simulation_results/2023-05-27_13-20-01.csv') # lags 8
df8 = pd.read_csv('./simulation_results/2023-05-28_19-46-39.csv') # lags 8
df9 = pd.read_csv('./simulation_results/2023-05-28_23-05-36.csv')
df10 = pd.read_csv('./simulation_results/2023-07-18_01-12-36.csv') # lags 8
df11 = pd.read_csv('./simulation_results/2023-07-18_04-18-26.csv') # lags 8
df12 = pd.read_csv('./simulation_results/2023-07-18_07-21-19.csv') # lags 8
df13 = pd.read_csv('./simulation_results/2023-07-18_10-46-11.csv') # lags 8
df14 = pd.read_csv('./simulation_results/2023-07-18_13-55-16.csv') # lags 8
df15 = pd.read_csv('./simulation_results/2023-07-18_17-14-12.csv') # lags 8
df16 = pd.read_csv('./simulation_results/2023-07-18_20-29-46.csv') # lags 8
df17 = pd.read_csv('./simulation_results/2023-07-18_23-46-52.csv') # lags 8
df18 = pd.read_csv('./simulation_results/2023-07-19_02-55-01.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14,df15,df16,df17,df18],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/monte.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/monte.csv')

Baseline

data.query("mrate==0 and method!='GNAR'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='nof_filters',height=600)

random

data.query("mtype=='rand' and mrate !=0 and method!='GNAR'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='inter_method',height=800)

block

data.query("mtype=='block' and method!='GNAR'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='lags',facet_row='nof_filters',height=1200)