SPB Git

spb/wp29_uqo

Public
3.8 KB · 30 lines markdown
1# Report — F5-conf-03: sums of normally distributed random variables23## Question4Are the following true? **A:** if X and Y are each normally distributed, X + Y is normal (constants count as degenerate normals). **B:** if X and Y are independent and each normal, X + Y is normal. Verdicts rest on the proofs in `out/argument.md`; the simulation is only an illustration.56## Data and exclusions7`data/propositions.csv` (2 rows) and `data/design.csv` (2 rows) were read in full (`n_input_rows`). SHA-256 hashes match `bundle.json`. No data issues were found (`data_issues` = []), and nothing was excluded (`out/exclusions.csv`). The design fixes seed = 20261029 (`random_seed`) and n = 100000 (`n_analysed`).89## Method10- **B:** proved with characteristic functions plus independence (`out/argument.md`).11- **A:** refuted with an explicit counterexample. X ~ N(0,1), W = ±1 with probability 1/2 each, independent of X, and Y = W·X. Then Y ~ N(0,1) by symmetry, but X+Y = (1+W)X has law ½δ₀ + ½N(0,4). That law has an atom of mass 1/2 at 0, so it is not normal, not even a degenerate normal. Y = −X was deliberately not used: its sum is a constant, which the proposition counts as normal.12- **Numerical illustration:** `out/analysis.py` simulates n pairs with `numpy.random.default_rng(seed)` and writes them to `out/counterexample.csv`. It computes sample means and SDs (ddof = 1). It also computes the KS distance of each variable from a normal with the same sample mean and SD.13- **Baseline:** with the same rule, the script computes the KS distance of the sum of two *independent* N(0,1) samples drawn from the same generator after the counterexample sample. This is the prop. B case.1415## Results16- Verdict A: **false** (`statement_true` = false). A counterexample is given (`counterexample_provided` = true; construction in `counterexample_values.construction`).17- Verdict B: **true** (`statement_b_true` = true).18- Marginals: mean_x = −0.0033, sd_x = 0.9982, mean_y = −0.0002 and sd_y = 0.9982 (`counterexample_values.*`). Their KS distances from a fitted normal are 0.0021 (`ks_x_vs_normal`) and 0.0020 (`ks_y_vs_normal`). These are the same size as the baseline for a truly normal sum, 0.0020 (`baseline_independent_ks_sum_vs_normal`).19- Sum: mean_sum = −0.0036 and sd_sum = 1.4059, close to √2 (`counterexample_values.mean_sum`, `.sd_sum`). However, its KS distance from N(mean_sum, sd_sum²) is **0.2508** (`counterexample_values.ks_sum_vs_normal`). That is about 120 times the baseline and close to the exact theoretical value of 1/4. The cause is that 50.05% of the simulated sums are exactly 0 (`frac_sum_exactly_zero`), which a continuous normal would give with probability 0.20- The sample correlation of x and y is −0.0082 (`corr_xy`). So x and y are uncorrelated but dependent (|y| = |x|), and (X, Y) is not jointly Gaussian.21- Feasibility: `feasibility` = "complete".2223## Uncertainty24The verdicts are mathematical and carry no sampling uncertainty. The simulated statistics do vary with the sample. For comparison, an approximate 5% KS critical value is 0.0043 (`ks_critical_value_5pct_approx`). This uses the known-parameter formula 1.358/√n, which is conservative when the parameters are estimated. The marginal KS values fall below it, and the sum's KS value exceeds it by a factor of about 58. The atom fraction 0.50047 is within about 0.3 binomial SDs of 1/2 (SD = √(0.25/n) ≈ 0.0016).2526## Limitations and open issues27- **What the simulation shows and what it does not.** At this seed and n, the sample's marginals are numerically indistinguishable from normal while its sum clearly is not. That is consistent with the proof. A finite sample cannot prove that a distribution is or is not normal; the verdicts rest only on `out/argument.md`.28- The KS statistics are descriptive. No formal Lilliefors-corrected p-values were computed, and none are needed for the verdict.29- No other open issues.30
Files · main
Menu

Theme