TL;DR
I simulated an unsure population below (under details) for $R=1000$ times, and then measured the probability of observing a leave vote of $\ge 51.9\%$ under such unsure simulated population. This gave me the simulated probability that an unsure population can reach a leave vote that is $51.9\%$ or greater.
This simulated probability of leave under the unsure population is $0$.
Maybe redundant, but I also did the same but with remain to measure the probability that such unsure population to get a $\le 48.1\%$ vote remain.
This simulated probability of remain under the unsure population is also $0$.
Therefore I conclude that the Brexit vote is not a noisy side effect of an unsure or confused population. There seems to be a systematic reason that is deriving them to leave EU.
I uploaded the simulator code here: https://github.com/Al-Caveman/Brexit
Details
Given Assumption 1, the possible answers (or hypothesis) are:
- $H_0$: The public is unsure.
- $H_1$: The public confidently wants to leave.
Note: that it is impossible that the public confidently wants to remain because we have ruled out voting errors.
To answer this question (i.e. whether $H_0$ or $H_1$), I try to measure:
- The probability that an unsure population can achieve $\ge 51.9\%$ leave vote.
- Or, probability that an unsure population can achieve $\le 1-51.9\%$ remain vote.
If this probability is low enough, we can conclude that the public confidently wants to leave (i.e. $H_1$). However, if this probability is large enough, we can conclude that the public is unsure about deciding Brexit (i.e. $H_0$).
In order to measure this probability, we need to know the distribution of an unsure British population in such a binary voting system as Brexit. Therefore, my first step is to this is to simulate this distribution by following the assumption below:
- Assumption 2: a population that is composed of unsure individuals will have a random chance vote. I.e. every possible answer has an equal chance of being chosen.
In my view this assumption is fair/reasonable.
Additionally, we model the leave and remain campaigns as two distinct processes as follows:
- Process $P_{\text{leave}}$ with the output $O_{\text{leave}} = [l_1, l_2, \ldots, l_n]$.
- Process $P_{\text{remain}}$ with the output $O_{\text{remain}} = [r_1, r_2, \ldots, r_n]$.
where:
- $n$ is the total population of UK (includes non-voters).
- For any $i \in \{1,2,\ldots,n\}$, $l_i,r_i \in \{0, 1\}$. An output value of $0$ signifies that a voter has voted no for the subject process, and $1$ significances that a voter has voted yes for the same process.
subject to the following constraint:
- For any $i \in \{1,2,\ldots,n\}$, $l_i$ and $r_i$ cannot simultaneously be $1$ at the same time. I.e. $l_i=1$ necessarily implies that $r_i = 0$, and $r_i=1$ necessarily implies that $l_i=0$. This is due to the fact that a voter $i$ among the population $\{1,2,\ldots,n\}$ cannot vote to both leave and remain at the same time.
For example, if $O_{\text{leave}} = [1,0,0]$, it means that out of a population of $3$, one has voted yes to leave and two have voted no to leave.
Likewise, if $O_{\text{remain}} = [0,1,0]$, it means that out of a population of $3$, one has voted yes to remain and two have voted no to remain.
Note that in both of the examples above, there is one member of the population that has not voted for any of the processes (or campaigns). Specifically, the third voter (i.e. $O_{\text{leave}}[3] = O_{\text{remain}}[3] = 0$).
What we know from here is that out of $33,568,184$ ballot papers, $51.9\%$ have voted to leave EU (i.e. $100-51.9=48.1\%$ voted to remain). This means:
- $n = 33,568,184$.
- $33,568,184 \times 0.519 = 17,421,887.496$ have voted yes to the leave campaign. I.e.
$$
\sum_{i=1}^{33,568,184}O_{\text{leave}}[i] = 17,421,887.496 \approx 17,421,887
$$
- $33,568,184 \times (1-0.519) = 16,146,296.504$ have voted yes to the remain campaign. I.e.
$$
\sum_{i=1}^{33,568,184}O_{\text{remain}}[i] = 16,146,296.504 \approx 16,146,297
$$
Therefore, we define the output arrays as follows:
- For all $i \in \{1,2,\ldots, 17421887\}$, $O_{\text{leave}}[i] = 1$.
- For all $i \in \{17421887+1,17421887+2,\ldots, 33568184\}$, $O_{\text{leave}}[i] = 0$.
- For all $i \in \{1,2,\ldots, 17421887\}$, $O_{\text{remain}}[i] = 0$.
- For all $i \in \{17421887+1,17421887+2,\ldots, 33568184\}$, $O_{\text{remain}}[i] = 1$.
- By Assumption 2, for all $i \in \{1,2,\ldots, 33568184\}$, $O_{\text{unsure},m}[i] = C$, where $C$ is a uniformly distributed random variable that takes values in $\{0,1\}$ (e.g. a fair coin toss), and $m$ is a number that identifies a particular random instantiation of $O_{\text{unsure},m}$. In other words, the probability that two distinct random instantiations of $O_{\text{unsure},m}$ equal each other, i.e. $O_{\text{unsure},1} = O_{\text{unsure},2}$, is $0.5^{33,568,184}$.
Finally, we define the $p_{\text{leave}}$ value of the leave process as follows:
$$
p_{\text{leave}} = \frac{1}{R}\sum_{m=1}^R
\begin{cases}
1 & \text{if } \Big(\sum_{i=1}^{33,568,184} O_{\text{leave}}[i]\Big) \le \Big(\sum_{i=1}^{33,568,184} O_{\text{unsure},m}[i]\Big)\\
0 & \text{else}
\end{cases}
$$
where $R$ is total number of simulation rounds by which at each time a random instance of $O_{\text{unsure},m}$ is defined.
Likewise, we define the $p_{\text{remain}}$ value of the remain process as follows:
$$
p_{\text{remain}} = \frac{1}{R}\sum_{m=1}^R
\begin{cases}
1 & \text{if } \Big(\sum_{i=1}^{33,568,184} O_{\text{remain}}[i]\Big) \ge \Big(\sum_{i=1}^{33,568,184} O_{\text{unsure},m}[i]\Big)\\
0 & \text{else}
\end{cases}
$$
To answer that, I simulated the above in C using $R=1,000$ and the output is:
total leave votes: 17421887
total remain votes: 16146297
simulating p values............ ok
p value for leave: 0.000000
p value for remain: 0.000000
In other words:
- $p_{\text{leave}} = 0$.
- $p_{\text{remain}} = 0$.