new theta
This commit is contained in:
parent
f7bd06f58c
commit
cc58480c04
@ -1 +1 @@
|
||||
1221.2386363636363,1163.7443181818182,1186.4147727272727,1163.4943181818182,1170.2670454545455,1144.4943181818182,1050.6761363636363,1182.8125,1070.0568181818182,1123.6931818181818,1240.5738636363637,1161.4488636363637,1203.4941176470588,0.0,0.0,0.0
|
||||
1191.0056818181818,1216.3522727272727,1152.0625,1174.596590909091,1138.0397727272727,1154.2386363636363,1136.653409090909,1043.6306818181818,1175.3125,1062.5568181818182,1109.375,1223.6420454545455,1146.8693181818182,1195.0235294117647,0.0,0.0
|
||||
|
||||
|
@ -1 +1 @@
|
||||
1435.4651162790697,1425.843023255814,1429.9883720930231,1429.0697674418604,1435.5755813953488,1427.6744186046512,1431.9011627906978,1434.0755813953488,1433.7093023255813,1433.7209302325582,1432.9941860465117,1438.953488372093,1427.6744186046512,1436.551724137931,1431.7241379310344,0.0
|
||||
1283.093023255814,1227.2209302325582,1192.5116279069769,1209.8488372093022,1267.5523255813953,1283.5232558139535,1284.0813953488373,1305.1744186046512,1294.1976744186047,1322.5232558139535,1335.6802325581396,1326.1627906976744,1371.8081395348838,1350.3023255813953,1401.5747126436781,1405.2413793103449
|
||||
|
||||
|
File diff suppressed because one or more lines are too long
@ -1 +1 @@
|
||||
1221.2386363636363,1163.7443181818182,1186.4147727272727,1163.4943181818182,1170.2670454545455,1144.4943181818182,1050.6761363636363,1182.8125,1070.0568181818182,1123.6931818181818,1240.5738636363637,1161.4488636363637,1203.4941176470588,0.0,0.0,0.0
|
||||
1191.0056818181818,1216.3522727272727,1152.0625,1174.596590909091,1138.0397727272727,1154.2386363636363,1136.653409090909,1043.6306818181818,1175.3125,1062.5568181818182,1109.375,1223.6420454545455,1146.8693181818182,1195.0235294117647,0.0,0.0
|
||||
|
||||
|
@ -1 +1 @@
|
||||
1435.4651162790697,1425.843023255814,1429.9883720930231,1429.0697674418604,1435.5755813953488,1427.6744186046512,1431.9011627906978,1434.0755813953488,1433.7093023255813,1433.7209302325582,1432.9941860465117,1438.953488372093,1427.6744186046512,1436.551724137931,1431.7241379310344,0.0
|
||||
1283.093023255814,1227.2209302325582,1192.5116279069769,1209.8488372093022,1267.5523255813953,1283.5232558139535,1284.0813953488373,1305.1744186046512,1294.1976744186047,1322.5232558139535,1335.6802325581396,1326.1627906976744,1371.8081395348838,1350.3023255813953,1401.5747126436781,1405.2413793103449
|
||||
|
||||
|
1
outputs/THETA_new_detail.json
Normal file
1
outputs/THETA_new_detail.json
Normal file
File diff suppressed because one or more lines are too long
BIN
outputs/theta_plot_new.pdf
Normal file
BIN
outputs/theta_plot_new.pdf
Normal file
Binary file not shown.
@ -7,13 +7,13 @@ red = '#d63031'
|
||||
|
||||
MAX_ROUND = 16 # = game_end_at + 1
|
||||
x = np.arange(1, MAX_ROUND+1)
|
||||
tc = np.loadtxt("outputs/EID_NEW_BA.csv", delimiter=',')
|
||||
ts = np.loadtxt("outputs/EID_NEW_WS.csv", delimiter=',')
|
||||
tc = np.loadtxt("outputs/THETA_NEW_BA.csv", delimiter=',')
|
||||
ts = np.loadtxt("outputs/THETA_NEW_WS.csv", delimiter=',')
|
||||
|
||||
fig = plt.figure(figsize=(6,4.5))
|
||||
ax = fig.gca()
|
||||
ax.plot(x[:-3], tc[:-3], 'o--', color='limegreen', linewidth=2, label=r"BA")
|
||||
ax.plot(x[:-1], ts[:-1], 'o-', color='darkorange', linewidth=2, label=r"WS")
|
||||
ax.plot(x[:-2], tc[:-2], 'o--', color='limegreen', linewidth=2, label=r"BA")
|
||||
ax.plot(x, ts, 'o-', color='darkorange', linewidth=2, label=r"WS")
|
||||
|
||||
# ax.set_ylim(-1500, 500)
|
||||
# ax.set_yticks(sp.linspace(-1500, 500, 6))
|
||||
|
||||
20
theta_r.py
20
theta_r.py
@ -51,7 +51,15 @@ class theta_r_i:
|
||||
:param s: Survivals list(neighborhood)
|
||||
:returns: theta_{r}_{i}
|
||||
"""
|
||||
return 1440*len(s) - reduce(lambda a, b: a + b['tr'], m.query('action', 'done').where(lambda x: x['rno'] == r and ((x['a'] in s)or(x['b']in s))).raw_data, 0)
|
||||
actions = m.query('action', 'done')\
|
||||
.where(lambda x: x['rno'] == r and ((x['a'] in s)or(x['b']in s)))\
|
||||
.raw_data
|
||||
def reduce_func(total, item):
|
||||
if item['a'] in s and item['b'] in s:
|
||||
return total + item['tr'] * 2
|
||||
return total + item['tr']
|
||||
|
||||
return 1440*len(s) - reduce(reduce_func, actions, 0)
|
||||
|
||||
|
||||
def getNeighborhood(self, m, r, p):
|
||||
@ -95,9 +103,9 @@ class theta_r_i:
|
||||
cnt = np.zeros(MAX_ROUND)
|
||||
for m in season.data:
|
||||
d = {}
|
||||
maxr = int(m.query('game', 'created').first()['info']['game_end_at'])
|
||||
for r in range(1, maxr):
|
||||
sigma, ans = self.calcRoundData(m, r)
|
||||
game_end_at = int(m.query('game', 'created').first()['info']['game_end_at'])
|
||||
for r in range(1, game_end_at + 1):
|
||||
sigma, ans = self.calcRoundData(m, r - 1)
|
||||
d[r] = ans
|
||||
avg[r-1] += sigma
|
||||
cnt[r-1] += len(ans)
|
||||
@ -107,14 +115,14 @@ class theta_r_i:
|
||||
if cnt[i] == 0:
|
||||
cnt[i] = 1
|
||||
avg /= cnt
|
||||
with open(f'outputs/EID_{name}.csv', 'w') as f:
|
||||
with open(f'outputs/THETA_{name}.csv', 'w') as f:
|
||||
csv.writer(f).writerow(avg)
|
||||
return avg
|
||||
|
||||
def calc(self):
|
||||
for s in self.seasons:
|
||||
self.calc_season(s['season'], s['name'])
|
||||
with open('outputs/EID_new_detail.json', 'w') as f:
|
||||
with open('outputs/THETA_new_detail.json', 'w') as f:
|
||||
json.dump(self.details, f)
|
||||
|
||||
if __name__ == '__main__':
|
||||
|
||||
Loading…
Reference in New Issue
Block a user