# FreeBSD Manual Pages

```Statistics::Benford(3)User Contributed Perl DocumentatioStatistics::Benford(3)

NAME
Statistics::Benford - calculate the deviation from Benford's Law

SYNOPSIS
my \$stats = Statistics::Benford->new;
my \$diff = \$stats->diff(%freq);
my %diff = \$stats->diff(%freq);
my \$signif =	\$stats->signif(%freq);
my %signif =	\$stats->signif(%freq);

DESCRIPTION
The "Statistics::Benford" module	calculates the deviation from
Benford's law, also known as the	first-digit law. The law states	that
for many	sources	of real-life data, the leading digit follows a
logarithmic, not	uniform, distribution. This fact can be	used to	audit
data for	signs of fraud by comparing the	expected frequency of the
digits to the actual frequency in the data.

METHODS
\$stats =	Statistics::Benford->new
\$stats =	Statistics::Benford->new(\$base,	\$pos, \$len)
Creates a new Statistics::Benford object. The constructor will
accept the number base, the position	of the significant digit in
the number to examine, and the number of digits starting from that
position.

The default values are: (10,	0, 1).

%dist = \$stats->dist(\$bool)
%dist = \$stats->distribution(\$bool)
Returns a hash of the expected percentages.

\$diff = \$stats->diff(%freq)
\$diff = \$stats->difference(%freq)
%diff = \$stats->diff(%freq);
%diff = \$stats->difference(%freq)
Given a hash	representing the frequency count of the	digits in the
data	to examine, returns the	percentage differences of each digit
in list context, and	the sum	of the differences in scalar context.

\$diff = \$stats->signif(%freq)
\$diff = \$stats->z(%freq)
%diff = \$stats->signif(%freq);
%diff = \$stats->z(%freq)
Given a hash	representing the frequency count of the	digits in the
data	to examine, returns the	z-statistic of each digit in list
context, and	the average of the z-statistics	for all	the digits in
scalar context.

The z-statistic shows the statistical significance of the
difference between the two proportions. Significance	takes into
account the size of the difference, the expected proportion,	and
the sample size.  Scores above 1.96 are significant at the 0.05
level, and above 2.57 are significant at the	0.01 level.

EXAMPLE
# Generate a	list of	numbers	approximating a	Benford	distribution.
my \$max = 10;  # numbers range from 0 to 10
my @nums = map { (\$max / rand(\$max))	- 1 } (1 .. 1_000);
my %freq;
for my \$num (@nums) {
my (\$digit) = \$num =~ /([1-9])/;	 # find	first non-zero digit
\$freq{\$digit}++;
}
my \$stats = Statistics::Benford->new(10, 0, 1);
my \$diff = \$stats->diff(%freq);
my \$signif =	\$stats->signif(%freq);

<http://en.wikipedia.org/wiki/Benford's_law>

<http://www.mathpages.com/home/kmath302/kmath302.htm>

NOTES
When counting the first digit, make sure	it is non-zero.	For example
the first non-zero digit	of 0.038 is 3.

Convert non-decimal base	digits to decimal representations. For
example,	to examine the first two digits	of a hexadecimal number, like
A1B2, take the first two	digits 'A1', and convert them to decimal- 161.

The law becomes less accurate when the data set is small.

The law does not	apply to data sets which have imposed limitations
(e.g.  max or min values) or where the numbers are assigned (e.g. ids
and phone numbers).

The distribution	becomes	uniform	at the 5th significant digit, i.e. all
digits will have	the same expected frequency.

It can help to partition	the data into subsets for testing, e.g.
testing negative	and positive values separately.

REQUESTS AND BUGS
Please report any bugs or feature requests to
<http://rt.cpan.org/Public/Bug/Report?Queue=Statistics-Benford>.	I will
be notified, and	then you'll automatically be notified of progress on
your bug	as I make changes.

SUPPORT
You can find documentation for this module with the perldoc command.

perldoc Statistics::Benford

You can also look for information at:

o   GitHub Source Repository

<http://github.com/gray/statistics-benford>

o   AnnoCPAN: Annotated CPAN documentation

<http://annocpan.org/dist/Statistics-Benford>

o   CPAN	Ratings

<http://cpanratings.perl.org/d/Statistics-Benford>

o   RT: CPAN's request tracker

<http://rt.cpan.org/Public/Dist/Display.html?Name=Statistics-Benford>

o   Search CPAN

<http://search.cpan.org/dist/Statistics-Benford>

This library is free software; you can redistribute it and/or modify it
under the same terms as Perl itself.

AUTHOR
gray, <gray at cpan.org>

perl v5.24.1			  2009-09-06		Statistics::Benford(3)
```

NAME | SYNOPSIS | DESCRIPTION | METHODS | EXAMPLE | SEE ALSO | NOTES | REQUESTS AND BUGS | SUPPORT | COPYRIGHT AND LICENSE | AUTHOR

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=Statistics::Benford&sektion=3&manpath=FreeBSD+12.1-RELEASE+and+Ports>