Section D.6 Difference in IQR / Median
Hereβs one more robust measure of variability.
def diff_relative_iqr(sample):
"""Difference in IQR / median (M minus female)
sample: DataFrame with `_SEX` and `HTM4` columns
returns: float
"""
sample["HTM4"] += np.random.normal(0, 1, size=len(sample))
grouped_heights = sample.groupby("_SEX")["HTM4"]
medians = grouped_heights.median()
# the results depend on which quantiles we use
iqrs = grouped_heights.quantile(0.75) - grouped_heights.quantile(0.25)
return -diff(iqrs / medians)
diff_relative_iqr(sample)
t5 = sampling_dist(brfss, diff_relative_iqr)
np.mean(t5)
plot_sampling_distribution(t5, format_str="0.4f")
plt.title("Difference in IQR / median", fontsize=14)
p_value(t5)
