F5-conf-03 — Sums of normally distributed random variables
Question
Proposition A says that if X and Y are each normal, then X+Y is normal, with a constant counting as a degenerate normal. Proposition B says the same when X and Y are also independent. For each proposition the question is whether it is true or false. A true proposition needs a proof sketch; a false one needs a concrete, simulated counterexample. The full argument is in out/argument.md.
Data and exclusions
data/propositions.csv: 2 rows.data/design.csv: 2 rows, giving seed 20261029 and n = 100000 (n_input_rows,random_seed,counterexample_values.n).- No data issues were found (
data_issues= []). The SHA-256 hashes match the bundle (seeout/state/data_audit.md). - Nothing was excluded (
out/exclusions.csv). The analysed sample is the full simulated sample, n = 100000 (n_analysed).
Method
- The verdicts come from the mathematics, not the simulation.
- B is proved with characteristic functions: under independence they multiply, and the product of two normal characteristic functions is again a normal characteristic function.
- A is refuted with this construction: X ~ N(0,1), S an independent random sign (±1 with probability 1/2 each), and Y = S·X (
counterexample_values.construction). Y ~ N(0,1) because N(0,1) is symmetric. X+Y = (1+S)X equals 0 with probability 1/2 and 2X otherwise. That law has an atom at 0, which no non-degenerate normal has, and it is not constant (variance 2). So X+Y is not normal.
- Numerical illustration.
out/analysis.pydraws n pairs withnumpy.random.default_rng(seed)and writes them toout/counterexample.csv.- It reports sample means and SDs (ddof = 1) of x, y and x+y.
- It reports the KS distance between x+y and the normal with the same sample mean and SD.
- Supplementary checks are under
numerical_checks. One of them is a baseline for B: a separate stream of independent N(0,1) pairs, seeded with [seed, 1], whose sum is compared with N(0,2).
Results
- Proposition A is false (
statement_true= false). A concrete counterexample is provided (counterexample_provided= true). - Proposition B is true (
statement_b_true= true). - Simulated counterexample (n = 100000, seed 20261029):
- Marginals: mean_x = -0.0033, sd_x = 0.9982, mean_y = -0.0002, sd_y = 0.9982 (
counterexample_values.mean_x,.sd_x,.mean_y,.sd_y). These match N(0,1). - KS distances of the marginals from their fitted normals are 0.0021 (x) and 0.0020 (y) (
numerical_checks.ks_x_vs_fitted_normal,numerical_checks.ks_y_vs_fitted_normal). - KS p-values against N(0,1) are 0.40 (x) and 0.95 (y) (
numerical_checks.ks_x_vs_N01_pvalue,numerical_checks.ks_y_vs_N01_pvalue). - Sum: mean_sum = -0.0036 and sd_sum = 1.4059 (
counterexample_values.mean_sum,.sd_sum); the theoretical SD is √2 ≈ 1.414 (numerical_checks.theoretical_sd_sum). - The share of sums exactly equal to 0 is 0.50047 (
numerical_checks.frac_sum_exactly_zero), against a theoretical 0.5. - The KS distance of the sum from its fitted normal is 0.2508 (
counterexample_values.ks_sum_vs_normal). That is about 120 times the distance for the marginals, and close to the theoretical value of about 0.25 (half of the jump of 1/2 at 0). Its p-value is 0.0 to machine precision (numerical_checks.ks_sum_vs_fitted_normal_pvalue).
- Marginals: mean_x = -0.0033, sd_x = 0.9982, mean_y = -0.0002, sd_y = 0.9982 (
- Baseline for B: the sum of independent normals is at KS distance 0.0024 from N(0,2), p = 0.62 (
numerical_checks.propB_ks_sum_independent_vs_N02,numerical_checks.propB_ks_pvalue). This is consistent with B. - Feasibility: complete (
feasibility).
Uncertainty
- The truth values are proved, so they carry no statistical uncertainty.
- The simulated statistics do have Monte Carlo error. With n = 100000 the standard error of a sample mean is about 0.003 for x and 0.0045 for x+y, so the observed means are within about 1 SE of 0.
- A 95% KS critical value at this n is about 0.0043. The marginal distances fall below it; the sum's distance (
counterexample_values.ks_sum_vs_normal) is about 58 times larger. - When the normal's parameters are estimated from the data, the standard KS p-values are conservative (Lilliefors issue). That cannot change the conclusion for a distance of 0.25.
Limitations and open issues
- What the illustration shows: with the prescribed seed and n, the sampled marginals look like N(0,1), while the sum has a point mass of about one half at 0 and is far from any normal.
- What it does not show: it does not prove that the marginals are exactly normal, that the sum is non-normal, or that B holds. A finite sample cannot establish a distributional identity. Those facts rest on the arguments in
out/argument.md. - KS p-values with estimated parameters are only approximate.
- Many other counterexamples exist; for example, Y = X when |X| ≤ c and Y = −X otherwise. The random-sign construction was chosen because its departure from normality (an atom of mass 1/2) is obvious at any sample size.
- No open issues remain.