Skip to contents

R arm of morie.fn.hsirt, lordzs, semthe and ave. Hsirt: Lauderdale's heteroskedastic probit, per legislator scales \(\psi_i\) in \(\Phi((\beta_j x_i - \alpha_j)/\psi_i)\) given ideal points, alternating probit Fisher scoring for the items and Brent plus Newton for each \(\log\psi_i\), geometric mean of psi 1; posterior mode under normal priors of standard deviation psi_prior_sd on log psi and item_prior_sd on the items (NULL for plain ML, which is degenerate for perfectly predicted voters). Lordzs: Lord's chi-square test of equal item parameters in two groups, \(d'(\Sigma_R + \Sigma_F)^{-1} d\). Semthe: standard error of an ability estimate from the 2PL test information. Ave: average variance extracted, the mean squared standardised loading.

Usage

Hsirt(
  votes,
  ideal_points,
  item_params = NULL,
  max_iter = 50,
  psi_prior_sd = 1,
  item_prior_sd = 5
)

Lordzs(b_R, b_F, V_R, V_F = NULL)

Semthe(theta, items)

Ave(loads)

Arguments

votes

Binary vote matrix (NA missing).

ideal_points

Fixed ideal points.

item_params

Optional list of alpha and beta vectors.

max_iter

Alternation rounds.

psi_prior_sd

Prior standard deviation of log psi.

item_prior_sd

Prior standard deviation of the item parameters.

b_R, b_F

Item parameters in the reference and focal groups.

V_R, V_F

Their covariances (V_R alone is the summed covariance).

theta

Ability value(s).

items

Two-column matrix of (a, b) item parameters.

loads

Standardised factor loadings.

Value

A list (the Python result's fields) or a number (Ave).

References

Lauderdale, B. E. (2010). Unpredictable voters in ideal point estimation. Political Analysis 18, 151-171.

Lord, F. M. (1980). Applications of Item Response Theory to Practical Testing Problems. Erlbaum.

Fornell, C. and Larcker, D. F. (1981). Evaluating structural equation models with unobservable variables and measurement error. Journal of Marketing Research 18, 39-50.

Examples

Lordzs(c(1.2, 0.3), c(0.9, 0.1), diag(0.02, 2), diag(0.03, 2))$statistic
#> [1] 2.6
Semthe(0, rbind(c(1, 0)))$se
#> [1] 2
Ave(c(0.7, 0.8, 0.9))
#> [1] 0.6466667