Atlas
statminds
NonparametricThe underlying model family class (e.g. GLM, linear model, categorical matrix, log-linear).Parametric ReferenceStatistical methods that assume a specific probability distribution family (typically normal).12-stage workflow

Anderson-Darling Test for Normality

Tail-sensitive normality test; more powerful than KS for detecting departures in distribution tails..

Model familyNonparametric
Hypothesistwo-tailed
AliasesAD test · Anderson-Darling normality test
G1
description
Visual Overview Dashboard
1

What is it?

Anderson-Darling Test is a tail-sensitive normality check. It evaluates distribution deviations, penalizing tail errors much more heavily than standard methods.

2

When to use it

  • Tail Deviations: Use when extreme outliers/skewness are critical (e.g. risk models).
  • Estimated Parameters: Robust for unknown mean and variance parameters.
3

Core Idea

It calculates the differences between the sample's cumulative frequency step function and the expected normal curve, amplifying tail discrepancies:

Heavy Tails Penalized
4

Hypotheses

H0: Sample matches a normal distribution
Ha: Sample violates normal distribution
5

How it works

  1. Standardize scores into standard normal z-values.
  2. Evaluate z-scores inside standard normal CDF function.
  3. Sum logarithmic deviations with heavy tail weighting.
  4. Compute tail-corrected A^2 statistic.
6

Assumptions

📊 Continuity: Measurements are continuous numbers.
👤 Independence: Measurements are independent.
7

Effect Size

The A^2 statistic is the primary measure of tail discrepancy. Higher values mean the sample has significantly more outliers or skewness than a normal curve.

8

Quick Example

Sample ShapeA^2 Statp-value
Symmetric normal0.2450.762
Outliers in tails1.1200.005
Interactive Sandbox

Anderson-Darling Normality Live Laboratory

Increase tail spread or skewness to watch the A-squared statistic climb.

Presets
Tail Spread Factor1.0
Skewness0.0
Sample Size (N)20
Standardized sample values distribution vs normal referenceValues mapped on X-axis (-4 to +4)
Calculations Output
MetricValue
A^2 Statistic19.8840
Sample Size (N)20
p-value (normality check)0.0000
Statistical Verdict
❌ Non-Normal Distribution
A^2 statistic exceeds threshold (A^2 = 19.884, p = 0.0000). Reject H0.
01Hypothesis test logic

Hypotheses

Pragmatic null and alternative hypotheses defined in mathematical notation.

A hypothesis is a question sharpened to a point. Ambiguity is the enemy of inference.
Logic Core
Null · H₀

H₀: Data comes from normal distribution

Alternative · Hₐ

Hₐ: Data does NOT come from normal distribution

Why it matters two-tailed

Weights tails more heavily than KS test, making it more powerful for detecting tail deviations. Also available for exponential, logistic, Weibull, and other distributions. Modified version adjusts for small samples.

02Model diagnostics

Assumptions

The core mathematical criteria needed to ensure that statistical testing remains unbiased and valid.

Build your analysis on rock, not sand. Verify the mathematical foundation before building the model.
Integrity Shield
5
Assumptions
0
Critical / High Severity
How to check
Quick
Count unique values; check data type
Rigorous
Plot histogram; compute proportion of ties; examine measurement precision
If violated
Consequence: Test becomes conservative with discrete data; ties reduce power Fixes: Add small random noise (jitter) if appropriate; use exact tests for discrete data Alternatives: Chi-square goodness-of-fit (discrete), Shapiro-Wilk (handles ties better than KS)
chi square goodness of fitshapiro wilk
How to check
Quick
Review study design; verify no subject measured multiple times
Rigorous
Check autocorrelation (time series); examine residual plots for patterns; test for clustering effects
If violated
Consequence: Underestimated standard errors; inflated Type I error rate; invalid p-values Fixes: Use only independent subset; account for dependency structure in modeling Alternatives: Mixed models with random effects; time series methods; cluster-robust inference
How to check
Quick
Count sample size
Rigorous
Check against minimum requirements for target distribution; consider power analysis
If violated
Consequence: Critical values unreliable; test may lack power; unstable results Fixes: Collect more data if possible; use exact tests for very small n Alternatives: Shapiro-Wilk (valid for n ≥ 3), Q-Q plot visual inspection, exact tests
shapiro wilk
How to check
Quick
Verify using sample statistics (not specified a priori)
Rigorous
Document source of parameter estimates; confirm test adjusts critical values appropriately
If violated
Consequence: Not violated - AD test designed for estimated parameters. Using unadjusted critical values would be error. Fixes: N/A - this is the standard approach Alternatives: N/A - AD naturally handles parameter estimation
How to check
Quick
Review sampling procedure; check for obvious subgroups
Rigorous
Plot histogram for multimodality; test for mixture distributions; stratify by known groups
If violated
Consequence: Mixture distributions appear non-normal; test will reject even if components are normal Fixes: Analyze subgroups separately; use mixture modeling; stratify before testing Alternatives: Finite mixture models; kernel density estimation; stratified analysis
03Residual Forensics

Diagnostics

Checking residual plots and indices to examine model deviations and ensure standard error integrity.

Trust, but verify. The outliers often hold more truth than the averages.
System Health
Essential checks
  1. A² statistic (Anderson-Darling test statistic) — Measures weighted squared distance between empirical and theoretical CDFs (weights tails heavily)A² > 0; larger = greater deviation. Guidelines: <0.5 close to normal, 0.5-1.0 moderate departure, >1.0 strong departure. No upper bound.
  2. Adjusted A² — Small-sample correction: A²* = A² × (1 + 0.75/n + 2.25/n²)Use adjusted A² for n < 25. Corrects for finite-sample bias. Software typically reports this automatically.
  3. p-value — Probability of observing A² as extreme under H₀ (normality)p < 0.05 → reject normality. But consider A² magnitude and sample size - statistical vs practical significance.
  4. Q-Q plot (quantile-quantile plot) — Visual assessment of distributional fit; shows where deviations occurPoints on line = good fit. S-curve = skewness. Bowing at ends = tail issues (heavy/light). Essential diagnostic - never skip.
  5. Critical values at various α levels — Threshold A² must exceed for rejection at given significance levelTypical critical values (normal): 0.631 (α=0.10), 0.752 (α=0.05), 1.035 (α=0.01). If A² > critical value, reject H₀.
Recommended checks
  1. Histogram with normal overlay — Shows shape of distribution relative to fitted normalAssess skewness, kurtosis, multimodality visually. More intuitive than ECDF for many users.
  2. Tail-specific diagnostics (tail A² contributions) — AD weights tails more than KS; identify if departure is primarily in tails vs centerCompute separate A² for lower tail, upper tail, center. Guides transformation choice or outlier investigation.
  3. Comparison with Shapiro-Wilk and Kolmogorov-Smirnov — Different tests have different power properties; comparison adds confidenceIf all three agree → strong evidence. If SW rejects but AD doesn't → center deviation. If AD rejects but SW doesn't → tail deviation.
  4. Skewness and kurtosis statistics — Quantify specific departures from normalityNormal: skewness = 0, kurtosis = 3. |skewness| > 1 or |excess kurtosis| > 1 suggests non-normality. Diagnose transformation needs.
  5. Sample size sensitivity analysis — Shows how test conclusion changes with nPlot A² vs n or p-value vs n. Helps distinguish statistical significance from practical importance.
  6. Bootstrap A² distribution — Empirical sampling distribution; provides confidence interval for A²If bootstrap CI for A² excludes 0 → significant departure. Shows stability of A² estimate across samples.
  7. Detrended Q-Q plot (residuals from Q-Q line) — Highlights subtle systematic deviations more clearly than standard Q-QPlot residuals vs theoretical quantiles. Easier to spot patterns (non-random scatter indicates non-normality).
  8. P-P plot (probability-probability) — Alternative to Q-Q plot; compares cumulative probabilitiesMore sensitive to center deviations; Q-Q better for tails. Use both for complete picture.
  9. Transformation analysis (if non-normal) — Test normality after log, sqrt, Box-Cox transformationsCompare A² across transformations. Find transformation that achieves normality (if needed for analysis).
04Live Instances

Applied Minds

Review concrete study examples, data layout guidelines, and copy executable syntax scripts.

Theory is the map. Practice is the terrain. Simulation bridges the gap.
Applied Wisdom
Example 01

Test Normality of Reaction Times with Q-Q Plot

Test if reaction times from psychology experiment follow normal distribution. Includes comprehensive Q-Q plot diagnostics and comparison with theoretical normal.

# Anderson-Darling Test for Normality
# Reaction time data with Q-Q diagnostics

library(nortest)      # ad.test
library(ggplot2)
library(gridExtra)
library(car)          # qqPlot
library(moments)      # skewness, kurtosis
library(boot)

set.seed(42)

# Generate reaction time data (slightly right-skewed)
rt <- c(rnorm(65, 350, 50), rgamma(10, shape = 15, scale = 25))  # Mixture for slight skew

cat("ANDERSON-DARLING TEST FOR NORMALITY\n")
cat("====================================\n\n")

# ====================
# 1. CHECK ASSUMPTIONS
# ====================

cat("ASSUMPTION CHECKS\n")
cat("==================\n\n")

# A1: Continuous data
cat("1. Continuous data:\n")
cat("   Sample size: n =", length(rt), "\n")
cat("   Unique values:", length(unique(rt)), "\n")
cat("   Data type:", class(rt), "\n")
cat("   ✓ Continuous measurement\n\n")

# A2: Independence
cat("2. Independence:\n")
cat("   ✓ Verified by design(separate trials, different stimuli)\n\n")

# A3: Sample size
cat("3. Sample size:\n")
cat("   n =", length(rt), "(minimum n ≥ 7)\n")
cat("   ✓ Adequate sample size\n\n")

# A4: Single population check
cat("4. Single population check:\n")
cat("   Examining histogram for multimodality...\n")
cat("   (Visual inspection in plots)\n\n")

# ====================
# 2. DESCRIPTIVE STATISTICS
# ====================

cat("DESCRIPTIVE STATISTICS\n")
cat("=======================\n\n")

cat("  Mean:", round(mean(rt), 2), "ms\n")
cat("  SD:", round(sd(rt), 2), "ms\n")
cat("  Median:", round(median(rt), 2), "ms\n")
cat("  IQR:", round(IQR(rt), 2), "ms\n")
cat("  Range: [", round(min(rt), 2), ",", round(max(rt), 2), "]\n\n")

cat("  Skewness:", round(skewness(rt), 3), "\n")
cat("  Kurtosis:", round(kurtosis(rt), 3), "(normal = 3)\n")
cat("  Excess kurtosis:", round(kurtosis(rt) - 3, 3), "\n\n")

if (abs(skewness(rt)) > 0.5) {
  cat("  ⚠ Moderate skewness detected\n")
}
if (abs(kurtosis(rt) - 3) > 0.5) {
  cat("  ⚠ Excess kurtosis detected\n")
}
cat("\n")

# ====================
# 3. ANDERSON-DARLING TEST
# ====================

cat("ANDERSON-DARLING TEST\n")
cat("======================\n\n")

ad_result <- ad.test(rt)

cat("Test Results:\n")
cat("  A² statistic:", round(ad_result$statistic, 4), "\n")
cat("  p-value:", round(ad_result$p.value, 4), "\n\n")

alpha <- 0.05
if (ad_result$p.value < alpha) {
  cat("Decision: REJECT H₀ (α = 0.05)\n")
  cat("Interpretation: Data significantly departs from normality\n\n")
} else {
  cat("Decision: FAIL TO REJECT H₀ (α = 0.05)\n")
  cat("Interpretation: Data consistent with normal distribution\n\n")
}

# Interpretation guidelines
cat("Interpretation Guidelines for A²:\n")
cat("  A² < 0.5:  Close to normal\n")
cat("  0.5 ≤ A² < 1.0:  Moderate departure\n")
cat("  A² ≥ 1.0:  Strong departure from normality\n\n")

if (ad_result$statistic < 0.5) {
  cat("  Current A² = ", round(ad_result$statistic, 3), " → Close to normal\n\n")
} else if (ad_result$statistic < 1.0) {
  cat("  Current A² = ", round(ad_result$statistic, 3), " → Moderate departure\n\n")
} else {
  cat("  Current A² = ", round(ad_result$statistic, 3), " → Strong departure\n\n")
}

# ====================
# 4. COMPARISON WITH OTHER TESTS
# ====================

cat("COMPARISON WITH OTHER NORMALITY TESTS\n")
cat("======================================\n\n")

# Shapiro-Wilk
sw_result <- shapiro.test(rt)
cat("Shapiro-Wilk test:\n")
cat("  W statistic:", round(sw_result$statistic, 4), "\n")
cat("  p-value:", round(sw_result$p.value, 4), "\n\n")

# Kolmogorov-Smirnov (Lilliefors)
library(nortest)
lillie_result <- lillie.test(rt)
cat("Lilliefors(KS) test:\n")
cat("  D statistic:", round(lillie_result$statistic, 4), "\n")
cat("  p-value:", round(lillie_result$p.value, 4), "\n\n")

cat("Test Comparison Notes:\n")
cat("  • Shapiro-Wilk: Generally most powerful overall\n")
cat("  • Anderson-Darling: Most sensitive to TAIL deviations\n")
cat("  • Lilliefors/KS: Least powerful; use for general distribution testing\n\n")

# ====================
# 5. BOOTSTRAP CI FOR A²
# ====================

cat("Bootstrap 95% CI for A² Statistic\n")
cat("===================================\n\n")

boot_ad <- function(data, indices) {
  d <- data[indices]
  test <- ad.test(d)
  return(test$statistic)
}

boot_results <- boot(rt, boot_ad, R = 2000)
boot_ci <- boot.ci(boot_results, type = "perc")

cat("  95% CI for A²: [", round(boot_ci$percent[4], 4), ",", 
    round(boot_ci$percent[5], 4), "]\n\n")

# ====================
# 6. VISUALIZATIONS (6 plots)
# ====================

# Plot 1: Q-Q plot with confidence envelope
p1 <- ggplot(data.frame(sample = rt), aes(sample = sample)) +
  stat_qq() +
  stat_qq_line(color = "red", linetype = "dashed", size = 1) +
  labs(title = "Normal Q-Q Plot",
       subtitle = paste0("A² = ", round(ad_result$statistic, 3), 
                         ", p = ", round(ad_result$p.value, 3)),
       x = "Theoretical Quantiles", y = "Sample Quantiles(ms)") +
  theme_minimal()

# Plot 2: Histogram with fitted normal
p2 <- ggplot(data.frame(rt = rt), aes(rt)) +
  geom_histogram(aes(y = after_stat(density)), bins = 20, 
                 fill = "lightblue", color = "black", alpha = 0.7) +
  stat_function(fun = dnorm, args = list(mean = mean(rt), sd = sd(rt)), 
                color = "red", size = 1.2) +
  labs(title = "Histogram with Fitted Normal Density",
       subtitle = paste0("Mean = ", round(mean(rt), 1), ", SD = ", round(sd(rt), 1)),
       x = "Reaction Time(ms)", y = "Density") +
  theme_minimal()

# Plot 3: ECDF vs Normal CDF
p3 <- ggplot(data.frame(rt = rt), aes(rt)) +
  stat_ecdf(geom = "step", color = "blue", size = 1) +
  stat_function(fun = pnorm, args = list(mean = mean(rt), sd = sd(rt)), 
                color = "red", linetype = "dashed", size = 1) +
  labs(title = "ECDF vs Fitted Normal CDF",
       subtitle = "Blue = Empirical, Red = Theoretical",
       x = "Reaction Time(ms)", y = "Cumulative Probability") +
  theme_minimal()

# Plot 4: Detrended Q-Q plot (residuals from Q-Q line)
qq_data <- qqnorm(rt, plot.it = FALSE)
residuals_qq <- qq_data$y - qq_data$x * sd(rt) - mean(rt)

p4 <- ggplot(data.frame(theoretical = qq_data$x, residual = residuals_qq), 
             aes(theoretical, residual)) +
  geom_point(alpha = 0.6, size = 2) +
  geom_hline(yintercept = 0, color = "red", linetype = "dashed", size = 1) +
  geom_smooth(se = FALSE, color = "blue", method = "loess") +
  labs(title = "Detrended Q-Q Plot",
       subtitle = "Highlights systematic deviations from normality",
       x = "Theoretical Quantiles", y = "Residuals(ms)") +
  theme_minimal()

# Plot 5: Bootstrap distribution of A²
p5 <- ggplot(data.frame(A2 = boot_results$t), aes(A2)) +
  geom_histogram(bins = 30, fill = "steelblue", color = "black", alpha = 0.7) +
  geom_vline(xintercept = ad_result$statistic, color = "red", 
             linetype = "dashed", size = 1.2) +
  geom_vline(xintercept = boot_ci$percent[4:5], color = "orange", 
             linetype = "dotted", size = 1) +
  labs(title = "Bootstrap Distribution of A²",
       subtitle = paste0("Observed A² = ", round(ad_result$statistic, 3)),
       x = "A² Statistic", y = "Frequency") +
  theme_minimal()

# Plot 6: Test comparison
test_results <- data.frame(
  Test = c("Anderson-Darling", "Shapiro-Wilk", "Lilliefors"),
  p_value = c(ad_result$p.value, sw_result$p.value, lillie_result$p.value),
  statistic = c(ad_result$statistic, sw_result$statistic, lillie_result$statistic)
)

p6 <- ggplot(test_results, aes(x = Test, y = p_value, fill = Test)) +
  geom_col(alpha = 0.7, show.legend = FALSE) +
  geom_hline(yintercept = 0.05, linetype = "dashed", color = "red", size = 1) +
  geom_text(aes(label = round(p_value, 3)), vjust = -0.5) +
  labs(title = "Normality Test Comparison",
       subtitle = "Red line = α = 0.05",
       y = "p-value") +
  ylim(0, max(test_results$p_value) * 1.2) +
  theme_minimal() +
  theme(axis.text.x = element_text(angle = 45, hjust = 1))

grid.arrange(p1, p2, p3, p4, p5, p6, ncol = 2)

# ====================
# 7. INTERPRETATION
# ====================

cat("\nDETAILED INTERPRETATION\n")
cat("=======================\n\n")

cat("The Anderson-Darling test assessed normality of reaction times.\n\n")

cat("Test Results:\n")
cat("  • A² = ", round(ad_result$statistic, 3), "\n")
cat("  • p-value = ", round(ad_result$p.value, 3), "\n")
cat("  • Skewness = ", round(skewness(rt), 3), "\n")
cat("  • Excess kurtosis = ", round(kurtosis(rt) - 3, 3), "\n\n")

if (ad_result$p.value < 0.05) {
  cat("Conclusion: Data significantly deviates from normality.\n\n")
  cat("Recommendations:\n")
  cat("  1. Examine Q-Q plot for nature of departure(tails, skewness)\n")
  cat("  2. Consider transformations: log(right skew), sqrt, inverse\n")
  cat("  3. Use nonparametric alternatives(Mann-Whitney, Kruskal-Wallis)\n")
  cat("  4. Use robust methods(trimmed means, bootstrap)\n")
else {
  cat("Conclusion: Data consistent with normal distribution.\n\n")
  cat("Recommendations:\n")
  cat("  1. Parametric methods appropriate(t-test, ANOVA, regression)\n")
  cat("  2. Still check Q-Q plot for minor deviations\n")
  cat("  3. Consider sample size when interpreting results\n")
}

cat("\nWhy Anderson-Darling?\n")
cat("  • More powerful than KS test(especially for tail deviations)\n")
cat("  • Weights tails more heavily(important for outliers)\n")
cat("  • Adjusts for parameter estimation(unlike standard KS)\n")
cat("  • Comparable power to Shapiro-Wilk\n")
05Tactical Pivots

Alternatives

Structured fallback pathways for choosing alternative tests when normality or slopes requirements fail.

When the path is blocked, pivot. Rigor is not rigidity; it is the intelligent adaptation to reality.
Adaptive Strategy
Measurement Precision Ladder Ideal · Continuous / Ratio
Ratio
Maintain A-D logic. The most sensitive engine for auditing breaks in the theoretical mold.
Peak Precision
Interval
Ideal for Biostatistical Scales. Ensure the 'Tail Weight' is not dominated by single-entry errors.
Standard Precision
Nominal / Ordinal
Abandon A-D. Use Chi-Square Goodness-of-Fit to model alignment with categorical laws.
Identity Loss
Temporal Trajectory Audit Static Tail Forensic
Static Audit
Extreme fit audit.
Stay with Anderson-Darling. Prioritize the discovery of 'Black Swan' outliers in the tails.
Multi-Group
Trajectory Gap.
Pivot to Two-Sample KS or Kuiper's Test to model global distributional divergence.
Adaptive Technical Safeguards · adaptive safeguards
central fit priority
  • Kolmogorov-Smirnov Test — Switch if you care more about the 'Median Fit' than the extreme tails.
estimated mean sd
  • Lilliefors Correction — Apply the required penalty for using sample-estimated parameters in the fit math.
sparsity at extremes
  • Shapiro-Wilk Test — Use the omnibus normality strike if data density at the tails is too low for A-D to stabilize.
06Adjusted Comparisons

Post-hoc

Group mean comparisons and correction controls (e.g. Tukey HSD, Bonferroni) to protect against Family-Wise Error Rates.

The omnibus test opens the door; post-hoc analysis explores the room.
Forensic Detail
Adjusted Comparisons
  • Compare with Shapiro-Wilk (more powerful for normality)
  • Compare with Kolmogorov-Smirnov (less sensitive to tails)
  • Examine Q-Q plots for visual assessment
  • Test different theoretical distributions
  • Assess sensitivity to sample size (test becomes overly sensitive with large n)
Interpretation Guidelines

Anderson-Darling is a normality/distribution test. Post-hoc tests are not applicable.

07Standardized scale impact

Effect Size

Understanding effect sizes (e.g., Cohen's d, Partial Eta-Squared) and clinical impact benchmarks.

Significance is noise. Magnitude is the signal. Measure the impact, not just the probability.
Impact Magnitude
N/A
Recommended Measure
08Statistical Power

Sample Size

Guidelines for minimum sample requirements and power analysis parameters.

An underpowered study is an ethical failure. Respect the data by collecting enough of it.
Power Protocol
Floor Requirements

The 'Tail-Sensitivity' Minimum: A minimum of 20 participants is essential. Anderson-Darling is elite because it prioritizes the 'Tails' of the distribution—if tails are empty, the test lacks discovery authority.

Effect SizeParametersRequired n
Small EffectSubtle Tail-Heavinessn ≈ 120
Medium EffectModerate Tail-Heavinessn ≈ 50
Large EffectSevere Tail-Heavinessn ≈ 25
Key considerations

The 'Parameter Shield': Like the KS test, the A-D strike is most powerful when theoretical parameters (Mean/SD) are known. If you must estimate them from the sample, use the 'Lilliefors' correction to protect your alpha integrity.

G*Power StrategyBenchmark: Goodness-of-fit → Distributional Tails. Parameters: Tail-weight deviation, α = .05, Power = .80. Note: Anderson-Darling is 20% more sensitive to extreme outliers than the Kolmogorov-Smirnov test.
09APA narrative blueprint

Reporting

How to compile statistical results into publication prose matching APA and journal style guides.

Data does not speak for itself. It requires a translator. Be clear, be precise, be honest.
Narrative Arc
10Exhibit Builder

Manuscript Lab

Copy standard summary tables and forensic reporting grids to outline analysis details.

Table 1: Anderson-Darling (A-D) Test for Distribution Fit
VariableA² (Statistic)p-valueConclusion
Cognitive Load0.42.352Normal Distribution Fit
Note. N = 100. Comparing Sample to Normal Distribution. A-D is more sensitive to tail deviations than K-S.
A² = 0.42Confirms 'Thin-Tailed' Normality. The sample follows a normal curve perfectly even at the extremes, validating high-precision parametric modeling.
Header glossary

The Tail Discrepancy. Measures the area between the sample and the theoretical distribution, with extra weight given to the tails of the data.

11Algorithmic Logic

Command Center

Syntax libraries and function parameters for executing calculations in stats packages.

Code is the modern laboratory. Clean execution ensures reproducible discovery.
Execution Engine
# 1. Execute Anderson-Darling Test for Normality
nortest::ad.test(x)
Library stack
R
nortest
Python
scipy.stats
Elite Forensic Strike

Anderson-Darling is highly sensitive to tail deviations. If AD rejects normality but Shapiro-Wilk doesn't, inspect the Q-Q plot tails closely.

# Compare fit against custom distributions (Weibull, Cauchy, etc.)
# ADGofTest::ad.test(x, pweibull, shape=1, scale=2)
12The Over-adjustment Trap

Common Mistakes

Analytical caveats and corrections to maintain modeling integrity.

Wisdom is learning from the failures of others. Anticipate the error before it occurs.
Defensive Logic
Why it's wrong
AD test gives p-value but doesn't show WHERE or HOW distribution deviates. Q-Q plots essential for diagnosing specific departures (tails, skewness, outliers)
The correction
Always create Q-Q plot; examine systematic deviations from line; identify specific departures (S-curve = skew, bowing = tail issues)
Why it's wrong
Critical values differ when parameters estimated from data vs specified a priori. Using wrong table invalidates test.
The correction
Use software that automatically adjusts (R: nortest::ad.test, Python: scipy.stats.anderson). For other distributions, ensure proper critical values.
Why it's wrong
A² quantifies departure size (effect size); p-value only addresses statistical significance. Large n makes small A² significant.
The correction
Always report A² statistic. Guidelines: A² < 0.5 (close to normal), 0.5-1.0 (moderate departure), >1.0 (strong departure)
Why it's wrong
AD test is a general goodness-of-fit test available for exponential, logistic, Weibull, and other distributions - not just normality
The correction
Use AD for various distributions in survival analysis, reliability engineering. Specify appropriate null distribution.
Why it's wrong
With large n (>200), trivial deviations become statistically significant even if practically irrelevant. Test becomes overly sensitive.
The correction
For large n, focus on A² magnitude and visual inspection rather than p-value. Consider equivalence testing.
Why it's wrong
AD weights tails more heavily; SW slightly more powerful overall for normality. Different test statistics and purposes.
The correction
Use SW as default for normality; use AD when tail behavior critical (outlier detection, financial data). Understand test differences.
Why it's wrong
Raw data distribution often irrelevant; regression/ANOVA assumes RESIDUALS are normal. Testing wrong distribution.
The correction
Extract residuals from model; test residuals for normality. Check homoscedasticity too.
Why it's wrong
With large n, Central Limit Theorem makes parametric methods robust to non-normality anyway. Test becomes academic exercise.
The correction
For large n, focus on visual inspection (Q-Q plots, histograms). Normality tests less critical due to CLT robustness.
13Academic Lineage

References

Scholarly lineage and citation keys grounding the statistical framework.

We stand on the shoulders of giants. Honor the source of the method.
Academic Lineage
[1]
Anderson, T. W., & Darling, D. A. (1952). Asymptotic theory of certain 'goodness of fit' criteria based on stochastic processes. Annals of Mathematical Statistics, 23(2), 193-212.
Original paper introducing the Anderson-Darling test
[2]
Stephens, M. A. (1974). EDF statistics for goodness of fit and some comparisons. Journal of the American Statistical Association, 69(347), 730-737.
Tables of critical values and modifications for various distributions
[3]
Anderson, T. W., & Darling, D. A. (1954). A test of goodness of fit. Journal of the American Statistical Association, 49(268), 765-769.
Further development and applications of the test
[4]
Razali, N. M., & Wah, Y. B. (2011). Power comparisons of Shapiro-Wilk, Kolmogorov-Smirnov, Lilliefors and Anderson-Darling tests. Journal of Statistical Modeling and Analytics, 2(1), 21-33.
Comprehensive power comparison showing AD's tail sensitivity
[5]
D'Agostino, R. B., & Stephens, M. A. (Eds.). (1986). Goodness-of-Fit Techniques. Marcel Dekker.
Comprehensive coverage of Anderson-Darling and other GOF tests with detailed examples
[6]
Thode, H. C. (2002). Testing for Normality. Marcel Dekker.
Detailed comparison of normality tests including Anderson-Darling; practical guidance on test selection
statminds · Anderson-DarlingMind reference · v2.2 · updated 2026-01-1715 of 15 sections