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 normal, then X+Y is normal (constants count as degenerate normal). Proposition B: if X and Y are independent and each normal, then X+Y is normal. Decide each; give a concrete counterexample for any false one.

# Data and exclusions

data/propositions.csv (2 rows) and data/design.csv (2 rows) were read (n_input_rows); SHA-256 hashes match bundle.json (see out/state/data_audit.md). No data issues (data_issues = []), no exclusions (out/exclusions.csv is header-only). Design: seed random_seed = 20261029, sample size n_analysed = 100000.

# Method

Verdicts are by mathematical argument (out/argument.md): B via characteristic functions; A refuted by the construction X ~ N(0,1), S Rademacher independent of X, Y = S·X (counterexample_values.construction). Y = −X was rejected because its sum is a constant, which the proposition counts as normal. out/analysis.py simulates the construction with numpy.random.default_rng(seed), writes out/counterexample.csv, and computes sample means/SDs (ddof=1) and the KS distance of x+y to the normal with matching sample mean and SD. As a baseline, it also computes the same KS statistic for a sum of two independent N(0,1) samples (seed+1 stream; baseline_b_*).

# 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: 0, 1, 0, 1, 0, √2).
  • KS distance of x+y to a fitted normal: counterexample_values.ks_sum_vs_normal = 0.2508, compared with supplementary_diagnostics.ks_x_vs_normal = 0.0021, ks_y_vs_normal = 0.0020, and the independent-sum baseline baseline_b_indep_ks_sum_vs_normal = 0.0019. The approximate 5% KS critical value at this n is 0.0043 (supplementary_diagnostics.ks_critical_value_5pct_approx).
  • Share of rows with x+y exactly 0: supplementary_diagnostics.share_sum_exactly_zero = 0.5005 (theory 1/2) — the atom that rules out normality. Sample correlation of x and y: supplementary_diagnostics.corr_xy = −0.0082 (theory 0: uncorrelated but dependent).

# Uncertainty

The verdicts are deductive and carry no statistical uncertainty. The simulation figures are subject to Monte Carlo error of order 1/√n ≈ 0.003; the sum's KS distance (0.25) exceeds this by about two orders of magnitude, while the marginal KS distances are at sampling-noise level. The KS critical value is the asymptotic one for a fully specified null; using fitted parameters (Lilliefors setting) makes it conservative, which does not affect the conclusion.

# Limitations and open issues

  • What the illustration shows and what it doesn't: It shows numerically that, for this construction, the samples of x and y look like N(0,1) and the sample of x+y clearly doesn't look normal (half its mass sits at 0). It does not prove anything. Finite-sample checks can't establish that a distribution is exactly normal, and the verdicts rely only on the proofs in out/argument.md.
  • Tolerance-based checks were not used for the atom: x+y = 0 holds exactly in floating point when y = −x.
  • No other open issues; feasibility is complete.
Files · main
Menu

Theme