# F5-conf-03 — Sums of normal random variables ## Question Two propositions are given in `data/propositions.csv`: - **A:** if X and Y are each normal, then X + Y is normal. A constant counts as a degenerate normal. - **B:** if X and Y are independent and each normal, then X + Y is normal. For each one, decide whether it is true or false. For a false proposition, give a concrete counterexample and illustrate it numerically. ## Data and exclusions - `propositions.csv`: 2 rows (A and B). - `design.csv`: 2 rows, giving seed = 20261029 and n = 100000. No rows were excluded and no data problems were found (`data_issues` = []). ## Method The verdicts rest on mathematical proof, which is set out in full in `out/argument.md`: - **A is false.** Counterexample: X ~ N(0,1), W an independent random sign, Y = W·X. Y is N(0,1) because the N(0,1) law is symmetric. But X + Y = (1+W)X has an atom of mass 1/2 at 0 and is not constant, so it is neither a non-degenerate nor a degenerate normal. - **B is true.** Under independence the characteristic functions multiply, and Lévy's uniqueness theorem then gives X + Y ~ N(μ₁+μ₂, σ₁²+σ₂²). The numerical illustration uses `numpy.random.default_rng(20261029)`: - It draws n = 100000 values of x ~ N(0,1), then independent signs w, and sets y = w·x. The (x, y) pairs are written to `out/counterexample.csv`. - It reports sample means and standard deviations (ddof = 1) of x, y and x + y. - It computes the KS distance between x + y and the normal with the sample mean and sd of x + y, as required. - As extra diagnostics, it computes the KS distances of x and y from N(0,1) and the share of exact zeros in x + y. Running `out/analysis.py` regenerates everything deterministically. ## Results | quantity | value | |---|---| | verdict A (`statement_true`) | **false** | | verdict B (`statement_b_true`) | **true** | | mean_x, sd_x | −0.0033, 0.9982 | | mean_y, sd_y | −0.0002, 0.9982 | | mean_sum, sd_sum | −0.0036, 1.4059 (theory: 0, √2 ≈ 1.414) | | KS(x vs N(0,1)), KS(y vs N(0,1)) | 0.0028, 0.0016 | | share of x + y exactly 0 | 0.5005 (theory 0.5) | | KS(x + y vs fitted normal) | **0.2508** | | approx. 5% KS critical value, 1.358/√n | 0.0043 | - **Marginals:** the KS distances of x and y from N(0,1) are below the critical value, which is consistent with normality. - **Sum:** the sum departs from normality by a wide margin. Half of the sum's mass sits exactly at 0, and its KS distance is about 58 times the critical value. ## Uncertainty - The verdicts are mathematical facts and carry no sampling uncertainty. - Sampling variation affects only the summary numbers; for example, the share of zeros has standard error √(0.25/n) ≈ 0.0016. - The KS critical value above is the textbook figure for a fully specified null. Because the comparison normal for the sum was fitted to the same data (Lilliefors setting), the true critical value is smaller, which only strengthens the rejection. ## Limitations and open issues - **What the illustration does not show:** a finite sample cannot prove that the marginals are exactly normal, and it does not prove the verdicts. The proofs are in `out/argument.md`. - **What it does show:** the simulated construction behaves as the proof predicts. The marginals look normal at n = 100000, and the sum is clearly non-normal, with an atom at 0 of about half the mass. - **Choice of counterexample:** this is one of many possible counterexamples. Another is Y = X when |X| ≤ c and Y = −X otherwise. The random-sign version was chosen because its departure from normality is the most visible. - **Extra keys:** a few diagnostic keys were added inside `counterexample_values` (marginal KS distances, share of zeros, critical value) alongside the required ones.