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
1.7.1