Psychometric function with one separate data point. More...
#include <psychometric.h>
Public Member Functions | |
OutlierModel (int nAFC, PsiCore *core, PsiSigmoid *sigmoid, unsigned int exclude) | |
void | setexclude (unsigned int exclude) |
set up a psychometric function model that treats one block separately | |
double | negllikeli (const std::vector< double > &prm, const PsiData *data) const |
negative log likelihood | |
double | neglpost (const std::vector< double > &prm, const PsiData *data) const |
negative log likelihood | |
double | deviance (const std::vector< double > &prm, const PsiData *data) const |
deviance | |
unsigned int | getNparams (void) const |
get the number of free parameters of the psychometric function | |
double | randPrior (unsigned int index) const |
sample form a prior |
Psychometric function with one separate data point.
Wichmann & Hill (2001) suggest to detect whether or not a data point x0 is an outlier by fitting a new model to all data points except for the data point of interest and to use a separate parameter to fit x0. If p is the number of correct trials at position x0, that is
Psi(x0) = p Psi(x) = guessingrate + (1-guessingrate-lapserate) * Sigmoid ( x | theta ), if x != x0
This model is then compared to the standard psychometric function model.
Due to the discontinuity at x0, derivatives in this model are treated with respect to the fitted function.
OutlierModel::OutlierModel | ( | int | nAFC, | |
PsiCore * | core, | |||
PsiSigmoid * | sigmoid, | |||
unsigned int | exclude | |||
) | [inline] |
nAFC | number of alternatives in the task (1 indicating yes/no) | |
core | internal part of the nonlinear function | |
sigmoid | "external" saturating part of the nonlinear function | |
exclude | index of the data block to be excluded |
double OutlierModel::deviance | ( | const std::vector< double > & | prm, | |
const PsiData * | data | |||
) | const [virtual] |
deviance
prm | parameters of the psychometric function model | |
data | data for which the deviance should be evaluated |
Reimplemented from PsiPsychometric.
double OutlierModel::negllikeli | ( | const std::vector< double > & | prm, | |
const PsiData * | data | |||
) | const [virtual] |
negative log likelihood
prm | parameters of the psychometric function model | |
data | data for which the likelihood should be evaluated |
Reimplemented from PsiPsychometric.
double OutlierModel::neglpost | ( | const std::vector< double > & | prm, | |
const PsiData * | data | |||
) | const [virtual] |
negative log likelihood
prm | parameters of the psychometric function model | |
data | data for which the likelihood should be evaluated |
Reimplemented from PsiPsychometric.
void OutlierModel::setexclude | ( | unsigned int | exclude | ) | [inline] |
set up a psychometric function model that treats one block separately
change the excluded block