Core for the psychofun Weibull parameterization. More...
#include <core.h>
Public Member Functions | |
| weibullCore (const PsiData *data=NULL, const int sigmoid=1, const double alpha=0.1) | |
| construcor | |
| weibullCore (const weibullCore &original) | |
| copy constructor | |
| double | g (double x, const std::vector< double > &prm) const |
| evaluate the weibull core | |
| double | dg (double x, const std::vector< double > &prm, int i) const throw (BadArgumentError) |
| evaluate the derivateive of the core | |
| 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 throw (BadArgumentError) |
| evaluate the 2nd derivative of the core | |
| double | inv (double y, const std::vector< double > &prm) const |
| invert the core | |
| double | dinv (double y, const std::vector< double > &prm, int i) const |
| evaluate the derivative of the inverse core with respect to parameter i | |
| std::vector< double > | transform (int nprm, double a, double b) const |
| transform the parameters from a logistic regression model to starting values | |
| PsiCore * | clone (void) const |
| clone object by value | |
Static Public Member Functions | |
| static std::string | getDescriptor (void) |
| get a short string that identifies the type of core | |
Core for the psychofun Weibull parameterization.
The R-package psychofun by Kuss et al (2005, J Vis) uses a slightly different parameterization of the Weibull, that is parameterized in terms of "threshold location m and slope at threshold s". This core should be combined with a PsiGumbelL sigmoid to obtain the Weibull or with a PsiGumbelR sigmoid to obtain the reversed Weibull. However, any other combination is also valid. However, in that case, the parameters m and s might not be as interpretable as they are in case of the weibull.
| weibullCore::weibullCore | ( | const PsiData * | data = NULL, |
|
| const int | sigmoid = 1, |
|||
| const double | alpha = 0.1 | |||
| ) |
construcor
| data | use a data set to determine the correct scaling factors of initial values and initialize the objec | |
| sigmoid | ignored | |
| alpha | ignored |
| double weibullCore::ddg | ( | double | x, | |
| const std::vector< double > & | prm, | |||
| int | i, | |||
| int | j | |||
| ) | const throw (BadArgumentError) [virtual] |
evaluate the 2nd derivative of the core
| x | stimulus intenstiy | |
| prm | parameter vector | |
| i | first parameter with respect to which the derivative should be taken | |
| j | second parameter with respect to which the derivative should be taken |
Reimplemented from PsiCore.
| double weibullCore::dg | ( | double | x, | |
| const std::vector< double > & | prm, | |||
| int | i | |||
| ) | const throw (BadArgumentError) [virtual] |
evaluate the derivateive of the core
| x | stimulus intensity | |
| prm | parameter vector | |
| i | index of the parameter with respect to which the derivative should be evaluated |
Reimplemented from PsiCore.
| double weibullCore::dgx | ( | double | x, | |
| const std::vector< double > & | prm | |||
| ) | const [virtual] |
evaluate the first derivative of the core with respect to stimulus intensity
| x | stimulus intensity | |
| prm | parameter vector |
Reimplemented from PsiCore.
| double weibullCore::dinv | ( | double | y, | |
| const std::vector< double > & | prm, | |||
| int | i | |||
| ) | const [virtual] |
evaluate the derivative of the inverse core with respect to parameter i
| y | value at which to evaluate the inverse | |
| prm | parameter vector | |
| i | take the derivative of the inverse core with respect to parameter i |
Reimplemented from PsiCore.
| double weibullCore::g | ( | double | x, | |
| const std::vector< double > & | prm | |||
| ) | const [inline, virtual] |
evaluate the weibull core
| x | stimulus intensity | |
| prm | parameter vector (m,s,...) |
Reimplemented from PsiCore.
| double weibullCore::inv | ( | double | y, | |
| const std::vector< double > & | prm | |||
| ) | const [virtual] |
invert the core
| y | value at which to evaluate the inverse | |
| prm | parameter vector |
Reimplemented from PsiCore.
| std::vector< double > weibullCore::transform | ( | int | nprm, | |
| double | a, | |||
| double | b | |||
| ) | const [virtual] |
transform the parameters from a logistic regression model to starting values
| nprm | number of parameters in the final model | |
| a | intercept of the logistic regression model | |
| b | slope of the logistic regression model |
Reimplemented from PsiCore.
1.7.1