tft每日頭條

 > 科技

 > 随機誤差統計原理

随機誤差統計原理

科技 更新时间:2025-02-08 18:46:18

作者:小伍哥

來源:小伍哥聊風控

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)1

大家好,我是小伍哥,今天給大家分享一個好像有用,好像又沒啥用的奇奇怪怪的知識,風控嘛,就是玩兒。

〇、“本福特定律”是什麼?

“本福特定律”(Benford's law),也稱“本福特法則”,它說明一堆從實際生活得出的數據中,以1為首位數字的數(如12、135、1083首位數字均為1)的出現概率約為總數的三成,接近人們主觀直覺得出的期望值1/9的3倍。

推廣來說,越大的數,以它為首位數字甚至是首幾位數字出現的概率就越低。在十進制首位數字的出現概率中,1最高(30.1%),逐漸遞減,9最低(4.6%)。

在美國大選中,有人就使用了該定律質疑拜登選票異常,在統計了特朗普和拜登在威斯康星州密爾沃基縣470多個選區的得票數首位數字後發現,特朗普的這一曲線較為符合“本福特定律”的曲線,而拜登的曲線形狀則出現異常。拜登在包括威斯康星州密爾沃基、伊利諾伊州芝加哥和賓夕法尼亞州阿勒格尼的曲線均不滿足“本福特定律”,而與此同時,特朗普在多個地區的曲線卻又正好滿足或基本滿足該定律。

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)2

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)3

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)4

一、基本概念

本福特定律(也稱為第一位數法或本福特分布)是一種概率分布,許多統計學的(但不是全部)數據集的第一個數字符合。例如,

15435 首位是 1 56 首位是 5 9001 首位是 9 199 首位是 1 9 首位是 9

本福特定律通常可用作欺詐性數據的指标,并可協助審計會計數據。本福特的分布是一種不均勻的分布,較小的數字比較大的數字有更大的出現j可能。

二、數位分布概率第1位數字出現概率10.30120.17630.12540.09750.07960.06770.05880.05190.046三、本福特分布圖

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)5

四、本福特分布公式

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)6

六、本福特定律适用于哪類數據?

需要注意的是,“本福特定律”也有一定的使用條件。首先,數據樣本需要盡可能的多,至少要在3000個以上;其次,數據樣本跨度要大,比如人的身高就不滿足“本福特定律”,因為大多數人身高在1米至2米這一區間;最後,數據樣本應是自然的,不能有人為操控,例如手機号碼和郵政編碼不滿足“本福特定律”,因為這些都是1開頭或特定數字開頭。

也正是因為有特定使用條件,“本福特定律”可用于檢查各項數據是否存在造假行為,因為若有人為因素影響數據,所得首位數字的概率及概率曲線圖将不符合“本福特定律”。

在大部分情況下,本福特定律可以适用于具有以下特征的數據:

  • 具有通過來自多個分布的數字的數學組合形成的值的數據。
  • 具有多種數字的數據,例如 具有數百,數千,數萬等數值的數據。
  • 數據集相當大。
  • 數據是右傾斜的,即平均值大于中值,并且分布具有長的右尾而不是對稱的。
  • 數據沒有預定義的最大值或最小值(最小值為零)。

雖然有以上的限制,但實際上在會計中,符合上述特征的數據非常普遍。

七、會計欺詐檢測與取證分析

應收賬款,應付賬款,銷售和費用數據均基于兩種類型的變量相乘的值,即價格和數量。單獨,價格和數量不太可能符合本福特定律,但很可能會成倍增加。這種會計數據也可能是正确的。大公司的交易級會計數據幾乎總是會有大量的觀察結果。

如果某些會計數據預計符合本福特定律但不符合,則并不一定意味着數據是欺詐性的。然而,這将為進一步調查提供充分的理由。

以下是如何對會計數據執行本福特分布分析的一些示例。

1)大型企業的應付賬款數據

分析顯示,大型企業的應付幾款的數據的數字第一位數字中有很大比例的1。經過仔細檢查後發現,與上一個會計期間相比,還有更多的支付支票略高于1000美元。前一期的大部分支票金額低于100美元。

在一起财務調查中,負責的财務官随後受到質疑,他們回答稱他們決定彙總金額以試圖減少支票。低數字金額的合并是偏離本福特定律的常見解釋,使财務官的解釋變得合情合理。

經過進一步調查,據透露,該官員正在向他們創建的虛假殼公司寫支票。

2)本福特的分析應用于組織的費用數據

最初的本福特分析顯示,數據的第一位數字中“非常大”的比例非常大。經過仔細檢查,特定費用的許多條目達到45美元。發現費用對于運營組織至關重要,必須經常支付。調查了這筆特殊費用,然後被認為是合法的。

然後将Benford的分析應用于費用數據的副本,但省略了特定的頻繁費用。發現排除該特定費用的數據與本福特的分布非常接近。

超越第一個數字推廣本福特定律通過查看第一個數字以外的數字,可以增強Benford的分析。

八、廣義本福特的分布表

本表的作用是表示分布規則還可以作用在不同的數位上。比如,0出現在第2位的概率是 11.97%,要高于平均值10%。

數位

第1位

第2位

第3位

第4位

第5位

0

NA

0.11968

0.10178

0.10018

0.10002

1

0.30103

0.11389

0.10138

0.10014

0.10001

2

0.17609

0.10882

0.10097

0.1001

0.10001

3

0.12494

0.10433

0.10057

0.10006

0.10001

4

0.09691

0.10031

0.10018

0.10002

0.1

5

0.07918

0.09668

0.09979

0.09998

0.1

6

0.06695

0.09337

0.0994

0.09994

0.09999

7

0.05799

0.09035

0.09902

0.0999

0.09999

8

0.05115

0.08757

0.09864

0.09986

0.09999

9

0.04576

0.085

0.09827

0.09982

0.09998

注意:由以上數據可以看出,在廣義分布中,數字的出現概率要比第一個數字更加均勻。

九、一般分布公式

根據上面的數據,我們可以得到一般的分布公式

随機誤差統計原理(手把手教你數據造假-本福特定律和統計中的造假檢測)7

十、上市公司年報淨利潤數據驗證本福特定律

我們用上市公司的利潤數據來驗證下本福特定律。

我們采用tushare接口獲取2019、2020年年報(第4季度)數據,取其中的淨利潤數據,然後我們隻考慮淨利潤為正的情況。

xxxxxxxxxxbr

# 驗證本福特定律 import tushare as ts # 股票數據獲取的一個包 import math import matplotlib.pyplot as plt import pandas as pd from functools import reduce from pylab import * # 這一句讓pyplot支持中文顯示 mpl.rcParams['font.sans-serif'] = ['SimHei'] # 獲取首位的函數 def firstDigital(x): x= round(x) while x >= 10: x //= 10 return x # 首位概率累加 def addDigit(lst, digit): lst[digit-1] =1 return lst # 理論值:每位概率理論值用于對比 th_freq=[math.log((x 1)/x, 10) for x in range(1,10)] #分别獲得2019,2020年報數據 df= ts.get_report_data(2019, 4) # 隻取淨利潤>0的數據,首先進行次數統計 freq= reduce(addDigit, map(firstDigital, filter(lambda x:x>0, df['net_profits'])), [0]*9) # 再計算實際概率 pr_freq= [x/sum(freq) for x in freq] print(th_freq) print(pr_freq) # 作圖 plt.title('用上市公司2019年報淨利潤數據驗證本福特定律') plt.xlabel("首位數字") plt.ylabel("概率") plt.xticks(range(9), range(1,10)) plt.plot(pr_freq,"r-",linewidth=2, label= '實際值') plt.plot(pr_freq, "go", markersize=5) plt.plot(th_freq,"b-",linewidth=1, label= '理論值') plt.grid(True) plt.legend() plt.show()

xxxxxxxxxxbr# 驗證本福特定律brimport tushare as ts # 股票數據獲取的一個包brimport mathbrimport matplotlib.pyplot as pltbrimport pandas as pdbrfrom functools import reducebrfrom pylab import *br# 這一句讓pyplot支持中文顯示brmpl.rcParams['font.sans-serif'] = ['SimHei']br# 獲取首位的函數brdef firstDigital(x):br x= round(x)br while x >= 10:br x //= 10br return xbr# 首位概率累加brdef addDigit(lst, digit):br lst[digit-1] =1br return lstbr# 理論值:每位概率理論值用于對比brth_freq=[math.log((x 1)/x, 10) for x in range(1,10)]br#分别獲得2019,2020年報數據brdf= ts.get_report_data(2019, 4)br# 隻取淨利潤>0的數據,首先進行次數統計brfreq= reduce(addDigit, map(firstDigital, filter(lambda x:x>0, df['net_profits'])), [0]*9)br# 再計算實際概率brpr_freq= [x/sum(freq) for x in freq]brprint(th_freq)brprint(pr_freq)br# 作圖brplt.title('用上市公司2019年報淨利潤數據驗證本福特定律')brplt.xlabel("首位數字")brplt.ylabel("概率")brplt.xticks(range(9), range(1,10))brplt.plot(pr_freq,"r-",linewidth=2, label= '實際值')brplt.plot(pr_freq, "go", markersize=5)brplt.plot(th_freq,"b-",linewidth=1, label= '理論值')brplt.grid(True)brplt.legend()brplt.show()

xxxxxxxxxxbrbr

從圖形上看,兩者拟合度還是比較高的。據說有些上市公司數據造假就是被用本福特定律查出來的。所以不認真學習的話,造假都造不好。

,

更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!

查看全部

相关科技资讯推荐

热门科技资讯推荐

网友关注

Copyright 2023-2025 - www.tftnews.com All Rights Reserved