SED navigation bar go to SED home page go to Dataplot home page go to NIST home page SED Home Page SED Staff SED Projects SED Products and Publications Search SED Pages
Dataplot Vol 2 Vol 1

MOOD SCORE

Name:
    MOOD SCORE (LET)
Type:
    Let Subcommand
Purpose:
    Compute the Mood scores of a variable.
Description:
    The Mood scores are defined as

      \( s(R_{j}) = (R_{j} - \frac{n+1}{2})^{2} \)

    where \( R_{j} \) is the rank of the j-th observation and n is the number of observations. That is, Mood scores are the square of the difference between the observation rank and the average rank.

Syntax:
    LET <s> = MOOD SCORE <y>             <SUBSET/EXCEPT/FOR qualification>
    where <y> is the response variable;
                <s> is a variable where the computed Mood scores are saved;
    and where the <SUBSET/EXCEPT/FOR qualification> is optional.
Examples:
    LET MOODSCOR = MOOD SCORE Y
Note:
    Ties are assigned an average rank. For example, if the 2nd and 3rd highest values are equal, each is assigned a rank of 2.5.
Default:
    None
Synonyms:
    None
Related Commands: Reference:
    Bradley (1968), "Distribution-Free Statistical Tests," Prentice Hall, p. 122.

    Mood (1954), "On the Asymptotic Efficiency of Certain Nonparametric Two-Sample Tests," Annals of Mathematical Statistics, Vol. 25, pp. 514-522.

Applications:
    Nonparametric statistics
Implementation Date:
    2023/06
Program:
    . Step 1:   Define the data
    .
    let y1 = data 16.55 15.36 15.94 16.43 16.01
    let y2 = data 16.05 15.98 16.10 15.88 15.91
    let n1 = size y1
    let n2 = size y2
    let n = n1 + n2
    .
    . Step 2:   Combine into single array
    .
    let y tag = stack y1 y2
    if n1 <= n2
       let tag = tag - 1
       let n1t = n1
    else
       let tag = 0 subset tag = 2
       let n1t = n2
    end of if
    .
    . Step 3:   Compute the Mood scores
    .
    let ymood = mood scores y
    .
    . Step 4:   Two-Sample Linear Rank Test
    .
    let temp = tag*ymood
    let s = sum temp
    .
    let aval = sum ymood
    let smean = (n1t/n)*aval
    let meanrank = mean ymood
    let temp = (ymood - meanrank)**2
    let aval = sum temp
    let svar = ((n1*n2)/(n*(n-1)))*aval
    let statval = (s - smean)/sqrt(svar)
    let statval = round(statval,3)
    let cv = norppf(0.975)
    let upplim = round(cv,2)
    let lowlim = -upplim
    feedback off
    print "Two Sample Linear Rank Sum Test Based on Mood Scores"
    print "H0: Scales are Equal"
    print "Ha: Scales are Not Equal"
    print "alpha: 0.05"
    print "Test Statistic: ^statval"
    print "Lower Critical Value: ^lowlim"
    print "Upper Critical Value: ^upplim"
    if statval < cv
       print "Conclusion: Accept H0"
    else
       print "Conclusion: Reject H0"
    end of if
        
    The following output is generated
    Two Sample Linear Rank Sum Test Based on Mood Scores
    H0: Scales are Equal
    Ha: Scales are Not Equal
    alpha: 0.05
    Test Statistic: -1.156
    Lower Critical Value: -1.96
    Upper Critical Value: 1.96
    Conclusion: Accept H0
        
Date created: 07/14/2023
Last updated: 07/14/2023

Please email comments on this WWW page to alan.heckert@nist.gov.