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

李佳谦

7f98b235e1f4b166d191fb002d9a5be8.png

5cca6bd18522f54b87a933f54d43b5ec.png

05eba318c228f7faf8ff121948523c49.png

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

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

中图分类号: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:

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

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值