Overview

This page provides an overview of the API along with examples.

Make Predictions

The quantum order effect model (QOEM) generates predictions for six conditions:

Order 1

  1. Pr(disease)
  2. Pr(disease | lab test)
  3. Pr(disease | lab test, medical history)

Order 2

  1. Pr(disease)
  2. Pr(disease | medical history)
  3. Pr(disease | medical history, lab test)
using QuantumOrderEffectModels
Ψ = @. √([.35,.35,.15,.15])
γₕ = 2
γₗ = .5
σ = .05
model = QOEM(;Ψ, γₕ, γₗ, σ)
predict(model)
6-element Vector{Float64}:
 0.7
 0.8704446873428505
 0.0808394998623826
 0.7
 0.4261570034458711
 0.22271494542165207

Simulate Model

The code block below demonstrates how to generate simulated data from the model using rand. In the example, we will generate 100 simulated trials for each condition.

using QuantumOrderEffectModels
Ψ = @. √([.35,.35,.15,.15])
γₕ = 2
γₗ = .5
σ = .05
n_trials = 100
model = QOEM(;Ψ, γₕ, γₗ, σ)
data = rand(model, n_trials)
100-element Vector{Vector{Float64}}:
 [0.6969840265225893, 0.7908114169929276, 0.1575520161378288, 0.722232205409635, 0.4160820051025707, 0.20444780221952702]
 [0.6410537639776402, 0.8798497083381326, 0.031518957011589376, 0.7573847169933745, 0.44696983503011056, 0.2547152905284443]
 [0.785038839864378, 0.9402585167030124, 0.1831792585044017, 0.637865206282481, 0.3362696484976867, 0.3347666511626166]
 [0.7844226319286141, 0.8744261381042409, 0.21934126515799765, 0.7660622678128768, 0.4052967443737887, 0.18285950788459568]
 [0.752950962175171, 0.8432457294739321, 0.05377286922589095, 0.6028804195988193, 0.42739717974010666, 0.1700726457159795]
 [0.7619711476312262, 0.83210416571646, 0.11427296517329569, 0.6341252576911941, 0.4020309538303397, 0.20877857018950252]
 [0.6948069485749911, 0.9547994242258292, 0.08054578588792186, 0.6364927839112722, 0.4121076793023817, 0.2249926591796789]
 [0.5465880750395078, 0.7548744350752424, 0.11009471783750656, 0.7341155447158816, 0.40945355825670987, 0.28676336128881286]
 [0.681192026937423, 0.9184115727965951, 0.05547916867649056, 0.6053710754710024, 0.4545484104925343, 0.30332786643287746]
 [0.6256805181397687, 0.9353027315810917, 0.02571951068127649, 0.7589543409839712, 0.4405059964922604, 0.17490892889340226]
 ⋮
 [0.6181338126389919, 0.8999939537198849, 0.03719794898304172, 0.7405924204113108, 0.46802025278982495, 0.2445885927925807]
 [0.7919254214169227, 0.9124806026165243, 0.10380082021650784, 0.6186265043005386, 0.4326413542493928, 0.2336539045062989]
 [0.765878864859999, 0.8509224730278304, 0.18536149167911228, 0.7048241485694803, 0.39752537334815136, 0.16196687777916202]
 [0.6456717035786202, 0.8190584042572798, 0.023833176824488957, 0.6341973032773721, 0.4276270188081385, 0.21704795909589183]
 [0.7123265450548997, 0.9484123911955804, 0.01789795311314375, 0.6565898016646652, 0.4758775726784944, 0.21465716629960815]
 [0.7102368071480283, 0.8908976049601881, 0.0955131692573532, 0.7714421473533686, 0.4709605323676332, 0.290565833468767]
 [0.7439247193440839, 0.8582527039916756, 0.08758314840638763, 0.7022230835905429, 0.3642276135967732, 0.1928956169278704]
 [0.6625259682480378, 0.8124661625346682, 0.1731475852963141, 0.6885280475519356, 0.37091621458363305, 0.1331404479458611]
 [0.6673994023369789, 0.8936919542288875, 0.045805061765214795, 0.5814734754367675, 0.5105231851384265, 0.20922564898092103]

Evaluate Log Likelihood

The log likelihood of data can be evaluated using logpdf. In the code block below, we generate simulated data and evaluate the logpdf:

using QuantumOrderEffectModels
Ψ = @. √([.35,.35,.15,.15])
γₕ = 2
γₗ = .5
σ = .05
n_trials = 100
model = QOEM(;Ψ, γₕ, γₗ, σ)
data = rand(model, n_trials)
logpdf(model, data)
975.0681052721292