psych (version 2.4.3)

# irt.1p: Item Response Theory estimate of theta (ability) using a Rasch (like) model

## Description

Item Response Theory models individual responses to items by estimating individual ability (theta) and item difficulty (diff) parameters. This is an early and crude attempt to capture this modeling procedure. A better procedure is to use `irt.fa`.

## Usage

```irt.person.rasch(diff, items)
irt.0p(items)
irt.1p(delta,items)
irt.2p(delta,beta,items)```

## Value

a data.frame with estimated ability (theta) and quality of fit. (for irt.person.rasch)

a data.frame with the raw means, theta0, and the number of items completed

## Arguments

diff

A vector of item difficulties --probably taken from irt.item.diff.rasch

items

A matrix of 0,1 items nrows = number of subjects, ncols = number of items

delta

delta is the same as diff and is the item difficulty parameter

beta

beta is the item discrimination parameter found in `irt.discrim`

William Revelle

## Details

A very preliminary IRT estimation procedure. Given scores xij for ith individual on jth item
Classical Test Theory ignores item difficulty and defines ability as expected score : abilityi = theta(i) = x(i.) A zero parameter model rescales these mean scores from 0 to 1 to a quasi logistic scale ranging from - 4 to 4 This is merely a non-linear transform of the raw data to reflect a logistic mapping.

Basic 1 parameter (Rasch) model considers item difficulties (delta j): p(correct on item j for the ith subject |theta i, deltaj) = 1/(1+exp(deltaj - thetai)) If we have estimates of item difficulty (delta), then we can find theta i by optimization

Two parameter model adds item sensitivity (beta j): p(correct on item j for subject i |thetai, deltaj, betaj) = 1/(1+exp(betaj *(deltaj- theta i))) Estimate delta, beta, and theta to maximize fit of model to data.

The procedure used here is to first find the item difficulties assuming theta = 0 Then find theta given those deltas Then find beta given delta and theta.

This is not an "official" way to do IRT, but is useful for basic item development. See `irt.fa` and `score.irt` for far better options.

`sim.irt`, `sim.rasch`, `logistic`, `irt.fa`, `tetrachoric`, `irt.item.diff.rasch`