SPB Git

spb/wp29_uqo

Public

# Report — F5-conf-03: sums of normally distributed random variables

# Question

Proposition A: if X and Y are each normally distributed, X + Y is normal (constants count as degenerate normals). Proposition B: if X and Y are independent and each normal, X + Y is normal. Decide each by mathematical argument; give a concrete, simulated counterexample for any false proposition.

# Data and exclusions

Inputs: data/propositions.csv (2 rows) and data/design.csv (2 rows: seed 20261029, n 100000) — n_input_rows, random_seed. No missing values, duplicates or anomalies (data_issues = []); no exclusions (out/exclusions.csv). The simulated sample has n_analysed = 100000 rows.

# Method

  • Verdicts are established by proof (full argument in out/argument.md), not by simulation.
  • B: characteristic-function argument; independence factorises φ_{X+Y} = φ_X φ_Y = exp(i(μ₁+μ₂)t − (σ₁²+σ₂²)t²/2).
  • A: counterexample X ~ N(0,1), W independent Rademacher sign, Y = W·X (counterexample_values.construction). Y ~ N(0,1) by symmetry; 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. (Y = −X would not work, since the constant sum counts as normal under A.)
  • Illustration: numpy.random.default_rng(seed) with design seed and n; draw x then w; save (x, y) to out/counterexample.csv. Report means and sds (ddof = 1) and the KS distance of x+y to the normal with the sample mean and sd. As a baseline (the B setting), the same KS rule is applied to x + z with z an independent N(0,1) draw (supplementary.baseline_ks_independent_sum_vs_normal).

# 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 sample (counterexample_values): mean_x = −0.0033, sd_x = 0.9982; mean_y = −0.0002, sd_y = 0.9982; mean_sum = −0.0036, sd_sum = 1.4059 (theory √2 ≈ 1.414).
  • KS of x+y vs fitted normal: counterexample_values.ks_sum_vs_normal = 0.2508, versus 0.0021 and 0.0020 for the marginals (supplementary.ks_x_vs_normal, supplementary.ks_y_vs_normal) and 0.0018 for the independent-sum baseline (supplementary.baseline_ks_independent_sum_vs_normal).
  • Share of sums exactly equal to 0: supplementary.share_sum_exactly_zero = 0.50047 (theory 0.5). Sample correlation of x and y: supplementary.corr_x_y = −0.0082 (theory 0): the two normals are uncorrelated but dependent.
  • feasibility = "complete".

# Uncertainty

The verdicts are mathematical and carry no statistical uncertainty. The sample statistics have sampling error of order 1/√n ≈ 0.003 (e.g. se of mean_x ≈ 0.003, of sd_sum ≈ 0.005 roughly); all observed values are within that range of their theoretical values. The KS statistics use parameters estimated from the sample (Lilliefors setting), so standard KS p-values do not apply; we report distances only. The population KS distance of the sum to any normal is ≥ 0.25 (atom of mass 1/2), matching the observed 0.2508.

# Limitations and open issues

  • What the illustration establishes: for this seed and n, the simulated x and y are numerically indistinguishable from N(0,1) by KS distance, while x+y is grossly non-normal (half its mass at exactly 0; KS ≈ 0.25, about 100× the marginal values). It is a reproducible concrete instance consistent with the proof.
  • What it does not establish: a finite sample cannot prove that a marginal is exactly normal or that a law is non-normal; the truth values of A and B rest solely on the arguments in out/argument.md. The simulation also does not test proposition B beyond one illustrative baseline.
  • supplementary keys go beyond the required schema; they are diagnostics only.
  • No open issues.
Files · 452964ee0fbbaa40fbbed2c87a54ca798ffd6a85
Menu

Theme