ARBIMETRA · Financial intelligence, made practical.

ARBIMETRA LAB

Distribution Analysis

Compares the shape of a variable with a normal distribution using a histogram, kernel density, box plot, Q-Q plot and empirical CDF.

What it does

Compares the shape of a variable with a normal distribution using a histogram, kernel density, box plot, Q-Q plot and empirical CDF.

Use it to check normality visually and to understand shape.

Data you need

  • One numeric variable

Supported data: Numeric. Level: Intermediate.

Formula and method

KDE: f̂(x) = (1/nh) Σ K((x−xᵢ)/h) · ECDF: F̂(x) = #{xᵢ ≤ x}/n

A Gaussian kernel with Scott's bandwidth estimates the density. Sample quantiles are plotted against normal quantiles using Blom plotting positions, and the empirical CDF is drawn against a normal curve with the estimated mean and standard deviation.

Assumptions

  • At least 8 valid values

Input checks

  • Estimated and theoretical curves are labelled separately
  • Constant variables are rejected

How to read the result

Points that leave the Q-Q line show where the data differ from a normal shape.

Worked example

Illustrative run on Simulated study data (teaching data). These figures are the actual output of this model on that example, and they say nothing about your own data.

  • Jarque-Bera = 1.1445, p = 0.5643; the largest CDF gap is 0.0475.
  • Points leaving the Q-Q reference line show where the data differ from a normal shape. The departure in skewness and kurtosis is not statistically significant at the 5% level.

Limitations

  • Kernel density depends on the bandwidth

Numerical validation

Validated 15 of 15 automated checks passed, including numerical results, invalid input, missing values, small samples, constant variables, charts and the interpretation text.

CheckReferenceResultAbs. errorToleranceSource
Jarque-Bera by formula3.476132433.476132431.7e-141e-9Independent NumPy calculation
Largest CDF gap0.03705730.03705730.0e+01e-9SciPy Kolmogorov-Smirnov statistic

Computed with python 3.13.2, numpy 2.2.5, scipy 1.14.1, pandas 2.3.3, statsmodels 0.14.4, scikit-learn 1.7.0, in your browser. A passing check confirms the listed comparison only. It does not make any result suitable for your data, and it is not a claim of equivalence with other statistical software.

Questions

How do I read a Q-Q plot?

If points follow the straight line, the data resemble a normal distribution. Curves at the ends indicate tails that are heavier or lighter than normal.

ARBIMETRA LAB is an educational and research tool. Results should be checked by the researcher and are not professional advice.