Statalist The Stata Listserver

[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: Mann-Whitney Test: does the direction of causation matter?

From   Joseph Coveney <>
To   Statalist <>
Subject   Re: Mann-Whitney Test: does the direction of causation matter?
Date   Tue, 24 Jan 2006 18:17:35 +0900

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

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

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

*   For searches and help try:

© Copyright 1996–2021 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index