SPB Git

spb/wp29_uqo

Public

# 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 (see out/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.py draws n pairs with numpy.random.default_rng(seed) and writes them to out/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).
  • 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.
Files · main
Menu

Theme