probit.lambda: mafc Probit Link for Binomial Family with Upper Asymptote < 1

probit.lambdaR Documentation

mafc Probit Link for Binomial Family with Upper Asymptote < 1

Description

This function provides a link for the binomial family for fitting m-alternative forced-choice, with a probit link and with the upper asymptote permitted to be less than 1.

Usage

probit.lambda(m = 2, lambda = 0)

Arguments

m

is the integer number (>1) of choices (Default to 2AFC).

lambda

number in [0, 1] indicating 1 minus the upper asymptotic value of the psychometric function.

Details

This function provides a link for fitting psychometric functions arising from an m-alternative forced-choice experiment using a probit link and allowing that the upper aymptote is less than 1. The psychometric function fit to the data is described by

P(x) = 1/m + (1 - 1/m - \lambda) \Phi(x)

where m is the number of alternatives and the lower asymptote, 1 - \lambda is the upper asymptote and \Phi is the cumulative normal function.

Value

The link returns a list containing functions required for relating the response to the linear predictor in generalized linear models and the name of the link.

linkfun

The link function

linkinv

DTHe inverse link function

mu.eta

The derivative of the inverse link function

valideta

The domain over which the linear predictor is valid

link

A name to be used for the link

Note

Due to the difficulty of the task, subject error or incorrectly recorded data, psychophysical data may reveal less than perfect performance when stimulus differences are readily visible. When this occurs, letting the upper asymptote be less than 1 often results in a better fit to the data and a less-biased estimate of the steepness of the curve (see example below).

Author(s)

Ken Knoblauch

References

Wichmann, F. A. and Hill, N. J. (2001) The psychometric function: I.Fitting, sampling, and goodness of fit. Percept Psychophys., 63(8), 1293–1313.

See Also

mafc, glm, glm.lambda, family, make.link

Examples

b <- 3.5
g <- 1/3
d <- 0.025
a <- 0.04
p <- c(a, b, g, d)
num.tr <- 160
cnt <- 10^seq(-2, -1, length = 6) # contrast levels

#simulated Weibull-Quick observer responses
truep <- g + (1 - g - d) * pweibull(cnt, b, a)
ny <- rbinom(length(cnt), num.tr, truep)
nn <- num.tr - ny
phat <- ny/(ny + nn)
resp.mat <- matrix(c(ny, nn), ncol = 2)

ddprob.glm <- glm(resp.mat ~ cnt, family = binomial(mafc.probit(3)))
ddprob.lam <- glm(resp.mat ~ cnt, family = binomial(probit.lambda(3, 0.025)))
AIC(ddprob.glm, ddprob.lam)

plot(cnt, phat, log = "x", cex = 1.5, ylim = c(0, 1))
pcnt <- seq(0.01, 0.1, len = 100)
lines(pcnt, predict(ddprob.glm, data.frame(cnt = pcnt),
                        type = "response"), lwd = 2)
lines(pcnt, predict(ddprob.lam, data.frame(cnt = pcnt),
                        type = "response"), lwd = 2, lty = 2)

psyphy documentation built on Aug. 19, 2023, 5:07 p.m.