Beispiel #1
0
 def plot_scatter(self,
                  keys=None,
                  colwrap=3,
                  sharex='none',
                  s=0,
                  mask='RV_mask',
                  aggr=None,
                  title=None):
     import df_ana
     df_d = self.df_data.mean(axis=0, level=1)
     if mask is None:
         tv = self.df_data.loc[0].iloc[:, 0]
         df_d = df_d
     elif mask == 'RV_mask':
         tv = self.df_data.loc[0].iloc[:, 0][self.RV_mask.loc[s]]
         df_d = df_d[self.RV_mask.loc[s]]
     else:
         tv = self.df_data.loc[0].iloc[:, 0][mask]
         df_d = df_d[mask]
     kwrgs = {'tv': tv, 'aggr': aggr, 'title': title}
     df_ana.loop_df(df_d,
                    df_ana.plot_scatter,
                    keys=keys,
                    colwrap=colwrap,
                    sharex=sharex,
                    kwrgs=kwrgs)
     return
Beispiel #2
0
 def plot_scatter(cls,
                  keys=None,
                  colwrap=3,
                  sharex='none',
                  s=0,
                  mask='RV_mask',
                  aggr=None,
                  title=None):
     df_d = cls.df_data.loc[s]
     if mask is None:
         tv = cls.df_data.loc[0].iloc[:, 0]
         df_d = df_d
     elif mask == 'RV_mask':
         tv = cls.df_data.loc[0].iloc[:, 0][cls.RV_mask.loc[s]]
         df_d = df_d[fcev.RV_mask.loc[s]]
     else:
         tv = cls.df_data.loc[0].iloc[:, 0][mask]
         df_d = df_d[mask]
     kwrgs = {'tv': tv, 'aggr': aggr, 'title': title}
     df_ana.loop_df(df_d,
                    df_ana.plot_scatter,
                    keys=keys,
                    colwrap=colwrap,
                    sharex=sharex,
                    kwrgs=kwrgs)
     return
Beispiel #3
0
 def apply_df_ana_plot(self, df=None, func=None,
                       hspace=.4, sharex=False, sharey=False,
                       kwrgs_func={}):
     if df is None:
         df = self.df_data
     if func is None:
         func = df_ana.plot_ac ; kwrgs_func = {'AUC_cutoff':(14,30),'s':60}
     return df_ana.loop_df(df, function=func, sharex=sharex, sharey=sharey,
                          colwrap=2, hspace=hspace, kwrgs=kwrgs_func)
Beispiel #4
0
                                                   q=q_sp,
                                                   tailmean=True,
                                                   selbox=selbox)
        q_sp = 90
        ds[f'q{q_sp}tail'] = cl.percentile_cluster(var_filename,
                                                   xrclust,
                                                   q=q_sp,
                                                   tailmean=True,
                                                   selbox=selbox)

        df_clust = functions_pp.xrts_to_df(ds['ts'])

        fig = df_ana.loop_df(df_clust,
                             function=df_ana.plot_ac,
                             sharex=False,
                             colwrap=2,
                             kwrgs={
                                 'AUC_cutoff': (14, 30),
                                 's': 60
                             })
        fig.suptitle('q: {}, n_clusters: {}'.format(q, c), x=.5, y=.97)

        df_clust = functions_pp.xrts_to_df(ds[f'q{q}tail'])

        fig = df_ana.loop_df(df_clust,
                             function=df_ana.plot_ac,
                             sharex=False,
                             colwrap=2,
                             kwrgs={
                                 'AUC_cutoff': (14, 30),
                                 's': 60
                             })
Beispiel #5
0
import df_ana, functions_pp, validation
import pandas as pd

f_format = '.pdf'
fc = list_of_fc[0]
# if os.path.isdir(fc.filename) == False : os.makedirs(fc.filename)
# filepath = '/'.join(fc.filename.split('/')[:-2])
filepath = '/Users/semvijverberg/surfdrive/MckinRepl/ERA5_mx2t_sst_Northern/c378f_ran_strat10_s30/figures'

df_daily = fc.df_data_orig.loc[0][['mx2t'
                                   ]].rename(columns={'mx2t': 'ERA5 mx2t'})
df_15 = fc.TV.fullts.rename(columns={'mx2t': 'ERA5 mx2t 15-day mean'})
print(validation.get_bstrap_size(df_daily))
fig = df_ana.loop_df(df_daily,
                     function=df_ana.plot_ac,
                     colwrap=1,
                     kwrgs={'AUC_cutoff': False})
fig.savefig(filepath + '/ac_daily' + f_format, bbox_inches='tight')
fig = df_ana.loop_df(df_15,
                     function=df_ana.plot_ac,
                     colwrap=1,
                     kwrgs={'AUC_cutoff': False})
fig.savefig(filepath + '/ac_15-daymean' + f_format, bbox_inches='tight')

EC_data = user_dir + '/surfdrive/output_RGCPD/easternUS_EC/EC_tas_tos_Northern/958dd_ran_strat10_s30/data/EC_21-03-20_16hr_lag_10_958dd.h5'

fc = fcev(path_data=EC_data,
          precur_aggr=precur_aggr,
          use_fold=use_fold,
          start_end_TVdate=None,
          stat_model=None,
fc = list_of_fc[-1]
df, fig = fc.plot_feature_importances(lag=lag_rel)
path_feat = filename + f'ifc{1}_logitregul_l{lag_rel}' + f_format
fig.savefig(path_feat, bbox_inches='tight')

import df_ana
# X_CPPA = list_of_fc[-1]._get_statmodelobject().X_pred[['0..4..sst', '0..6..sst', '0..CPPAsv']]
# X_sm   = list_of_fc[-2]._get_statmodelobject().X_pred[['0..2..sm2', '0..2..sm3']]
# X_merge = X_sm.merge(X_CPPA, left_index=True, right_index=True)
# All = fc.TV.RV_ts.merge(X_merge, left_index=True, right_index=True)

All = fc.df_data.loc[0][[
    '1q65tail', '0..2..sm2', '0..2..sm3', '0..4..sst', '0..6..sst', '0..CPPAsv'
]]

df_ana.loop_df(df=All, function=df_ana.plot_ac, kwrgs={'s': 150})

fc.dict_sum[0].loc['Precision'].loc['Precision']

fc.dict_sum[0].loc['Accuracy'].loc['Accuracy']

#%%

# im = 0
# il = 1
# ifc = 1
# f_format = '.pdf'
# if os.path.isdir(fc.filename) == False : os.makedirs(fc.filename)
# import valid_plots as dfplots
# if __name__ == "__main__":
#     for ifc, fc in enumerate(list_of_fc):