Thursday, January 19, 2012

Will Rogers Phenomenon

Following is a example of the Will Rogers phenomenon. This discussion was a tangent from a water-cooler discussion of the Monty Hall problem (much more interesting).

The Will Rogers phenomenon occurs when the averages
of 2 groups are raised by moving one item from one
to the other.Note: Data may not be truly
representative of actual figures. #›

# Sample IQs
$Ohio = 110,105,115,120
$StateUpNorth = 90,95,85,90

# Initial State (pun intended...)
"Average Ohio IQ before move is: {0}" -f ($Ohio |
Measure-Object -Average).Average

"Average StateUpNorth IQ before move is: {0}`n" -f ($StateUpNorth |
Measure-Object -Average).Average

# Rumoured to be in the Toledo area...
$LowestOhioIQ = ($Ohio sort)[0]

# Remove from Ohio
$Ohio = @($ohio where {$_ -ne $LowestOhioIQ})

# Add to State up North (Ann Arbor area)
$StateUpNorth+= $LowestOhioIQ

# Final State
"Average Ohio IQ after move is: {0}" -f ($Ohio |
Measure-Object -Average).Average

"Average StateUpNorth IQ after move is: {0}" -f ($StateUpNorth |
Measure-Object -Average).Average



Anonymous said...


Thanks for this post - interesting example.

I found your final answer a bit different than expected. Your results for the StateUpNorth average after the move is stated as 105, but in fact should be 93. The PowerShell statement to add the value of 105 to the existing set of values for StateUpNorth resulted in losing the existing values and replacing StateUpNorth with a single value of 105 - also resulting in an average of 105.

The existing statement below:

$StateUpNorth =+ $LowestOhioIQ

Should be replaced with the following statement (note the use of the += operator instead of =+ operator):

$StateUpNorth += $LowestOhioIQ

I ran your code and added displays of the IQ items and counts for each variable - both before and after the transfer of the single value between value sets. This is how I discovered the unintended results and the root cause.

Even with the corrected code and resulting averages, the point of your example still holds: Ohio IQ average rose from 112.5 to 115 (as before) and the StatUpNorth IQ average rose from 90 to 93 (instead of to 105 - but still an increase).

Scott R.

Wes Stahler said...

Thanks for catching my dyslexic mistake!