Psychometric Methods¶
Part of Statistical Methods — MORIE’s statistical-methods reference.
MORIE provides 250+ psychometric functions for Likert-scale questionnaire validation, covering Classical Test Theory (CTT), Item Response Theory (IRT), Differential Item Functioning (DIF), Confirmatory Factor Analysis (CFA), measurement invariance, reliability variants, validity evidence, network psychometrics, Bayesian psychometrics, scale construction, and scoring.
These methods are implemented as individual function files in morie.fn/
(short ≤7-char names) and the parent module morie.psymet.
All functions are dataset-agnostic — they work on any Likert-scale data,
not just the MAPQII questionnaire.
Key function families:
IRT (20):
irt1p,irt2p,irt3p,irtgr,irtpc,irtif,irttf,irtic,irtab,irtfl,irtdl,irtds,irtwd,irtdp,irtoc,irtml,irteap,irtli,irtcl,irtrmDIF (5):
difmh,diflr,difef,difgn,difagReliability (15):
kr20,kr21,gl1-gl6,rglb,rsem,rseh,rmdc,rmci,rcsem,rirrCFA/FA (10):
cfa4,cfabi,cfafi,cfaln,cfars,cfami,cfacm,efa2,efart,efascSubscale (10):
s_ee,s_ea,s_ua,s_er,scor,sdscr,sconv,snorm,sitdl,sttotInvariance (10):
mi_cf,mi_mt,mi_sc,mi_st,midif,migen,miage,milat,miest,misumValidity (10):
vcnvg,vdscr,vhtmt,vcrit,vpred,vknwn,vmtmm,vface,vinc,vtestNetwork (10):
netcr,netst,netbt,netcl,netei,netbr,netdn,netcm,netsb,netcpBayesian (10):
balph,bomg,birt,bcfa,bppc,bdif,bmi,bfsc,brcc,bcompScale/Scoring (20):
itdif-ittab,scsum-scrngClassical (11):
crba,mcdo,itcor,adel,crel,ave,kmo,bart,paran,splhf,idisc
Reliability¶
Cronbach’s Alpha — internal consistency coefficient:
where \(k\) is the number of items, \(\sigma^2_{X_i}\) is the variance of item \(i\), and \(\sigma^2_T\) is the total score variance.
McDonald’s Omega Total — model-based reliability:
where \(u_i^2 = 1 - h_i^2\) are uniquenesses from a factor model and \(R\) is the correlation matrix.
Omega Hierarchical — proportion of variance from the general factor:
where \(\lambda_{g,i}\) are first-factor loadings.
from morie.psymet import crba, mcdo
import pandas as pd
data = pd.read_excel("data/datasets/vsr/TKARONTOMAPQ.xlsx", sheet_name="MAPQII")
result = crba(data)
print(f"Alpha: {result.raw:.4f} [{result.ci_lo:.4f}, {result.ci_hi:.4f}]")
omega = mcdo(data, nf=4)
print(f"Omega total: {omega.total:.4f}")
Factor Analysis Prerequisites¶
KMO (Kaiser-Meyer-Olkin) — sampling adequacy:
where \(r_{ij}\) are correlations and \(q_{ij}\) are partial correlations. Values > 0.6 are adequate; > 0.8 is “meritorious”.
Bartlett’s Test of Sphericity — tests whether the correlation matrix differs from the identity matrix:
Parallel Analysis (Horn, 1965) — compares observed eigenvalues to the 95th percentile of eigenvalues from random data with the same dimensions. Retain factors where observed exceeds random.
Construct Validity¶
Composite Reliability (CR):
Average Variance Extracted (AVE):
AVE ≥ 0.5 indicates adequate convergent validity.
MAPQ Validated Results¶
The Modified Attitudes on Psychedelics Questionnaire (MAPQ) is a 20-item Likert (1-5) scale with 4 subscales (5 items each):
EE: Epistemological Engagement (EE1-EE5)
EA: Ethical Awareness (EA1-EA5)
UA: Utilitarian Assessment (UA1-UA5)
ER: Existential Reflection (ER1-ER5)
Cronbach’s α — full scale 0.943; EE 0.832; EA 0.749; UA 0.772; ER 0.822.
Omega total — full scale 0.962; EE 0.836; EA 0.758; UA 0.778; ER 0.832.
CR (CFA) — EE 0.838; EA 0.755; UA 0.773; ER 0.830 (full scale not modelled).
AVE — EE 0.509; EA 0.398; UA 0.416; ER 0.510 (full scale not modelled).
KMO overall MSA: 0.787. Bartlett’s \(\chi^2\): 612.22, df=190, p < 2.2e-16.
Dataset: data/datasets/vsr/TKARONTOMAPQ.xlsx (short key: mapq).