GCLSTM_Simulation_reshape

ITSTGCN
Author

SEOYEON CHOI

Published

June 6, 2023

Simulation Study

Import

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

Fivenodes

df1 = pd.read_csv('./simulation_results/2023-06-13_07-17-07.csv')
df2 = pd.read_csv('./simulation_results/2023-06-13_07-44-52.csv')
df3 = pd.read_csv('./simulation_results/2023-06-13_08-12-37.csv')
df4 = pd.read_csv('./simulation_results/2023-06-13_08-40-19.csv')
df5 = pd.read_csv('./simulation_results/2023-06-13_12-54-53.csv')
df6 = pd.read_csv('./simulation_results/2023-06-13_13-22-41.csv')
df7 = pd.read_csv('./simulation_results/2023-06-13_13-50-26.csv')
df8 = pd.read_csv('./simulation_results/2023-06-13_14-17-59.csv')
df9 = pd.read_csv('./simulation_results/2023-07-17_07-35-15.csv')
df10 = pd.read_csv('./simulation_results/2023-07-17_08-03-56.csv')
df11 = pd.read_csv('./simulation_results/2023-07-17_08-32-12.csv')
df12 = pd.read_csv('./simulation_results/2023-07-17_08-59-03.csv')
df13 = pd.read_csv('./simulation_results/2023-07-17_09-25-30.csv')
df14 = pd.read_csv('./simulation_results/2023-07-17_09-53-40.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8,df9,df10,df11,df12,df13,df14],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/GCLSTM_fivedones_Simulation.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/GCLSTM_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)

Random

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

Block

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

chickenpox

df1 = pd.read_csv('./simulation_results/2023-06-13_15-38-39.csv') # GNAR random
df2 = pd.read_csv('./simulation_results/2023-06-13_16-57-23.csv') # GNAR block
df3 = pd.read_csv('./simulation_results/2023-06-13_17-36-42.csv') # STGCN, ITSTGCN random 30%
df4 = pd.read_csv('./simulation_results/2023-06-13_18-16-50.csv') 
df5 = pd.read_csv('./simulation_results/2023-06-13_19-43-23.csv') 
df6 = pd.read_csv('./simulation_results/2023-06-13_21-07-40.csv') 
df7 = pd.read_csv('./simulation_results/2023-07-17_10-37-55.csv') # GNAR random
df8 = pd.read_csv('./simulation_results/2023-07-17_11-21-39.csv') # GNAR block
df9 = pd.read_csv('./simulation_results/2023-07-17_12-03-49.csv') # STGCN, ITSTGCN random 30%
df10 = pd.read_csv('./simulation_results/2023-07-17_12-47-06.csv') 
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df8,df9,df10],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/GCLSTM_chikenpox_Simulation.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/GCLSTM_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

df1 = pd.read_csv('./simulation_results/2023-06-07_07-17-13.csv') 
df2 = pd.read_csv('./simulation_results/2023-06-07_07-27-02.csv')  
df3 = pd.read_csv('./simulation_results/2023-07-17_13-06-02.csv') 
data = pd.concat([df1,df2,df3],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/GCLSTM_pedalme_Simulation.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/GCLSTM_pedalme_Simulation.csv')

Baseline

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

random

data.query("method!='GNAR' and mtype =='rand' and lags!=2").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' and lags!=2 ").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='nof_filters',facet_row='inter_method',height=800)

weight matrix time, node 고려한 결과

# df1 = pd.read_csv('./simulation_results/2023-06-13_18-41-53.csv') # gclm 잘못 돌림
df1 = pd.read_csv('./simulation_results/2023-06-13_18-14-13.csv')
df2 = pd.read_csv('./simulation_results/2023-06-16_20-25-15.csv')
data2 = pd.concat([df1,df2],axis=0)
data2.to_csv('./simulation_results/Real_simulation_reshape/GCLSTM_pedalme_Simulation_itstgcnsnd.csv',index=False)
data2 = pd.read_csv('./simulation_results/Real_simulation_reshape/GCLSTM_pedalme_Simulation_itstgcnsnd.csv')
data2.query("mtype=='rand'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='nof_filters',height=1000)
data2.query("mtype=='block'").plot.box(backend='plotly',x='mrate',color='method',y='mse',facet_col='inter_method',facet_row='nof_filters',height=1000)

Wikimath

df1 = pd.read_csv('./simulation_results/2023-06-16_10-32-29.csv')
df2 = pd.read_csv('./simulation_results/2023-06-16_15-13-14.csv')
df3 = pd.read_csv('./simulation_results/2023-06-16_21-20-31.csv')
df4 = pd.read_csv('./simulation_results/2023-06-17_10-12-36.csv')
df5 = pd.read_csv('./simulation_results/2023-06-17_12-49-46.csv')
df6 = pd.read_csv('./simulation_results/2023-06-17_14-45-14.csv')
df7 = pd.read_csv('./simulation_results/2023-06-17_16-56-50.csv') 
df8 = pd.read_csv('./simulation_results/2023-06-17_20-23-03.csv')
df9 = pd.read_csv('./simulation_results/2023-06-16_21-11-03.csv') # block
df10 = pd.read_csv('./simulation_results/2023-06-16_15-10-06.csv') # block
df11 = pd.read_csv('./simulation_results/2023-06-16_10-31-28.csv') # block
## block 3개 끝나면 같은 노드로 넘어가기
df12 = pd.read_csv('./simulation_results/2023-07-28_20-06-46.csv')
df13 = pd.read_csv('./simulation_results/2023-07-28_22-43-30.csv')
df14 = pd.read_csv('./simulation_results/2023-07-29_01-05-51.csv')
df15 = pd.read_csv('./simulation_results/2023-07-29_03-27-02.csv')
df16 = pd.read_csv('./simulation_results/2023-07-29_06-18-47.csv')
df17 = pd.read_csv('./simulation_results/2023-07-29_08-56-38.csv')
df18 = pd.read_csv('./simulation_results/2023-07-29_11-15-57.csv') 
df19 = pd.read_csv('./simulation_results/2023-07-29_13-40-21.csv')
df20 = pd.read_csv('./simulation_results/2023-07-29_16-18-43.csv') # block
df21 = pd.read_csv('./simulation_results/2023-07-29_19-05-06.csv') # block
df22 = pd.read_csv('./simulation_results/2023-07-29_21-15-40.csv') # block
df23 = pd.read_csv('./simulation_results/2023-07-29_23-49-16.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],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/GCLSTM_wikimath.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/GCLSTM_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

df1 = pd.read_csv('./simulation_results/2023-06-17_01-42-41.csv') # STGCN IT-STGCN block
# df2 = pd.read_csv('./simulation_results/2023-06-17_03-35-20.csv') # STGCN IT-STGCN
df3 = pd.read_csv('./simulation_results/2023-06-17_10-06-34.csv') 

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

# k=1
df1 = pd.read_csv('./simulation_results/2023-06-14_00-09-03.csv') # lags 8
df2 = pd.read_csv('./simulation_results/2023-06-14_00-09-03.csv') # lags 8
df3 = pd.read_csv('./simulation_results/2023-06-14_03-15-40.csv') # lags 8
df4 = pd.read_csv('./simulation_results/2023-06-14_06-23-01.csv') # lags 8
df5 = pd.read_csv('./simulation_results/2023-06-14_09-31-21.csv') # lags 8
df6 = pd.read_csv('./simulation_results/2023-06-14_12-29-12.csv') # lags 8
df7 = pd.read_csv('./simulation_results/2023-06-14_15-27-41.csv') # lags 8
df8 = pd.read_csv('./simulation_results/2023-07-22_11-13-32.csv') # lags 8
df9 = pd.read_csv('./simulation_results/2023-07-21_18-40-37.csv') # lags 8
df10 = pd.read_csv('./simulation_results/2023-07-21_20-32-41.csv') # lags 8
df11 = pd.read_csv('./simulation_results/2023-07-21_22-22-45.csv') # lags 8
df12 = pd.read_csv('./simulation_results/2023-07-22_00-21-56.csv') # lags 8
df13 = pd.read_csv('./simulation_results/2023-07-22_02-21-47.csv') # lags 8
df14 = pd.read_csv('./simulation_results/2023-07-22_04-09-40.csv') # lags 8
df15 = pd.read_csv('./simulation_results/2023-07-22_05-50-30.csv')
df16 = pd.read_csv('./simulation_results/2023-07-22_07-46-56.csv')
data = pd.concat([df1,df2,df3,df4,df5,df6,df7,df9,df10,df11,df12,df13,df14,df15,df16,   df8],axis=0)
data.to_csv('./simulation_results/Real_simulation_reshape/GCLSTM_monte.csv',index=False)
data = pd.read_csv('./simulation_results/Real_simulation_reshape/GCLSTM_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)