Luke Lindsay wrote:
I have an ordinal measure of risk aversion and binary variable
indicating whether a subject opted to play a gamble.
I want to test whether there is a relation between these two variables.
One way would be to run a probit/logit e.g.
probit accepts_gamble risk_aversion
However, this is obviously unsound since the measure of risk aversion is
ordinal.
Would it be appropriate to run a Mann-Whitney Test 'in reverse' e.g.
ranksum risk_aversion, by(accepts_gamble )
If not, are there any other tests that would be appropriate?
--------------------------------------------------------------------------------
Would any of the commands below be more gratifying? I don't know
that any will be particularly better in testing whether there is a relation
than the Wilcoxon-Mann-Whitney test as you've used it, but most will give a
recognized numerical index of the association in addition to a test
statistic/p-value. The first several are for trend. -nptrend-, which
doesn't yield any index other than the ranksum, gives the identical test
statistic and p-value as your Wilcoxon-Mann-Whitney test. (It is an
extension, according to its help file.) The last fits a parametric model of
orthogonal polynomial contrasts of the ordered-categorical predictor, a bit
more extensive exploration of the nature of relationship. The last three
are or use user-written commands that would require installing if you
haven't already installed them. -egen ridit()- would require installing,
too. (-findit egenmore-)
Joseph Coveney
clear
quietly {
set obs 200
drawnorm latent1 latent2, corr(1 0.1 \ 0.1 1) ///
seed(`=date("2006-01-24", "ymd")')
generate byte accepts_gamble = latent1 > 0
generate byte risk_aversion = 0
forvalues cut = 0.2(0.2)0.8 {
replace risk_aversion = risk_aversion + ///
(norm(latent2) > `cut')
}
}
spearman risk_aversion accepts_gamble
ktau risk_aversion accepts_gamble
egen float ridit_risk_aversion = ridit(risk_aversion)
nptrend accepts_gamble, by(ridit_risk_aversion)
tabulate risk_aversion accepts_gamble, taub gamma
display 2 - 2 * norm(r(gamma) / r(ase_gam))
display 2 - 2 * norm(r(taub) / r(ase_taub))
somersd risk_aversion accepts_gamble
polychoric risk_aversion accepts_gamble // correlate latent*
xi3: probit accepts_gamble o.risk_aversion, nolog
exit
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/