Median of a sample If the distribution is given, as above, the median can be determined easily. In this problem we will learn how to approximate the median when the distribution is not given, but we are given samples that it generates. Similar to distributions, we can define the median of a set to be the set element m′ such that at least half the elements in the set are ≤m′ and at least half the numbers in the collection are ≥m′. If two set elements satisfy this condition, then the median is their average. For example, the median of [3,2,5,5,2,4,1,5,4,4] is 4 and the median of [2,1,5,3,3,5,4,2,4,5] is 3.5. To find the median of a P distribution via access only to samples it generates, we obtain ???? samples from P, caluclate their median ????????, and then repeat the process many times and determine the average of all the medians.

Exercise 2

Write a function sample_median(n,P) that generates n random values using distribution P and returns the median of the collected sample.

Hint: Use function random.choice() to sample data from P and median() to find the median of the samples

* Sample run *

print(sample_median(10,[0.1 0.2 0.1 0.3 0.1 0.2]))
print(sample_median(10,[0.1 0.2 0.1 0.3 0.1 0.2]))
print(sample_median(5,P=[0.3,0.7])
print(sample_median(5,P=[0.3,0.7])
* Expected Output *

4.5
4.0
2.0
1.0
Exercise 4

In this exercise, we explore the relationship between the distribution median mm, the sample median with ????n samples, and ????[????????]E[Mn],the expected value of ????????Mn.

Write a function average_sample_median(n,P), that return the average ????????Mn of 1000 samples of size n sampled from the distribution P.

* Sample run *

print(average_sample_median(10,[0.2,0.1,0.15,0.15,0.2,0.2]))
print(average_sample_median(10,[0.3,0.4,0.3]))
print(average_sample_median(10,P=[0.99,0.01])
* Expected Output *

3.7855
2.004
1
----------------------------------------------------------------------

Question a:

In exercise 2,

Which of the following is a possible output of sample_median(n, [0.12,0.04,0.12,0.12,0.2,0.16,0.16,0.08]) for any n?

3

9

7

4

Question b:

In exercise 4,

what value does average_sample_median(100,[0.12, 0.04, 0.12, 0.12, 0.2, 0.16, 0.16, 0.08]) return?