Skip to content

Commit 888f9f2

Browse files
committed
clean up
1 parent 60e76dd commit 888f9f2

13 files changed

+74
-23
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,2 @@
1-
/Manifest.toml
1+
*Manifest.toml
2+
temp.jl

Project.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
name = "AdaptiveDesignOptimization"
22
uuid = "5f210a59-4c6a-4c2f-87d5-5cd98d51789a"
33
authors = ["itsdfish"]
4-
version = "0.1.3"
4+
version = "0.1.4"
55

66
[deps]
77
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
[deps]
2+
AdaptiveDesignOptimization = "5f210a59-4c6a-4c2f-87d5-5cd98d51789a"
3+
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
4+
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
5+
Pigeons = "0eb8d820-af6a-4919-95ae-11206f830c31"
6+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
7+
Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
8+
StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
9+
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
10+
Turing = "fce5fe82-541a-59a6-adf8-730c64b5f9a0"
11+
12+
[compat]
13+
DataFrames = "1"
14+
Distributions = "0.25.0"
15+
Random = "1"
16+
Revise = "3"
17+
StatsPlots = "0.15.0"

Examples/Delay_Discounting/Run_Delay_Discounting.jl renamed to examples/delay_discounting/Run_Delay_Discounting.jl

Lines changed: 10 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -6,19 +6,24 @@ cd(@__DIR__)
66
# load the package manager
77
using Pkg
88
# activate the project environment
9-
Pkg.activate("../../")
10-
using Revise, AdaptiveDesignOptimization, Random, Distributions
9+
Pkg.activate("")
10+
using Revise
11+
using AdaptiveDesignOptimization
12+
using Distributions
13+
using Random
1114
includet("Delay_Discounting.jl")
1215
#######################################################################################
1316
# Define Experiment Design
1417
#######################################################################################
1518
Random.seed!(120341)
1619
prior = [Uniform(-5, 5), Uniform(-5, 50)]
1720

18-
model = Model(;prior, loglike)
21+
model = Model(; prior, loglike)
1922

20-
parm_list == range(-5, 0, length=50) .|> x->10^x,
21-
τ = range(0, 5, length=11)[2:end])
23+
parm_list = (
24+
κ = range(-5, 0, length=50) .|> x->10^x,
25+
τ = range(0, 5, length=11)[2:end]
26+
)
2227

2328
# parm_list = (κ = [.1],
2429
# τ = [.2,.5])
File renamed without changes.
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
[deps]
2+
AdaptiveDesignOptimization = "5f210a59-4c6a-4c2f-87d5-5cd98d51789a"
3+
DataFrames = "a93c6f00-e57d-5684-b7b6-d8193f3e46c0"
4+
Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
5+
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
6+
Revise = "295af30f-e4ad-537b-8983-00126c2a3abe"
7+
StatsPlots = "f3b207a7-027a-5e70-b257-86293d7955fd"
8+
UtilityModels = "bddc258c-9485-48da-848b-3e4c1ee8966c"
9+
10+
[compat]
11+
DataFrames = "1"
12+
Distributions = "0.25.0"
13+
Revise = "3"
14+
StatsPlots = "0.15.0"
15+
UtilityModels = "0.3.0"
16+
Random = "1"

Examples/Monetary_Gambles/Run_Monetary_Gamble.jl renamed to examples/monetary_gambles/Run_Monetary_Gamble.jl

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,12 @@ cd(@__DIR__)
66
# load the package manager
77
using Pkg
88
# activate the project environment
9-
Pkg.activate("../../")
10-
using Revise, AdaptiveDesignOptimization, Random, UtilityModels, Distributions
9+
Pkg.activate("")
10+
using Revise
11+
using AdaptiveDesignOptimization
12+
using Distributions
13+
using Random
14+
using UtilityModels
1115
includet("TAX_Model.jl")
1216
Random.seed!(25974)
1317
#######################################################################################
@@ -26,8 +30,8 @@ parm_list = (
2630
dist = Normal(0,10)
2731
n_vals = 3
2832
n_choices = 2
29-
design_vals = map(x->random_design(dist, n_vals, n_choices), 1:1000)
30-
filter!(x->abs_zscore(x) .4, design_vals)
33+
design_vals = map(x -> random_design(dist, n_vals, n_choices), 1:1000)
34+
filter!(x -> abs_zscore(x) .4, design_vals)
3135
design_names = (:p1,:v1,:p2,:v2)
3236
design_list = (design_names,design_vals[1:100])
3337

src/functions.jl

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,8 @@ Computes a grid of prior probabilities over model parameters.
1919
- `parm_grid`: a grid of parameter values
2020
"""
2121
function prior_probs(prior, parm_grid)
22-
dens = [mapreduce((θ,d)->pdf(d, θ), *, g, prior) for g in parm_grid]
23-
return dens/sum(dens)
22+
dens = [mapreduce((θ,d) -> pdf(d, θ), *, g, prior) for g in parm_grid]
23+
return dens / sum(dens)
2424
end
2525

2626
"""
@@ -32,7 +32,7 @@ Computes a grid of uniform prior probabilities over model parameters.
3232
- `parm_grid`: a grid of parameter values
3333
"""
3434
function prior_probs(prior::Nothing, parm_grid)
35-
return fill(1/length(parm_grid), size(parm_grid))
35+
return fill(1 / length(parm_grid), size(parm_grid))
3636
end
3737

3838
"""
@@ -200,11 +200,11 @@ end
200200
# """
201201
# function marginal_posterior(optimizer)
202202
# @unpack posteriors = optimizer
203-
# return map(d->sum(posterior, dims=d), ndims(posterior):-1:1)
203+
# return map(d-> sum(posterior, dims=d), ndims(posterior):-1:1)
204204
# end
205205

206206
function compute_entropy(log_like)
207-
return -1*sum(exp.(log_like) .* log_like, dims=3)[:,:]
207+
return -1 * sum(exp.(log_like) .* log_like, dims=3)[:,:]
208208
end
209209

210210
function conditional_entropy(entropy, post)
@@ -223,7 +223,7 @@ function marginal_entropy!(optimizer::Optimizer)
223223
end
224224

225225
function marginal_entropy(marg_log_like)
226-
return -sum(exp.(marg_log_like).*marg_log_like, dims=3)[:]
226+
return -sum(exp.(marg_log_like) .* marg_log_like, dims=3)[:]
227227
end
228228

229229
"""
@@ -344,7 +344,7 @@ function to_grid(vals::NamedTuple)
344344
end
345345

346346
function to_grid(vals)
347-
k = [Symbol(string("v",i)) for i in 1:length(vals[1])]
347+
k = [Symbol(string("v", i)) for i in 1:length(vals[1])]
348348
return (k...,),vals
349349
end
350350

@@ -368,12 +368,12 @@ function mean_post(optimizer)
368368
end
369369

370370
function mean_post(post, parm_grid)
371-
return mapreduce((p,v)->p.*v, .+, post, parm_grid)
371+
return mapreduce((p,v) -> p .* v, .+, post, parm_grid)
372372
end
373373

374374
function std_post(post, parm_grid)
375375
mu = mean_post(post, parm_grid)
376-
return mapreduce((p,v)->p.*(v .- mu).^2, .+, post, parm_grid) .|> sqrt
376+
return mapreduce((p,v) -> p .* (v .- mu).^2, .+, post, parm_grid) .|> sqrt
377377
end
378378

379379
function std_post(optimizer)
@@ -415,7 +415,7 @@ end
415415
# end
416416

417417
# # function update_model_posterior(ps, es)
418-
# # map(i->ps[i]./(sum(ps.*(es./es[i]))),1:length(ps))
418+
# # map(i-> ps[i]./(sum(ps.*(es./es[i]))),1:length(ps))
419419
# # end
420420

421421
# using Distributions

src/structs.jl

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -57,14 +57,16 @@ mutable struct Model{F<:Function,P}
5757
end
5858

5959
function Model(args...; prior=nothing, loglike, kwargs...)
60-
return Model(prior, (x...)->loglike(x..., args...; kwargs...))
60+
return Model(prior, (x...) -> loglike(x..., args...; kwargs...))
6161
end
6262

6363
"""
6464
Optimizer(;task, model, grid_design, grid_parms, grid_response)
6565
6666
`Optimizer` constructs a model object for adaptive design optimization
6767
68+
# Fields
69+
6870
- `model`: a model object
6971
- `grid_design`:a grid of design parameters
7072
- `grid_parms`: a grid of model parameters
@@ -74,7 +76,13 @@ end
7476
- `priors`: a multidimensional array of prior probabilities for parameters
7577
- `log_post`: a one dimensional array of log posterior probabilities for parameters
7678
- `entropy`: a two dimensional array of entropy values for parameter and design combinations
77-
-
79+
- `marg_entropy`:
80+
- `cond_entropy`:
81+
- `mutual_info`:
82+
- `best_design`:
83+
- `parm_names`:
84+
- `model_state`:
85+
- `update_state!`:
7886
"""
7987
mutable struct Optimizer{A,MT,M<:Model,T1,T2,T3,T4,T5,T6,T7,T8,T9,
8088
T10,T11}

0 commit comments

Comments
 (0)