王正禹,梁雅丽,曹世超,徐辉
摘要:健康中国——基于大数据的可视化分析平台,采用爬虫技术对零散的疾病数据进行收集,利用大数据模型加以分析,Python Flask框架+ECharts.js进行绘图,完成中国新冠肺炎数据、高发疾病概率演变以及高发疾病病人数变化的数据展示。
关键词:ECharts;大数据;可视化;传染病;健康
中图分类号:TP391 文献标识码:A
文章编号:1009-3044(2021)20-0031-03
1 背景
新冠肺炎疫情爆发,全民皆兵。防疫攻坚战后大家不仅养成了自觉配戴口罩出门、勤洗手等良好的自我保护习惯,也更加注重个人健康问题。长期以来,随着我国生产力发展水平持续地增长,人们更希望能够幸福长寿。然而随之而来的却是城镇化、人口老龄化问题的不断升温,中国居民的日常生活和疾病种类也在不断地发生着变化[1],中国是世界人口最多的国家,但是我国的医疗设施、药品却相对匮乏,现在老年人数持续上升,常见疾病的预防与治疗已经成为当下社会关注的热点话题。
因此,如何有效地预防疾病以及减少患病次数、增强免疫力已受到高度重视。预防胜于治疗,本课题采集、分析往年与健康相关的数据,借助可视化图形来进行直观的展示,开发出基于大数据的可视化分析平台——健康中国。该平台向人们展示高发疾病的患病率、死亡率等,通过这种方式提醒人们重视预防工作,学习疾病知识,萌发为自己的健康与幸福投资的意识。
该平台采用统计图表的方式,通过热力地图、条形竞赛图、动态散点图、雷达图等可视化图例来反映近几年高发疾病的演变趋势,直观地体现出不同指标下的数据差异,将零散的书面信息转换为视觉信息,使数据与用户能够交互增强参与感,一定程度减少用户收集数据分析资料的时间,更好的传递相关产染病的信息。
2 相关技术
2.1 爬虫技术
利用爬虫技术对数据进行收集、清洗、分析,具体流程如图1。
1)大数据的收集:依靠requests库,对国家统计局数据网站发起请求,并从中提取需要的数据。
2)数据整理与清洗:从多个数据源获得需要的数据,对采集到的数据集进行预处理,以保证采用大数据分析和预测结果的可靠性和真实性。预处理能够大大增强数据的准确性、可靠性、真实性,提高数据的价值。
3)数据存储:将整理后的数据存储成json格式并通过ajax传递给前端进行页面渲染。
反爬虫技术也是我们需要考虑的一个要点:在爬取数据时经常会频繁地访问一个网址,这样很容易造成ID被限制,而无法访问该网站。大多数网站会加入了反爬虫技术,以增强其网页的安全性与独特性,所以我们一般通过user-Agent来控制访问,常用的方法就是加一个虚拟的headers[2]模拟正常用户登录以防访问受限。
2.2 数据分析
检查、清洗、整理、转换和建模数据,发现有用的信息,进行数据分析(相关分析、回归分析等)获取大数据价值链,挖掘数据中潜在的价值,对于得出的结论可以根据所需要的内容进行筛选、整合、提取,并选择合适的数据进行分析,提高研究结果的可用性、价值性和准确性。
本项目中采用的数据分析就是将各地新冠肺炎确诊人数以及甲乙类法定报告传染病发病人数及死亡人数和甲乙类法定报告传染病发病率、死亡率及病死率的数据进行整合,并按照数据的不同特征进行筛选,在大量数据集中选择自己所需要的數据并提取出来,储存为json格式数据,方便前端提取使用。
将获取的数据使用Python Flask框架+ECharts.js进行绘图,最终实现可视化界面。
2.3 数据可视化
数据可视化是数据分析和展示的一种表现形式,它一直处在不断更新变化中。我们所获得的数据信息很大程度上依赖其表现形式,数据可视化是对数据中内容进行清洗、整合,再配合可视化图形的方式来展示数据信息属性。数据与可视化两者相辅相成,为数据分析结果的展示增添了几分灵性。
数据可视化展现方式众多,除了日常所见到的柱状图、线状图外,还有和弦图、圈饼图、GIS地图等各种展现形式。Echarts是开源图表库,包含大量可视化图表,以便我们可以依据数据分析的价值方向,选择侧重变化趋势、指标等因素的可视化图表形式。Echarts适用于各大浏览器,可用程度高[3]。目前大数据技术已经广泛应用于日常生活,例如:城市交通数据在帮助规划限速路段、红绿灯时长等方面的应用。
数据的可视化实现过程一般比较复杂,庞大的数据量总价值密度低,要求进行检查、清洗、整理、转换和建模数据,发现有用的信息,进行数据分析(相关分析、回归分析等)获取大数据价值链。基本思想是将获得数据集中的每一个数据项作为单个图源元素表示大量的数据集,进而形成数据图像可视化[4]。可视化采用交互性图表为数据展示形式直观展示统计信息属性,符合大脑信息处理机制视觉信息处理更快的特点,易于被用户接受。
本平台采用如上技术,首先完成页面设计,logo的制作和页面板块布局;其次,完成数据收集处理;接着,对所获取的数据进行分析;最后,根据不同的展示需求,绘制相应的数据图,为了使用户对数据挖掘和页面内容生成直观生动的感受,将对象属性数据简明、清晰地进行“可视化”渲染。
3 系统分析与设计
3.1 内容设计
此项目的数据源来自相关数据公示平台,如国家统计局、卫健委数据源等。通过Python网络爬虫实时获取或将数据保存至本地进行数据清洗。统计甲乙类法定报告传染病发病人数及死亡人数以及甲乙类法定报告传染病发病率、死亡率及病死率。使用清洗后的数据,调用可视化模型进行一般可视化渲染与绘制:
1)中国新冠肺炎数据。主要字段有:省份、感染并确诊人数;