-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathplot.jl
151 lines (97 loc) · 4.92 KB
/
plot.jl
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
using Turing
using PyPlot
using ArviZ
using Serialization
using LaTeXStrings
using DataFrames
include("task_types.jl")
include("read_data.jl")
include("softmax.jl")
include("ε_soft.jl")
function plot_trans_violin_softmax(mdl, group_name_v, study_name)
chn = deserialize(string("./chains/chn_softmax_", study_name, ".jls"));
gen = generated_quantities(mdl, MCMCChains.get_sections(chn, :parameters))
μ_β_v = map(x -> x[1], gen[:])
μ_η_v = map(x -> x[2], gen[:])
t = (μ_β = [μ_β_v], μ_η = [μ_η_v])
idt = from_namedtuple(t; coords = Dict("interv" => group_name_v),
dims = Dict("μ_β" =>["interv"],
"μ_η" => ["interv"]))
ax = plot_violin(idt ; var_names = ["μ_β"], textsize = 12, quartiles = false,
rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0))
ax[1].set_ylabel(L"\mu_\beta"; fontsize = 16)
for i = 1 : length(group_name_v)
ax[i].set_title(group_name_v[i]; fontsize = 16)
end
savefig(string("./figures/", "μ_β_soft_", study_name, ".eps"))
ax = plot_violin(idt ; var_names = ["μ_η"], textsize = 12, quartiles = false,
rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0))
ax[1].set_ylabel(L"\mu_\eta"; fontsize = 16)
for i = 1 : length(group_name_v)
ax[i].set_title(group_name_v[i]; fontsize = 16)
end
savefig(string("./figures/", "μ_η_soft_", study_name, ".eps"))
for interv_group in group_name_v[2:end]
_, ax = plt.subplots(1, 2)
plot_violin(idt.sel(interv = interv_group).posterior["μ_β"] - idt.sel(interv = group_name_v[1]).posterior["μ_β"];
textsize = 12, quartiles = false, rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0), ax = ax[1])
ax[1].set_title(L"\Delta \mu_{\beta}"; fontsize = 16)
plot_violin(idt.sel(interv = interv_group).posterior["μ_η"] - idt.sel(interv = group_name_v[1]).posterior["μ_η"];
textsize = 12, quartiles = false, rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0), ax = ax[2])
ax[2].set_title(L"\Delta \mu_{\eta}"; fontsize = 16)
savefig(string("./figures/", "Δ_soft_", interv_group, ".eps"))
end
show()
end
function plot_trans_violin_ε_soft(mdl, group_name_v, study_name)
chn = deserialize(string("./chains/chn_ε_soft_", study_name, ".jls"));
gen = generated_quantities(mdl, MCMCChains.get_sections(chn, :parameters))
μ_ε_v = map(x -> x[1], gen[:])
μ_η_v = map(x -> x[2], gen[:])
μ_s_v = map(x -> x[3], gen[:])
t = (μ_ε = [μ_ε_v], μ_η = [μ_η_v], μ_s = [μ_s_v])
idt = from_namedtuple(t; coords = Dict("interv" => group_name_v),
dims = Dict("μ_ε" =>["interv"],
"μ_η" => ["interv"],
"μ_s" => ["interv"]))
ax = plot_violin(idt; var_names = ["μ_ε"], textsize = 12, quartiles = false,
rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0))
ax[1].set_ylabel(L"\mu_{\epsilon}"; fontsize = 16)
for i = 1 : length(group_name_v)
ax[i].set_title(group_name_v[i]; fontsize = 16)
end
savefig(string("./figures/", "μ_ε_ε_soft_", study_name, ".eps"))
ax = plot_violin(idt; var_names = ["μ_η"], textsize = 12, quartiles = false,
rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0))
ax[1].set_ylabel(L"\mu_{\eta}"; fontsize = 16)
for i = 1 : length(group_name_v)
ax[i].set_title(group_name_v[i]; fontsize = 16)
end
savefig(string("./figures/", "μ_η_ε_soft_", study_name, ".eps"))
ax = plot_violin(idt; var_names = ["μ_s"], textsize = 12, quartiles = false,
rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0))
ax[1].set_ylabel(L"\mu_{s}"; fontsize = 16)
for i = 1 : length(group_name_v)
ax[i].set_title(group_name_v[i]; fontsize = 16)
end
savefig(string("./figures/", "μ_s_ε_soft_", study_name, ".eps"))
for interv_group in group_name_v[2:end]
_, ax = plt.subplots(1, 3)
plot_violin(idt.sel(interv = interv_group).posterior["μ_ε"] - idt.sel(interv = group_name_v[1]).posterior["μ_ε"];
textsize = 12, quartiles = false, rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0), ax = ax[1])
ax[1].set_title(L"\Delta \mu_{\epsilon}"; fontsize = 16)
plot_violin(idt.sel(interv = interv_group).posterior["μ_η"] - idt.sel(interv = group_name_v[1]).posterior["μ_η"];
textsize = 12, quartiles = false, rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0), ax = ax[2])
ax[2].set_title(L"\Delta \mu_{\eta}"; fontsize = 16)
plot_violin(idt.sel(interv = interv_group).posterior["μ_s"] - idt.sel(interv = group_name_v[1]).posterior["μ_s"];
textsize = 12, quartiles = false, rug = true, rug_kwargs = Dict("color" => "white", "alpha" => 0), ax = ax[3])
ax[3].set_title(L"\Delta \mu_{s}"; fontsize = 16)
savefig(string("./figures/", "Δ_ε_soft_", interv_group, ".eps"))
end
show()
end
ArviZ.use_style("arviz-whitegrid")
group_d = Dict("MJ12" => 1, "MJ13" => 2)
(choice_v, data) = read_PRL("./prl/prl.csv", group_d)
mdl = softmax_prl_model(choice_v, data)
plot_trans_violin_softmax(mdl, ["mj12", "mj13"], "PRL")