APP下载

计算机数据解析与回归分析方法实践

2019-12-26李佳谦

中文信息 2019年12期
关键词:回归分析计算机

李佳谦

摘 要:为了学习计算机数据处理方面的基础知识和回归分析方法,通过实践,实现了对二进制数据文件中数据的解析,并利用回归分析方法推导出数据转换的算法模型。

关键词:计算机 数据解析 回归分析

中图分类号:TP3文献标识码:A文章编号:1003-9082(2019)12-000-01

为了深入学习计算机数据处理方面的知识,我参与了一项计算机数据文件解析的任务,内容是:针对一个温湿度监控系统,把系统的报警信息(即超标的温度)通过短信发送出去,问题是,报警信息保存在一个二进制文件中,无法直接读取。所以首先要从数据文件中找到这些数据是如何存储的,并推导出这些数据与实际显示的信息(即温度)之间的关系。

首先用UltraEdit软件以16进制打开数据文件,见图 1:

可以看出其中加亮部分的ASCII码就是监控点位的编号,并且在文件中每隔固定长度就出现另一个监控点位的名称。因此可以推测每个点位的报警数据应该就在两个编号之间。在这些信息中,除了报警数据,还有一些附加信息,例如报警的日期和时间,应先把这些数据找出来并排除掉,以免干扰对数据分析。所以先来查看系统显示的报警日期和时间(模拟数据的时间是“2015-12-09 15:07:41”),这些数据的16进制为“07DF-0C-09 0F:07:29”。通过比较,可以在文件中找到对应“月”“日”“时”“分”“秒”的数据,而在对应“月”的数据的前面是16进制的“73”,转换成十进制就是“115”,与模拟数据的年份“2015”相差1900。我们知道,在有些计算机系统中,经常以1900年为年份的0点,可以推测,文件中保存的是实际年份与1900的差值。

下一步检查当报警数据发生变化时,除了“名称”“时间”之外,发生变化的数据的便是报警数据。通过模拟一些不同的报警数据,可以发现,当模拟报警数据变化而其他信息不变时,有4个连续的数据(16进制)也在变化,如图 2加亮部分:

数据占据4个字节,当模拟数据为整数时,第1、2位均是“00”,只有第3、4位有数据。而带有小数时,则第1、2位会显示非“00”数据。根据“高位在后,低位在前”,推断第1、2位的是小数,而3、4位是整数。为了验证推论,我们在系统中模拟了几个只有整数的报警数据:10、11、12,然后打开文件,发现第3、4位分别是“20 41”、“30 41”、“40 41”,很明显,第3位是变化的,是低位,第4位是高位,由此,我推测数据应该第4、3、2、1位这样顺序排列的,例如前面图片中 “CD CC 8C 3F”,对应的16进制数据应该是“3F 8C CC CD”,即十进制的“1066192077”,很明显这里不是直接存储的“温度”数据,很可能存储的是传感器的电信号,所以后续的关键任务是找到如何将这些“电信号”数据转换为真正的报警数据,即“温度”的方法。我们模拟了超过100组数据(即:<电信号数据:温度数据>),用于回归分析。在Excel中,把“温度”作为x轴、“电信号”数据作为y轴录入到表格中,生成曲线图,见图 3:

可以看出,所有的数据点分布在由直线段组成的折线上,可以发现线段的交点横坐标分别是在2、4、8、16、32…,即2n的位置。由此推测,在数据文件中存储的数据,即“电信号”与“温度”之间的对应关系应该是用这个折线模型来匹配的。为了验证,我们推导了2、4、8、32…这些区间内的线段对应的一系列的直线方程,即:y=ax+b,其中a为x的系数,b为常数。因为我们的目的是要根据“电信号”推导出“温度”数据,因此将报警文件中的数值(电信号)作为自变量,“温度”数据作为因变量,利用SPSS软件进行线性回归,例如,我们分别将对应4和8两点的数据(分别是:1082130432、1090519040)录入SPSS中,然后执行线性回归,结果得到a=4.76837158203125E-7、b=-512.000。即:当报警文件中的数值介于“1082130432和1090519040”之间时,采用方程y=4.76837158203125E-7x-512.000来计算,将“电信号”转换为“温度”值。作为验证,将对应温度为“7”的电信号数值“1088421888”,代入到上述方程,可以得到正确的结果:y=7。按此方法,逐一计算出1-2、2-4、4-8、8-16、16-32等报警范围的方程,见表 1:

利用这些方程,分段对其他模拟产生的数据文件中的数据进行驗证,结果完全一致,从而确认该算法是正确和有效的。

有了这个模型,后续便可实时分析和获得各点位的温度数据,实现后续发送报警短信的功能了。通过这次学习和研究,我了解了一些计算机数据相关的基础知识和它们在实际中的应用,学会了用一些工具软件来实现回归分析的方法。同时也体会到了在解决实际问题中,要灵活思考,注意观察,发现规律,从不同角度分析问题、解决问题的重要性。

猜你喜欢

回归分析计算机
计算机操作系统
穿裙子的“计算机”
基于计算机自然语言处理的机器翻译技术应用与简介
计算机多媒体技术应用初探
信息系统审计中计算机审计的应用
城乡居民医疗费用的相关性与回归分析
Fresnel衍射的计算机模拟演示