File Exchange

image thumbnail

Benford's Law

version 1.1.9 (1.75 MB) by Tommaso Belluzzo
A framework for Benford's Law conformity assessment.

6 Downloads

Updated 13 Aug 2019

GitHub view license on GitHub

# INTRODUCTION #

This script represents a full-featured framework for assessing Benford's Law conformity. It can be used in order to perform all the tests proposed by Nigrini et al. (2012):

> the Primary Tests: First Digits Analysis, Second Digits Analysis, First-Two Digits
> the Advanced Tests: Third Digits Analysis, Second Order Analysis, Summation Analysis
> the Associated Tests: Last-Two Digits Analysis, Number Duplication Analysis, Distortion Factor Model
> the Mantissae Analysis
> the Zipf's Law Analysis

For each significant digit analysis, the following conformity indicators are provided:

> Goodness-of-Fit Measures (14):
==> Anderson-Darling Discrete (Choulakian, 1994)
==> Chebyshev Distance (Leemis, 2000)
==> Cramer-von Mises Discrete (Choulakian, 1994)
==> Euclidean Distance (Cho & Gaines, 2007)
==> Freedman's U2 (Freedman, 1981)
==> Freeman-Tukey T2 (Freeman & Tukey, 1950)
==> Hotelling's Joint Digits (Hotelling, 1931)
==> Judge-Schechter Mean Deviation (Judge & Schechter, 2009)
==> Kolmogorov-Smirnov (Kolomonorgov, 1933)
==> Kuiper (Kuiper, 1960)
==> Likelihood Ratio (Neyman & Pearson, 1933)
==> Pearson's X2 (Pearson, 1900)
==> Watson's U2 Discrete (Choulakian, 1994)
> Mean Absolute Deviation (Nigrini et al., 2012)
> Sum of Square Differences (Kossovsky, 2014)
> Z-Scores (Nigrini et al., 2012)

# DATASET & USAGE #

The framework doesn't require any specific dataset structure. Numeric data can be extracted from any source or produced using any existing methodology, but a minimum amount of 1000 elements (with at least 50 unique observations) is required in order to perform a coherent analysis.

The "run.m" script provides an example of how this framework can be used, but all the functions located in the "Scripts" folder can be executed in standalone computation processes. It is recommended to validate and preprocess the dataset using the "benford_data" function. The "benford_analyse" functions can be used in order to perform a full automatic analysis of the dataset and plot the results. The "benford_random" function is an additional tool that produces random numbers whose digits follow the Benford's Law distribution.

Cite As

Tommaso Belluzzo (2019). Benford's Law (https://www.github.com/TommasoBelluzzo/BenfordLaw), GitHub. Retrieved .

Comments and Ratings (2)

Heheh hi Xu, Thanks for your interest. The site states the package has been downloaded 47 times since the first time I published it; it's not very popular, I know, but I hope it will be useful for you.

xudong liu

Hi
I download the file,
i am the first one guy

Updates

1.1.9

Improved description.

1.1.8

Minor fixes and improvements.

1.1.7

Minor fixes and improvements.

1.1.6

Minor fixes and improvements.

1.1.5

Minor fixes and improvements.

1.1.4

Updated details concerning compatibility & requirements.

1.1.3

Updated details concerning compatibility & requirements.

1.1.2

Minor fixes and improvements.

1.1.1

Project website.

1.1.0

Target release.

1.0.9

Improved tags.

1.0.8

Improved tags.

1.0.7

Improved tags.

1.0.6

Improved description.

1.0.5

Improved description.

1.0.4

Improved description.

1.0.3

Added screenshot.

1.0.2

Minor fixes and improvements.

1.0.1

Added details concerning compatibility & requirements.

MATLAB Release Compatibility
Created with R2016b
Compatible with R2016b to R2018b
Platform Compatibility
Windows macOS Linux