分享

审计与小数据、大数据、VBA和Python

 东西二王 2020-06-10

众所周知,大数据就是海量数据,如视频网站每天用户上传的视频数量数以万计,这个“万计”是以GB为单位吗?不,是PB为单位,即1PB等于差不多100万GB。这就是大数据了。这些数据如果没有分析的话,是没用的,如我想知道视频网站上最受欢迎的裙子,我如果不将视频数据转换为一种能比较的单一格式,如EXCEL表格,这堆大数据就对我没用的,相反,如果我做了数据分析,找出了最受欢迎的裙子,这堆大数据就有用了。

当前做数据分析工作的朋友,大部分人能使用Excel吧,毕竟不会用的,估计都退休了。如果某天,你需要面对的数据量是以PB为单位的Excel文件,恐怕做到退休都无法完成吧。

估计别人以为我是说笑,其实,这不好笑,我只说一件事,传感器越来越智能了。不谈传感器的概念,我举几个例子你就明白了,人脸识别的摄像头,蓝牙体温计,声控防盗门等等。生物为了从外界获取信息,必须借助于感觉器官,而我们为了让机器从外界获取信息,发明了传感器,这样会不会好明白一点。

当越来越多的企业借助传感器来进行记录工作,如仓库的收发存,物流的出车记录,发票的开具工作,货款的收款记录均通过传感器来处理,这样,这些传感器产生的数据,他们每天所产生的数据就不再以GB为单位,而是以PB,EB为单位了。

再长远一点,如果未来是以无线信息技术为载体的话,即,无纸化 手机终端 网络云 物联网,数据的输入,存放,输出都不需经过人手处理的,能自动记录事件的时间,地点,人物,起因,经过和结果。你面对的,除了大堆的数据,还将是很多颗粒度非常细的数据沙,你必须利用更好的数据处理工具。

有人认为,审计中最重要的是职业判断,风控理论,而审核数据,数据分析这些工作,只是审计手段中的一部分,不需要太重视。我觉得,随着技术革新促进产业结构的不断调整,固守之前的风控理论,无疑是“刻舟求剑”。虽然现在很多行业的信息化程度不高,但不代表信息技术真的不重要。

我们目前正面临着一个重大的历史节点。应该说,改革开放的三十余年后,中国在工业化、信息化、网络化方面交出了一份不错的成绩单。如今世界正式迈入大数据时代,世界也向我们出了一份试卷。

小数据与大数据

如果以数据量进行划分,工业时代可以被划分为大数据时代和小数据时代。目前有多很的讨论,如大数据时代与小数据时代的划分标准。而我有一些不同的想法,这个就是获取数据的成本。

在20年前,获取大量的数据是一件高成本的事,我记得,想要获取客户的消费喜好,需要专业调查公司做大量的统计工作,有的公司采用抽样的方式来进行统计,有的公司采用问卷调查进行统计,无论结果如何,而且这些数据录入和输出都需要人手操作,而且,对获取数据的源头是有限制的,即我只调查1000人,或我只抽样1000人,这个是小数据时代下无可奈何的妥协。

而现在,随着智能手机,5G网络,云计算,物联网的出现,获取数据的成本已经大大降低了,以手机为例,智慧手机除了能上网之外,还是一个很好的传感器。在这一次的新冠疫情当中,出现了手机加载的“健康码”,就是大数据应用的一个例子。

“健康码”其实不是证明你是否健康,而是证明你进过的超市、坐过的公交、乘过的飞机火车等,是否有高危人群。其信息来源包括公民登记、企业登记、基层登记。如果你不幸的与感染者同时进出超市,那么你的“健康码”就从绿变红了。还有,如果你去了另一个城市,手机能自动记录你去过的时间和地点,“健康码”就会自动更新。

这个时候,智能手机就是一个数据收集点,而全国几乎人手一台的情况下,数据的产生、记录和传递就比较省成本了。当18个省的出行数据通过手机网络汇总到数据中心后台,同时让各个省的数据得到数据互认,从而实现对人群流动的精准管理。

我个人认为,大数据与小数据之间并没有绝对的界限,但以获取成本来划分,能相对准确。毕竟,一个技术能不能得到社会的承认,很大一部分是他的成本能不能让人接受。

除手机之外,人脸识别摄像头也是一个很好的传感器,它承担着图像采集的任务,而图像采集之后,就与服务器中的数据库进行比对,如身份证数据比对。这样一来,就可以判定两个人是否为同一人。这个数据比对的过程其实也是大数据应用的过程,因为用一个人的特征去搜索14亿人的数据,无论如果,都是小数据时代所不能达到的。

审计与小数据、大数据、VBA和Python

虽然大数据被炒得火热,但很多时候,对于个人而言,记录身边的点点滴滴,小数据就够了。比如,今年的我比去年的我增加了多少斤肉,我要跑多久才可以减少一斤肉,只要小数据就可以了。

VBA与小数据

在windows2.0的时代,EXCEL已经出来了,当时Windows系统只卖99美元,还捆绑了EXCEL。几年之后,EXCEL从Windows分割出来,却被捆绑到Microsoft Office中,同一时期,VBA(Visual Basic for Applications)刚刚从BASIC语言基础上开发出来,还属于非常先进的计算机语言,微软也将其内嵌在Microsoft Office,这样一来,EXCEL和VBA就走在一起了。老实说,这在当时是非常先进的,因为一个是可视化表格和一个可视化是计算机语言,两者集成在一起,使批量处理变得简单和高效,是一个划时代的标志。可以说,Microsoft Office取得巨大成功的一个重要原因就是VBA。

VBA中的B,就是Basic语言,Basic是非常亲民的语言,其诞生于70年代,是专门为非计算机人士而设的,只要英语语法过关,基本能猜到语句的含义。本人学的第一个计算机语言就是Basic,在电脑兴趣班中上三四节课,就能写一个简单点的小程序。而VBA仍然继承了Basic语言的关键字和语法,所以算是易学易用的一种语言。功能上,VBA与微软的产品融合得不错,所以在Windows系统中运行一点都不吃力。

以我的古董电脑为例,在WinXP系统下,EXCEL的工作表最大行数是100万行左右,所以如果数据量多的话,就要分成很多个工作表。如果运行一个超过50MB的Excel文件,系统会变得有点卡,如果做一个筛选后合并计算,除了执行时间长之外,还一不小心就宕机。但如果事先用VBA进行筛选后合并计算,执行时间短,而且没感觉到系统变卡。

另外,VBA可以进行批处理,例如,要将十几个分公司的花名册汇总到一张表中,简单点的就是打开所有分公司的花名册文件,然后用复制黏贴的方法将名单汇总到一张表中。但如果分公司不是十几个,而是几百个,这就麻烦了。不过,如果有VBA,可以使用FileArr函数和For…Next…语句,就可以几百个公司的花名册汇总到一张表中。

当然,这是有限制的,当一个EXCEL文件达到200MB的时候,连打开文件都变得很慢时,想查找数据,就要将EXCEL文件导入ACCESS中,进行查找。ACCESS可以进行分类汇总,条件查询等,另外,ACCESS内也有VBA的,所以批量处理也不是问题。

不过问题来了,ACCESS也是有限制的,最大的上限是2GB,所以,如果文件大的话,最后还需将数据进行拆分。于是数据库软件出来了,知名的如Oracle、MySQL、SQL Server等,当然,这个是服务器级的,毕竟在1990年,是没有8G内存的个人电脑的,普遍是128MB的内存,能用数据库的都是企业级服务器。而在数据库软件之中,最贵的是Oracle,为什么?除了稳定性强外,他的功能齐全,能对数据能进行可视化分析,对大企业的决策层是非常有帮助的。

当时,电商还是一件新鲜的业务,并不是所有人都看好的,除了极少数人,没人会想到电商日后的辉煌,更没有人想到有公司一天的交易量会是2000亿,一分钟的交易量会是65亿。可以说,电商的辉煌催生了云计算,也为大数据提供的物理基础。

Python与大数据

Python与VBA不一样,它是一种解释型语言,编程涉及更少的代码行。它能够以最少的代码行执行程序。另外一个就是开源,Python作为一种开源语言,能支持多种平台。而且,它可以在Windows和Linux等各种环境中运行。

Python的受欢迎程度如下:

审计与小数据、大数据、VBA和Python

Python具有支持数据处理的内置功能。您可以使用此功能来支持对非结构化和非常规数据的数据处理。这就是大数据公司偏爱选择Python的原因。

例如在数据分析中,Python有pandas(熊猫)库。它能够从多个来源读取数据,并具有一些内置的可视化效果,可用于将结果绘制成图表,可将完成的分析结果转换为Excel电子表格。同时,他提供了:数值计算、数据分析、统计分析、数据可视化的功能。特别在很多的金融数据分析,经常见到他的身影。

Python的强大是建立在一系列强大的开源库上面的,无论是神经网络、智能算法、数据分析、图像处理、科学计算,都有各式各样的库在等着你用。而这些是VBA语言是没有的。

另外,与其他语言相比较,Python能与Hadoop完全兼容的。Hadoop是一个大数据框架系统,非常出名,有人说,Hadoop是大数据的代名词,这个不过分,因为Hadoop它是开源的,能用于多台计算机的,解决大量计算和处理大量数据使用的软件,特别是它能存储PB级别的文件。所以你会用Hadoop,你就成为大数据市场上最抢手的员工。

由于笔者不是做Hadoop开发的,所以就不多介绍了。

我在这里强调Python与大数据,是因为Python可以成为审计的一个工具,在审计之前,很多会计师事务所都要做风险评估程序,什么是风险评估程序呢?在回答这个之前,先说一下什么叫做“拇指规则”,这样好理解一点。

“拇指规则”是指的是在农业播种时,为了达到合适的种子深度,拇指经常被用来快速地测量种子掩埋的深浅,而在经济领域,指的是指经济决策者对信息的处理方式不是按照理性预期的方式,把所有获得的信息都引入到决策模型中。他们往往遵循的是:只考虑重要信息,而忽略掉其他信息。否则信息成本无限高。

是不是很熟悉?

风险评估就是审计程序当中的那只拇指,从而判断风险大小的,其中更多的是主观判断。

为什么现在还需要主观判断?这是因为时间,无错,时间不够用。

注册会计师职业是在第二次工业革命后期正式成熟的,在产业集团化的背景下,风险评估为导向的审计模式与运用方式,可以更省时间,举个例,为了证明你批烤鸭是安全的,以食品安全法为原则设计了一系列的问卷调查测试,然后判断抽查的范围。如我认为这批烤鸭的安全风险是低的,我这次抽十只烤鸭进行检查,这样节省了时间。

但是,如果是风险不单独存在于食品安全,而是在禽流感的话,这样的风险就被低估了。

还好,随着信息化的发展,其实就是以信息为基础的第三次工业革命,有人提出了用大数据来解决样本不足引起的风险,即我每一只烤鸭从他从鸭蛋到烤制的过程都有数字记录的,是的,每一只鸭子,而不是十只,这样的话,风险就转移了。这个方向有很多人在探索,笔者也在探索之中,而Python就是其中的一个探索工具。

Python用法举例:

先说Python,因为相比较VBA,Python的语法更简单,而且容易理解,之后再去学VBA,就能举一反三。

如用Python打印“我是中国人”

审计与小数据、大数据、VBA和Python

如果用VBA打印“我是中国人”

审计与小数据、大数据、VBA和Python

Python只需要一行代码就可以了。

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多