Expected value of median of rolling three fair dice

In summary, the conversation discusses the expected value of the median of rolling a die three times. The solution is found on Math Stackexchange using symmetry arguments. The median of three dice rolls is determined to be 7/2, which is confirmed through a python simulation. The conversation also addresses the use of high = 7 instead of high = 6 in the simulation, with the conclusion that any number between 6 and 7 will work.f
  • #1
611
116
Homework Statement
What is the expected value of the median of three dice rolls?
Relevant Equations
Expected Values
Hi,

I was reading this problem and I found a solution on Math Stackexchange which I don't quite understand.

Question: Calculate the expected value of the median of rolling a die three times.

Attempt:
I read the following answer on math stack exchange here
"As already noted in a comment, the result can be derived from symmetry without any calculation. The probability distribution of the die is invariant under the symmetry transformation ##x \rightarrow 7 - x##, a reflection about ##x = \frac{7}{2}##. Thus the median and the mean must also be invariant under this transformation. Thus they must be the centre of the reflection, [itex] x =\frac{7}{2} [/itex] . "


I don't quite understand why this means the median of rolling three die is ##\frac{7}{2}##. I apologize if this is quite obvious, but any help would be appreciated
 
  • #2
The median of three dice would be ##21/2## by the same symmetry argument.
 
  • #3
The median of three dice would be ##21/2## by the same symmetry argument.
sure, but I thought the median was a non-linear operator, so how have we arrived at that answer?
 
  • #4
sure, but I thought the median was a non-linear operator, so how have we arrived at that answer?
Symmetry!

It doesn't have to be non-linear in all cases. It's only non-linear in general.
 
  • #5
The median of three dice would be ##21/2## by the same symmetry argument.
Sorry, I just realized I wasn't clear. When I said 3 dice rolls, I meant as in rolling the dice three times and then calculating the median of the sequence (e.g. 1, 2, 5 --> median = 2). I think 21/2 might not be correct as it is bigger than 6 so median of the three rolls shouldn't (and I dare say can't) be that...
 
  • #6
Sorry, I just realized I wasn't clear. When I said 3 dice rolls, I meant as in rolling the dice three times and then calculating the median of the sequence (e.g. 1, 2, 5 --> median = 2). I think 21/2 might not be correct as it is bigger than 6 so median of the three rolls shouldn't (and I dare say can't) be that...
Okay, of course, not added together. Then it's ##7/2## by the symmetry argument.

111 is as likely as 666
112 is as likely as 665
etc.

You ought to simulate this, with a computer script or otherwise, if you don't see it.
 
  • #7
Okay, of course, not added together. Then it's ##7/2## by the symmetry argument.

111 is as likely as 666
112 is as likely as 665
etc.

You ought to simulate this, with a computer script or otherwise, if you don't see it.
Yes that is true, I wrote a quick python simulation to test it and it does make sense now. Thanks @PeroK !

I'll just leave the code here for any future readers:
Expected Median of Three Dice Python Simulation:
# import libraries
import numpy as np

# define the number of repetitions
number_repetitions = 1000

# now make an array to store the medians
median_array = np.zeros(number_repetitions)

# start the loop
for i in range(number_repetitions):
  # get the outcomes of the three dice and append median to array
  median_array[i] = np.median(np.random.randint(low = 1, high = 7, size = (1, 3)))

print('The expected value of the median of three dice rolls is', np.average(median_array))
 
  • #8
Yes that is true, I wrote a quick python simulation to test it and it does make sense now. Thanks @PeroK !

I'll just leave the code here for any future readers:
Expected Median of Three Dice Python Simulation:
# import libraries
import numpy as np

# define the number of repetitions
number_repetitions = 1000

# now make an array to store the medians
median_array = np.zeros(number_repetitions)

# start the loop
for i in range(number_repetitions):
  # get the outcomes of the three dice and append median to array
  median_array[i] = np.median(np.random.randint(low = 1, high = 7, size = (1, 3)))

print('The expected value of the median of three dice rolls is', np.average(median_array))

In your code, why did you set high = 7 not high = 6 in this line: median_array = np.median(np.random.randint(low = 1, high = 7, size = (1, 3)))? Since the die go from 1 to 6 not 7.
Thanks in advance for clarification.
 
  • #9
The median of any number of die rolls is 7/2. It is expected that the number of rolls greater than this number will be equal to number less than this number.

I see to recall that any number between 6 and 7 will do.
 
  • #10
The median of any number of die rolls is 7/2. It is expected that the number of rolls greater than this number will be equal to number less than this number.

I see to recall that any number between 6 and 7 will do.
I see. Thanks for your clarification.
 

Suggested for: Expected value of median of rolling three fair dice

Replies
7
Views
496
Replies
7
Views
1K
Replies
31
Views
2K
Replies
1
Views
488
Replies
6
Views
625
Replies
9
Views
464
Back
Top