Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 0 additions & 10 deletions Project.toml
Original file line number Diff line number Diff line change
Expand Up @@ -16,15 +16,12 @@ Distributions = "31c24e10-a181-5473-b8eb-7969acd0382f"
DocStringExtensions = "ffbed154-4ef7-542d-bbb7-c09d3a79fcae"
EffectSizes = "e248de7e-9197-5860-972e-353a2af44d75"
ElasticArrays = "fdbdab4c-e67f-52f5-8c3f-e7b388dad3d4"
FillArrays = "1a297f60-69ca-5386-bcde-b61e274b549b"
FittedItemBanks = "3f797b09-34e4-41d7-acf6-3302ae3248a5"
ForwardDiff = "f6369f11-7733-5829-9624-2563aa707210"
HypothesisTests = "09f84164-cd44-5f33-b23f-e6b0d136a0d5"
Interpolations = "a98d9a8b-a2ab-59e6-89dd-64a1c18fca59"
Lazy = "50d2b5c4-7a5e-59d5-8109-a42b560f39c0"
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
LogarithmicNumbers = "aa2f6b4e-9042-5d33-9679-40d3a6b85899"
MacroTools = "1914dd2f-81c6-5fcd-8719-6d5c9610ff09"
Mmap = "a63ad114-7e13-5084-954f-fe012c677804"
PrecompileTools = "aea7be01-6a6a-4083-8856-8a6e6704d82a"
PrettyPrinting = "54e16d92-306c-5ea0-a30b-337be88ac337"
Expand All @@ -33,8 +30,6 @@ PsychometricsBazaarBase = "b0d9cada-d963-45e9-a4c6-4746243987f1"
QuickHeaps = "30b38841-0f52-47f8-a5f8-18d5d4064379"
Random = "9a3f8284-a2c9-5f02-9a11-845980a1fd5c"
Reexport = "189a3867-3050-52da-a836-e630ba90ab69"
Setfield = "efcf1570-3423-57d1-acb7-fd33fddbac46"
SparseArrays = "2f01184e-e22b-5df5-ae63-d93ebab69eaf"
StaticArrays = "90137ffa-7385-5640-81b9-e52037218182"
StatsBase = "2913bbd2-ae8a-5f71-8c99-4fb6c76f3a91"
StatsFuns = "4c63d2b9-4356-54db-8cca-17b64c39e42c"
Expand All @@ -55,15 +50,12 @@ Distributions = "^0.25.88"
DocStringExtensions = " ^0.9"
EffectSizes = "^1.0.1"
ElasticArrays = "1.2.12"
FillArrays = "0.13, 1.5.0"
FittedItemBanks = "^0.7.3"
ForwardDiff = "1"
HypothesisTests = "^0.10.12, ^0.11.0"
Interpolations = "^0.14, ^0.15"
Lazy = "0.15"
LinearAlgebra = "^1.11"
LogarithmicNumbers = "1"
MacroTools = "^0.5.6"
Mmap = "^1.11"
PrecompileTools = "1.2.1"
PrettyPrinting = "0.4.2"
Expand All @@ -72,8 +64,6 @@ PsychometricsBazaarBase = "^0.8.7"
QuickHeaps = "0.2.2"
Random = "^1.11"
Reexport = "1"
Setfield = "^1"
SparseArrays = "^1.11"
StaticArrays = "1"
StatsBase = "^0.34"
StatsFuns = "^0.9.15, ^1"
Expand Down
6 changes: 0 additions & 6 deletions profile/Project.toml

This file was deleted.

4 changes: 0 additions & 4 deletions profile/clear_mems.sh

This file was deleted.

10 changes: 0 additions & 10 deletions profile/does_quadgk_alloc.jl

This file was deleted.

5 changes: 0 additions & 5 deletions profile/mv_mems.sh

This file was deleted.

204 changes: 0 additions & 204 deletions profile/next_items.jl

This file was deleted.

3 changes: 0 additions & 3 deletions profile/print_mems.jl

This file was deleted.

19 changes: 0 additions & 19 deletions src/Aggregators/slow.jl

This file was deleted.

17 changes: 0 additions & 17 deletions src/Compat/CatR.jl
Original file line number Diff line number Diff line change
Expand Up @@ -61,23 +61,6 @@ end

const ability_estimator_aliases = _ability_estimator_aliases()

#=
for (resp_exp, resp_exp_nick) in resp_exp_nick_pairs
next_item_rule = NextItemRule(
ExpectationBasedItemCriterion(resp_exp, AbilityVariance(numtools.integrator, distribution_estimator(abil_est)))
)
next_item_rule = preallocate(next_item_rule)
est_next_item_rule_pairs[Symbol("$(abil_est_str)_mepv_$(resp_exp_nick)")] = (abil_est, next_item_rule)
next_item_rule = NextItemRule(
ExpectationBasedItemCriterion(resp_exp, InformationItemCriterion(abil_est))
)
next_item_rule = preallocate(next_item_rule)
est_next_item_rule_pairs[Symbol("$(abil_est_str)_mei_$(resp_exp_nick)")] = (abil_est, next_item_rule)
end
est_next_item_rule_pairs[Symbol("$(abil_est_str)_mi")] = (abil_est, InformationItemCriterion(abil_est))
=#


function setup_integrator(lo=-4.0, hi=4.0, pts=33)
Integrators.MidpointIntegrator(range(lo, hi, pts))
end
Expand Down
6 changes: 6 additions & 0 deletions src/NextItemRules/NextItemRules.jl
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,12 @@ export ObservedInformationPointwiseItemCriterion
export RawEmpiricalInformationPointwiseItemCriterion
export EmpiricalInformationPointwiseItemCriterion

public PointwiseNextItemRule, PointwiseFirstNextItemRule
public WeightedStateMultiCriterion, WeightedItemMultiCriterion
public GreedyForcedContentBalancer
public PosteriorExpectedKLInformationItemCriterion
public alt_expected_1d_item_information, alt_expected_mirt_item_information, alt_expected_mirt_3pl_item_information

# Prelude
include("./prelude/abstract.jl")
include("./prelude/next_item_rule.jl")
Expand Down
36 changes: 0 additions & 36 deletions src/NextItemRules/criteria/pointwise/information_support.jl
Original file line number Diff line number Diff line change
Expand Up @@ -30,42 +30,6 @@ function log_resp(ir::ItemResponse{<:CdfMirtItemBank}, val, θ)
end
end

#=
# XXX: Not sure if this is optimal numerically or speed wise -- possibly it
# would be better to just transform to linear space in this case?
@inline function log_transform_irf_y(guess, slip, y)
# log space version of guess + irf_size(guess, slip) * y
logaddexp(log(guess), log(irf_size(guess, slip)) + y)
end

@inline function log_transform_irf_y(ir::ItemResponse{<:GuessItemBank}, response, y)
guess = y_offset(ir.item_bank, ir.index)
if response
log_transform_irf_y(guess, 0.0, y)
else
log_transform_irf_y(0.0, guess, y)
end
end

@inline function log_transform_irf_y(ir::ItemResponse{<:SlipItemBank}, response, y)
slip = y_offset(ir.item_bank, ir.index)
if response
log_transform_irf_y(0.0, slip, y)
else
log_transform_irf_y(slip, 0.0, y)
end
end

function log_resp_vec(ir::ItemResponse{<:AnySlipOrGuessItemBank}, θ)
r = log_resp_vec(inner_item_response(ir), θ)
SVector(log_transform_irf_y(ir, false, r[1]), log_transform_irf_y(ir, true, r[2]))
end

function log_resp(ir::ItemResponse{<:AnySlipOrGuessItemBank}, val, θ)
log_transform_irf_y(ir, val, log_resp(inner_item_response(ir), val, θ))
end
=#

log_resp(ir::ItemResponse{<:GuessAndSlipItemBank}, response, θ) = log(resp(ir, response, θ))
log_resp(ir::ItemResponse{<:GuessAndSlipItemBank}, θ) = log(resp(ir, θ))
log_resp_vec(ir::ItemResponse{<:GuessAndSlipItemBank}, θ) = log.(resp_vec(ir, θ))
Expand Down
3 changes: 3 additions & 0 deletions src/NextItemRules/criteria/pointwise/kl.jl
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,9 @@ struct PosteriorExpectedKLInformationItemCriterion{
DistributionEstimatorT <: DistributionAbilityEstimator,
IntegratorT <: AbilityIntegrator
} <: PointwiseItemCriterion
point_estimator::PointEstimatorT
distribution_estimator::DistributionEstimatorT
integrator::IntegratorT
end

function PosteriorExpectedKLInformationItemCriterion(bits...)
Expand Down
Empty file.
Loading
Loading