Dave F. Kleinchmidt
Rutgers University/Princeton Neuroscience Institute
Pernille Hemmer
Rutgers University
24 July 2018 // MathPsych // osf.io/dqz73
in the real world judgements are made in
context
which provides useful information
arena()
x, y = -0.3, 0.4
arena([x], [y], color="black")
plot(Gray.(rand(Bool, 100,100)), axis=false, lims=(0,100), aspect_ratio=:equal)
arena([x], [y], color=:white, markerstrokecolor=:black, markersize=5)
annotate!(0,0, text("?", 32))
arena(randn(200).*0.2, randn(200).*0.2, color=:black, markeralpha=0.25)
scatter!([x], [y], color=:white, markerstrokecolor=:black, markersize=5)
quiver!([x], [y], quiver=(-[x*0.3], -[y.*0.3]), color=:black)
srand(2)
θ = rand(200) * 2π
ρ = randn(200) * .05 + 0.85
arena(cos.(θ).*ρ, sin.(θ).*ρ, markeralpha=0.25, color=:black)
scatter!([x], [y], color=:white, markerstrokecolor=:black, markersize=5)
quiver!([x], [y], quiver=([x*.3], [y*.3]), color=:black)
but what is a
context?
and how do you know?
r1_shuffled = view(recall, randperm(180) .+ 20, :)
p = arena([], [], markeralpha=0.25, color=:black, lims=(-1.1,1.1))
anim = @animate for (x,y) in @_ zip(r1_shuffled[:x], r1_shuffled[:y])
push!(p, x,y)
end
gif(anim, "figures/shuffled.gif", fps=5)
INFO: Saved animation to /home/dave/.dropbox-raizadalab/Dropbox (Raizada Lab)/work/dots-location-memory-pernille/figures/shuffled.gif
p = arena([], [], markeralpha=0.25, color=:black, lims=(-1.1,1.1))
anim = @animate for (x,y) in @_ zip(recall[:x], recall[:y]) |> It.drop(_, 20) |> It.take(_, 180)
push!(p, x,y)
end
gif(anim, "figures/clustered.gif", fps=5)
INFO: Saved animation to /home/dave/.dropbox-raizadalab/Dropbox (Raizada Lab)/work/dots-location-memory-pernille/figures/clustered.gif
In a structured environment recall is biased towards clusters [Robbins, Hemmer, and Tang, CogSci2014]
arena(lims=(-1,1))
@_ known_recalled1 |>
@by(_, :block, x_clus = mean(:x), y_clus = mean(:y)) |>
@df(_, scatter!(:x_clus, :y_clus, color=:red, seriestype=:scatter, markerstrokecolor=:white))
@df recall1 quiver!(:x, :y, quiver=(:x_resp.-:x, :y_resp.-:y), color=:black, seriestype=:quiver, lims=(-1,1))
In a structured environment recall is biased towards clusters [Robbins, Hemmer, and Tang, CogSci2014]
arena(lims=(-1,1))
@_ known_recalled1 |>
@by(_, :block, x_clus = mean(:x), y_clus = mean(:y)) |>
@df(_, scatter!(:x_clus, :y_clus, color=:red, seriestype=:scatter, markerstrokecolor=:white))
@df known_recalled1 quiver!(:x, :y, quiver=(:x_resp.-:x, :y_resp.-:y), color=GrayA(0.0, 0.5))
@df known_recalled1 quiver!(:x, :y, quiver=(:x_mod.-:x, :y_mod.-:y), color=RGBA(1, 0, 0, 0.5))
@df recalled1 plot(arena(:x, :y, group=assignments(first(particles(rf))), title="Inferred clusters"),
arena(:x, :y, group=:block, title="True blocks"),
layout=(1,2), size=(800, 400))
plot(plot(show_assignment_similarity(rf), title="Inferred clusters"),
plot(Gray.(@with(recall1, :block .== :block')), title="True blocks"),
axis=false, aspect_ratio=:equal, layout=(1,2), size=(800,400))
size2 = (900,400)
p1 = @df recalled1 arena(:x, :y, quiver=(:x_mod.-:x, :y_mod.-:y), seriestype=:quiver, label="Model",
layout=@layout([a{0.5w} _]), size=size2)
@df recalled1 quiver!(:x, :y, quiver=(:x_resp.-:x, :y_mod.-:y), color=GrayA(0.0, 0.3), label="Behavior", subplot=1)