Public Member Functions | Static Public Member Functions

mwCore Class Reference

m-w parameterization of the psychmetric function More...

#include <core.h>

Inheritance diagram for mwCore:
PsiCore

List of all members.

Public Member Functions

 mwCore (const PsiData *data=NULL, const int sigmoid=1, const double alpha=0.1)
 construcor
 mwCore (const mwCore &original)
 copy constructor
double g (double x, const std::vector< double > &prm) const
 evaluate the core of the sigmoid
double dg (double x, const std::vector< double > &prm, int i) const
 evaluate the first derivative of the core with respect to parameter i
double dgx (double x, const std::vector< double > &prm) const
 evaluate the first derivative of the core with respect to stimulus intensity
double ddg (double x, const std::vector< double > &prm, int i, int j) const
 evaluate the second derivative of the core with respect to parameters i and j
double inv (double y, const std::vector< double > &prm) const
 invert the core
double dinv (double p, const std::vector< double > &prm, int i) const
 derivative of the inverse core with respect to parameter i
std::vector< double > transform (int nprm, double a, double b) const
 transform parameters from a logistic regression model to the parameters used here
PsiCoreclone (void) const
 clone object by value
double getAlpha (void) const

Static Public Member Functions

static std::string getDescriptor (void)
 get a short string that identifies the type of core

Detailed Description

m-w parameterization of the psychmetric function

An alternative way to parameterize the psychometric function is to describe it in terms of a threshold (m) and the width of part of the function over which there is significant performance increase. What exactly "significant performance increase" means is defined by a parameter alpha. By definition significant performance increase happens over the range where f(g(x|theta)) is larger than alpha but smaller than 1-alpha. Obviously this definition depends on the sigmoid that is used.


Constructor & Destructor Documentation

mwCore::mwCore ( const PsiData data = NULL,
const int  sigmoid = 1,
const double  alpha = 0.1 
)

construcor

Parameters:
data ignored
sigmoid Type of the sigmoid (1=logistic, 2=gauss, 3=gumbel)
alpha alpha parameter defining what "significant performance increase" means

Member Function Documentation

double mwCore::ddg ( double  x,
const std::vector< double > &  prm,
int  i,
int  j 
) const [virtual]

evaluate the second derivative of the core with respect to parameters i and j

Parameters:
x stimulus intensity
prm parameter vector
i index of the parameter to which the first derivative should be evaluated
j index of the parameter to which the second derivative should be evaluated

Reimplemented from PsiCore.

double mwCore::dg ( double  x,
const std::vector< double > &  prm,
int  i 
) const [virtual]

evaluate the first derivative of the core with respect to parameter i

Parameters:
x stimulus intensity
prm parameter vector
i index of the parameter to which the derivative should be evaluated

Reimplemented from PsiCore.

double mwCore::dgx ( double  x,
const std::vector< double > &  prm 
) const [virtual]

evaluate the first derivative of the core with respect to stimulus intensity

Parameters:
x stimulus intensity
prm parameter vector

Reimplemented from PsiCore.

double mwCore::dinv ( double  p,
const std::vector< double > &  prm,
int  i 
) const [virtual]

derivative of the inverse core with respect to parameter i

Parameters:
p transformed intenstiy at which to evaluate the derivative
prm parameter vector
i evaluate the derivative with respect to parameter i

Reimplemented from PsiCore.

double mwCore::g ( double  x,
const std::vector< double > &  prm 
) const [virtual]

evaluate the core of the sigmoid

Parameters:
x stimulus intensity
prm parameter vector

Reimplemented from PsiCore.

double mwCore::inv ( double  y,
const std::vector< double > &  prm 
) const [virtual]

invert the core

Parameters:
y transformed intensity
prm parameter vector

Reimplemented from PsiCore.

std::vector< double > mwCore::transform ( int  nprm,
double  a,
double  b 
) const [virtual]

transform parameters from a logistic regression model to the parameters used here

Parameters:
nprm number of parameters in the final parameter vector
a intercept of the logistic regression model
b slope of the logistic regression model

Reimplemented from PsiCore.


The documentation for this class was generated from the following files: