|
NAMEStatistics::Benford - calculate the deviation from Benford's LawSYNOPSISmy $stats = Statistics::Benford->new; my $diff = $stats->diff(%freq); my %diff = $stats->diff(%freq); my $signif = $stats->signif(%freq); my %signif = $stats->signif(%freq); DESCRIPTIONThe "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
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); SEE ALSO<http://en.wikipedia.org/wiki/Benford's_law><http://www.mathpages.com/home/kmath302/kmath302.htm> NOTESWhen 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 BUGSPlease 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.SUPPORTYou can find documentation for this module with the perldoc command.perldoc Statistics::Benford You can also look for information at:
COPYRIGHT AND LICENSECopyright (C) 2007-2009 gray <gray at cpan.org>, all rights reserved.This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. AUTHORgray, <gray at cpan.org>
Visit the GSP FreeBSD Man Page Interface. |