基于机器学习的甲亢病情发展预测及应用

基于机器学习的甲亢病情发展预测及应用

ID:77691268

大小:9.38 MB

页数:68页

时间:2024-02-04

上传者:笑似︶ㄣ無奈
基于机器学习的甲亢病情发展预测及应用_第1页
基于机器学习的甲亢病情发展预测及应用_第2页
基于机器学习的甲亢病情发展预测及应用_第3页
基于机器学习的甲亢病情发展预测及应用_第4页
基于机器学习的甲亢病情发展预测及应用_第5页
基于机器学习的甲亢病情发展预测及应用_第6页
基于机器学习的甲亢病情发展预测及应用_第7页
基于机器学习的甲亢病情发展预测及应用_第8页
基于机器学习的甲亢病情发展预测及应用_第9页
基于机器学习的甲亢病情发展预测及应用_第10页
资源描述:

《基于机器学习的甲亢病情发展预测及应用》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

学校代码:10255学号:2161718基于机器学习的甲亢病情发展预测及应用PredictionandApplicationofHyperthyroidismDevelopmentBasedonMachineLearning学科专业:软件工程作者:张碧莹校内导师:王梅校外导师:朱立峰答辩日期:2018年5月东华大学计算机科学与技术学院SchoolofComputerScienceandTechnologyDongHuaUniversity 东华大学学位论文原创性声明本人郑重声明:我恪守学术道德,崇尚严谨学风。所呈交的学位论文,是本人在导师的指导下,独立进行研究工作所取得的成果。除文中已明确注明和引用的内容外,本论文不包含任何其他个人或集体已经发表或撰写过的作品及成果的内容。论文为本人亲自撰写,我对所写的内容负责,并完全意识到本声明的法律结果由本人承担。学位论文作者签名:日期:年月日 东华大学学位论文版权使用授权书学位论文作者完全了解学校有关保留、使用学位论文的规定,同意学校保留并向国家有关部门或机构送交论文的复印件和电子版,允许论文被查阅或借阅。本人授权东华大学可以将本学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩印或扫描等复制手段保存和汇编本学位论文。保密□,在年解密后适用本版权书。本学位论文属于不保密□。学位论文作者签名:指导教师签名:日期:年月日日期:年月日 东华大学硕士学位论文答辩委员会成员名单姓名职称职务工作单位备注乐嘉锦教授答辩委员会主席东华大学朱立峰教授级高工答辩委员会委员瑞金医院李悦讲师答辩委员会委员东华大学陈德华副教授答辩委员会委员东华大学骆轶姝副教授答辩委员会委员东华大学潘乔副教授答辩委员会秘书东华大学 东华大学硕士学位论文基于机器学习的甲亢病情发展预测及应用基于机器学习的甲亢病情发展预测及应用摘要随着社会经济的发展,人们在提高生活水平的同时也越来越关注自身的健康,均希望获得便捷、高质量的医疗保健服务。然而,由于优质医疗资源的稀缺以及医疗资源分布的差异,致使目前的医疗服务难以普遍的满足病人需求。在这种情况下,远程医疗服务系统应运而生。目前的远程医疗服务系统借助于远程通信技术、电子与计算机技术实现专家与病人、专家与医务人员之间异地“面对面”的会诊,对于充分发挥大型医疗中心的技术优势、提升诊疗效率与效果具有重要意义。然而,在医患的线上交流中,经常会出现患者因不了解自身病情而无法找到合适医师的情况,如果能够将基于人工智能技术的病情预测模型与传统的远程医疗服务系统相结合,将会进一步提高当前医疗服务系统的智能性及有效性。甲亢作为一种发病率较高的慢性病,已成为现代内分泌医学的主要研究项目之一。在临床诊疗时,有许多甲亢患者因未及时了解病情而延误了最佳的治疗时间。为帮助患者及时检查自身病情,预防甲亢疾病恶化,针对甲亢疾病的病情发展进行预测研究就显得十分必要。目前,在甲状腺医学领域中,已有许多结合人工智能技术进行风险评估和病情预测的研究成果,但这些研究均未提供与模型对应的服务应用平台。其研究数据大多以超声图像、病理诊断和用药情况为主,往往忽略了血检指标对患者病情发展的影响,且模型大多基于线性回归和深度学习算法,不能对患者病情发展进行分类预测。针对上述问题,本文提出了基于血检指标变化规律的甲亢分期预测及病情发展预测模型,并对如何实现基于模型的医疗服务原型系统进行了研究。首先,本文提出了甲亢分期预测模型。依据甲亢临床医学研究,制定了基于患者血检指标FT3、FT4、TSH、TRAB变化规律的分期阶段划分规则,总结了各阶段间的依赖关系。进一步,依据该规则和联系设计了甲亢分期阶段预测算法,建立了以患者血检指标值为输入I 东华大学硕士学位论文基于机器学习的甲亢病情发展预测及应用的甲亢分期预测模型,为后续提出的医生推荐算法奠定了基础。其次,本文实现了基于患者血检指标数据的甲亢病情发展预测模型。通过分析某三甲综合性医院10年间的甲亢患者临床数据,本文提取了37维蕴含甲亢患者病情发展规律及特点的特征,建立了基于SVM支持向量机和K近邻算法的分类预测模型。该模型依据甲亢患者的基本信息及前六个月的血检指标预测其未来的病情发展状况,为辅助医生精确化临床诊断提供了技术支持。最后,本文实现了基于开源Rocket.Chat远程沟通平台的医疗服务原型系统。本文将传统的医疗服务系统与Rocket.Chat相结合,实现了医生与患者间的在线互动,并将甲亢病情发展预测模型嵌入原型系统中,实现了基于模型的病情预测服务。本文设计了基于甲亢分期预测模型的医生推荐算法,将医师资源合理分配给不同患病程度的患者,平衡了医生与患者的匹配比例,提高了医院的就诊效率。关键词:甲亢;分期预测;病情发展预测;医疗服务系统;医生推荐II 东华大学硕士学位论文基于机器学习的甲亢病情发展预测及应用PREDICITONANDAPPLICATIONOFHYPERTHYROIDISMDEVELOPMENTBASEDONMACHINELEARNINGABSTRACTWiththedevelopmentofsocietyandeconomy,peoplearepayingmoreandmoreattentiontotheirownhealthwhileimprovingtheirlivingstandards,theyallhopetoobtainconvenientandhigh-qualityhealthcareservices.However,duetothescarcityofhigh-qualitymedicalresourcesandthedisparityinmedicalresourcesdistribution,it’sdifficultforcurrentmedicalservicestomeettheneedsofpatientsuniversally.Inthissituation,thetelemedicineservicesystemcameintobeing.Thecurrenttelemedicineservicesystemrealized“face-to-face”consultationsbetweenexpertsandpatients,expertsandmedicalpersonnelwiththehelpofremotecommunicationtechnologies,electronicandcomputertechnologies,whichisofgreatsignificancetogivefullplaytothetechnologicaladvantagesoflargemedicalcentersandimprovetheefficiencyandeffectivenessofmedicaltreatment.However,intheonlinecommunicationbetweendoctorsandpatients,itoftenhappensthatpatientscannotfindsuitablephysiciansbecausetheydonotunderstandtheirowncondition.Ifwecancombinethediseasepredictionmodelbasedonartificialintelligencetechnologywiththetraditionaltelemedicineservicesystem,theintelligenceandeffectivenessofthecurrentmedicalservicesystemwillbefurtherimproved.Asachronicdiseasewithhighincidence,hyperthyroidismhasbecomeoneofthemajorresearchprojectsinmodernendocrinology.Duringthetimeofclinicaldiagnosisandtreatment,manypatientswithhyperthyroidismdelayedtheirbesttreatmenttimebecausetheydidn’tunderstandtheirconditionintime.Inordertohelppatientschecktheirownconditionintimeandpreventtheworseningofhyperthyroidism,itisextremelynecessarytocarryoutpredictionresearchonthedevelopmentofhyperthyroidism.Atpresent,inthefieldofthyroidmedicine,therearemanyresearchresultsthatuseartificialintelligencetechniquestoriskevaluationanddiseaseprediction,butnoneofthesestudiesprovidedaserviceapplicationplatformthatcorrespondstothemodel.Mostoftheresearchdataaremainlybasedonultrasoundimages,pathologicaldiagnosisandmedication,whichoftenignoredtheinfluenceofbloodtestindicatorsonpatient'scondition.Mostofthemodelsarebasedonlinearregressionanddeeplearningalgorithms,whichcannotclassifyandpredictthedevelopmentofpatient'scondition.Inviewoftheaboveproblems,thispaperproposesahyperthyroidismstagingpredictionmodelandahyperthyroidismdevelopmentpredictionmodelbasedonthechangerulesofbloodindicators,andstudieshowtoimplementamodel-basedmedicalserviceprototypesystem.First,thispaperproposedahyperthyroidismstagingpredictionmodel.Accordingtotheclinicalmedicalresearchofhyperthyroidism,thispaperestablishedtheclassificationruleswhichbasedonthechangelawsofbloodindicatorFT3FT4TSHandTRAB,summedupthedependenciesbetweenthesephases.Further,basedontherulesandlinkages,thispaperdesignedastagingpredictionalgorithmforhyperthyroidismandestablishedahyperthyroidismstagingIII 东华大学硕士学位论文基于机器学习的甲亢病情发展预测及应用predictionmodelusedpatient'sbloodindicatorsvalueasinput,whichlaidafoundationforthesubsequentphysicianrecommendationalgorithm.Secondly,thispaperachievedahyperthyroidismdevelopmentpredictionmodelbasedonthebloodindicatordataofpatients.ByanalyzingtheclinicaldataofacomprehensiveGrade-Atertiaryhospitaloverthepast10years,thispaperextracted37-dimensionalfeatureswhichcontainedtherulesandcharacteristicsofhyperthyroidismpatient'sdiseasedevelopment,andestablishedaclassifypredictionmodelbasedonSVMsupportvectormachineandKnearestneighboralgorithm.Themodelusethebasicinformationofhyperthyroidismpatientsandthebloodindicatorvaluesduringthefirstsix-monthstopredictpatient'sfuturedevelopmentofhyperthyroidism,whichhasprovidedthetechnicalsupportforassistdoctortogiveaccurateclinicaldiagnosis.Finally,thispaperimplementedamedicalserviceprototypesystembasedontheopensourceRocket.Chatremotecommunicationplatform.ThispapercombinedthetraditionalmedicalservicesystemwithRocket.Chattorealizetheonlineinteractionbetweendoctorsandpatients,andembeddedthehyperthyroidismdevelopmentpredictionmodelintotheprototypesystem,realizedthemodel-baseddiseasepredictionservices.Thispaperdesignedaphysicianrecommendationalgorithmbasedonthehyperthyroidismstagingpredictionmodel,whichfairlyassignedthephysicianresourcestothepatientsindifferentdegrees,balancedthematchingratiobetweendoctorsandpatients,andimprovedtheefficiencyofhospitalvisits.ZhangBiYing(SoftwareEngineering)SupervisedbyWangMeiKEYWORDS:hyperthyroidism;stagingprediction;diseasedevelopmentprediction;medicalservicesystem;physicianrecommendationIV 东华大学硕士学位论文基于机器学习的甲亢病情发展预测及应用目录摘要..............................................................................................................................IABSTRACT.................................................................................................................III第一章绪论..................................................................................................................11.1研究背景与意义..............................................................................................11.2国内外研究现状..............................................................................................21.2.1医疗大数据与人工智能......................................................................21.2.2甲状腺疾病预测...................................................................................31.2.3web医疗服务系统...............................................................................41.3本文研究内容..................................................................................................41.4文章结构..........................................................................................................5第二章相关技术介绍..................................................................................................72.1Rocket.Chat开源系统......................................................................................72.2机器学习算法..................................................................................................82.2.1SVM支持向量机.................................................................................82.2.2KNN近邻.............................................................................................92.3本章小结........................................................................................................10第三章甲亢病情发展预测模型................................................................................113.1甲亢病情发展介绍........................................................................................113.2甲亢分期预测模型........................................................................................123.2.1甲亢阶段划分规则与联系.................................................................123.2.2甲亢分期预测算法.............................................................................123.3甲亢病情发展预测模型...............................................................................143.3.1数据预处理.........................................................................................143.3.2特征提取.............................................................................................163.3.3模型训练.............................................................................................193.3.4特征降维.............................................................................................213.4实验结果与分析............................................................................................223.4.1实验数据集提取.................................................................................223.4.2模型评估标准.....................................................................................23V 东华大学硕士学位论文基于机器学习的甲亢病情发展预测及应用3.4.3模型性能实验对比.............................................................................233.4.4特征降维实验对比.............................................................................253.5本章小结........................................................................................................26第四章系统设计与实现............................................................................................274.1系统简介........................................................................................................274.2系统总体框架设计........................................................................................274.3数据库设计....................................................................................................294.4系统功能模块设计........................................................................................324.4.1甲亢分期预测模块.............................................................................324.4.2甲亢病情发展预测模块.....................................................................344.4.3医生推荐模块.....................................................................................374.4.4预约模块.............................................................................................424.5系统实现........................................................................................................434.5.1系统环境与部署.................................................................................434.5.2界面展示与实验分析.........................................................................444.6本章小结.......................................................................................................51第五章总结与展望....................................................................................................525.1工作总结........................................................................................................525.2研究展望........................................................................................................53参考文献......................................................................................................................54攻读学位期间的研究成果目录..................................................................................57致谢..............................................................................................................................58VI 东华大学硕士学位论文第一章绪论第一章绪论1.1研究背景与意义随着社会经济的发展和人民生活水平的提高,人们越来越关注自己的健康,[1]都希望得到便捷和高质量的医疗保健服务。但由于各地医疗资源分布的差异,不少地区医疗条件落后,医疗系统分离脱节、各自为营,不利于医疗资源的优化共享,致使病人难以获得完善的医疗保健服务。在这种迫切需求下,远程医疗服[2]务系统应运而生。基于web平台的远程医疗服务系统不仅提供了远程医疗咨询、远程专家会诊、远程手术等服务,同时也实现了患者在线咨询和医生实时诊断的[3]有效结合。然而,在医患的线上交流中,经常会出现患者因不了解自身病情而无法找到合适医师的情况。许多患者只能凭借个人判断选择想要预约的医生,且由于大多数患者存在择优与从众心理,导致医院中医患分配比例严重失衡,一部分医生就诊压力过大,一部分医生却无患可治。如果能够提前预知患者的病情发展及阶段,便能依据其患病程度推送合适的医疗资源及个性化服务,不仅能够减轻医院的就诊压力,同时也将大大提高医疗服务系统的智能性及有效性。因此,利用人工智能技术对患者的临床数据进行分析和预测,并依据预测结果为患者提供合适的个性化服务成为了当前医疗技术发展的必要趋势。近年来,人工智能技术与医疗大数据相结合的研究已在医疗领域中取得了大[4]量的科研成果。人工智能技术能够帮助人们更早、更准确的获知潜在的风险,[5]与此同时,医疗大数据也为人工智能技术的应用提供了良好的基础和平台。使用人工智能技术对医疗大数据进行分析,不仅可以实现病例共享、疾病预测、药物诊疗预测和个体化精确治疗等服务,同时也能够提高疾病预防、临床诊断、药[6]物使用安全的有效性,进而推动医疗技术快速发展。目前,在医疗领域中虽已出现许多疾病预测算法及模型的研究成果,但少有使用预测模型辅助医生进行临床诊断的应用及工具,如果能够将预测模型应用到医疗服务系统及临床辅助诊疗系统中,将大大提高医院的就诊效率及医生诊断的准确性。据不完全统计,我国目前患有甲状腺疾病的患者有超2亿之多,甲状腺疾病已经成为我国患病人数最多的疾病种类之一。在所有甲状腺疾病的患病人群中,甲亢患者人数居多,大约占比30%~50%左右,甲亢作为一种发病率较高的慢性[7]病,已成为现代内分泌医学的主要研究项目之一。在临床诊疗时,有许多甲亢患者因未及时了解病情而延误了最佳的治疗时间,甚至有患者因不了解病情而不重视甲亢这种疾病。为帮助患者及时检查自身病情,正视甲亢疾病的危害,预防甲亢疾病恶化,针对甲亢疾病的病情发展进行预测研究就显得十分必要。1 东华大学硕士学位论文第一章绪论本文针对目前发病率较高的甲亢疾病,根据其病情发展特点,提出了甲亢分期预测模型和甲亢病情发展预测模型,并基于开源Rocket.Chat远程沟通平台,实现了患者与医生实时互动的医疗服务原型系统。进一步,本文将甲亢分期预测模型和甲亢病情发展预测模型嵌入原型系统中,实现了基于模型的病情预测服务,不仅为辅助医生精确化临床诊断提供了技术支持,同时为甲亢患者提供了了解自身病情发展的平台。最后,本文提出了基于模型预测结果的医生推荐算法,实现了基于该算法的医生推荐服务和在线预约服务,将医师资源合理分配给不同患病程度的患者,不仅平衡了医生与患者的匹配比例,同时提高了医院的就诊效率。1.2国内外研究现状1.2.1医疗大数据与人工智能随着医疗信息化的发展和计算机技术的广泛应用,医疗数据正在以惊人的速[8]度增长,医学研究已经进入了大数据的时代。早在多年前,国外就已开始了对医疗大数据的分析与研究。谷歌公司在2008年时就已建立了基于谷歌搜索数据的流感预测模型(GoogleFluTrends,GFT),该模型将5000万个搜索关键词与1152个流感数据点相匹配,成功预测了甲型H1N1流感在美国境内的传播。在2013年,谷歌又成功研发了一款名为FluView的流感追踪软件,该软件接收并处理来自医生、医院以及CDC实验室的流感数据,定期为美国各地区的流感疫情发展提供详细的地理分布图像。美国疾病预防控制中心CDC已使用该软件成功预测了流感在美国境内的传播动向,进而帮助医生有效的阻止了流感疫情的蔓[9]延。国内有关医疗大数据的研究与应用虽起步稍晚,但近几年也出现了蓬勃发展的态势,医疗大数据分析逐渐成为了医疗模式优化转型的必要需求。在国内的医疗大数据相关研究中,高汉松等人结合云计算技术提出了一种基于Hadoop的医疗云数据挖掘平台架构,详细阐述了其基础层、功能层、平台层及业务层等各[10]层功能;许德泉等人介绍了大数据在基因测序、个性化药物开发及个人健康管理等医疗个性化服务方面的应用,并对其在应用中面临的挑战进行了简要分析[11]。目前,医疗领域内的大数据主要来自于临床诊断数据、患者就医数据、健康管理数据和社交网络数据,这些医疗大数据不仅能够应用于疾病辅助诊断和治疗方案确立,同时还可应用于疾病预测、药物研发等方面。现如今,人工智能技术在医疗行业的应用已渗透到各个领域,如临床数据对比、临床决策支持、病情发展预测、就诊行为分析等等。目前,利用人工智能算法预测患者病情发展的相关研究在国内外各个医学领域中均已取得了大量的科研成果。在高血压疾病的研究领域中,黄薇等人以武汉市某区域居民的健康档案数据为研究对象,建立了基于BP神经网络的高血压预测模型,该模型能够预测2 东华大学硕士学位论文第一章绪论高血压患者的收缩压SBP值和舒张压DBP值,为高血压诊断与决策提供了技术支[12]持。在急重症领域中,Johnson等人以4000个高危心脏病患者数据为训练样本,研发了一种基于集成贝叶斯学习算法的ICU死亡率预测模型,并提出了一种由500个决策树弱学习机组成的新的贝叶斯集成方案,使模型正预测值达到了[13]0.5310,灵敏度达到了0.5353。在糖尿病研究领域中,韦哲于等人采用Apriori算法对某医院323例糖尿病患者的首次病程记录建立了2型糖尿病预测模型,挖掘出10条蕴含2型糖尿病患者数据特征的关联规则,实现了对糖尿病高危人群简便[14]而准确的初判断。甲状腺疾病研究作为内分泌医学研究的一大分支,在医疗大数据发展的影响下,也开始结合人工智能技术进行风险评估、病情恶化预警和病情发展预测等研究,通过结合先进的科学技术帮助人们更早、更准确的获知甲状腺疾病潜在的风险。1.2.2甲状腺疾病预测目前,在甲状腺疾病的研究领域中,已有许多结合人工智能算法的病情发展预测研究,如周东阳研究的基于深度学习的甲状腺结节良恶性预测模型,该模型以甲状腺结节患者的诊断多维分析及超声数据为基础,建立了基于深度置信网络[15](DBN)的甲状腺结节良恶性预测模型。大多数研究均以超声图像、病理诊断或用药情况为原始数据,如宋海霞研究的基于超声图像及诊断的Graves病复发预测模型,该模型使用Graves病患者的甲状腺超声图像及病理诊断作为特征[16]数据。在建模过程中,多数模型均使用逻辑回归、线性回归和深度学习等算法,如侯春杰等人研究的甲状腺囊实性结节良恶性鉴别预估模型,该模型使用[17]Logistic回归算法对766个甲状腺囊实性结节患者的超声图像进行了数据建模。这些研究虽已在临床实验中取得了良好的应用效果,但仍存在许多不足之处,其模型虽能预测出患者未来的患病数据,却不能对患者的病情发展进行分类,许多模型虽然对患者的病理诊断和用药数据进行了分析,却忽略了患者的血检指标数据对其病情发展的影响。在所有甲状腺疾病中,甲亢作为发病率较高的病种,已成为现代内分泌医学的主要研究项目之一。目前,针对甲亢的相关研究主要以数据分析为主,如王致强研究的甲亢疾病数据多维分析及应用,该研究使用回归分析、统计分析等多维数据分析技术对甲亢患者的临床指标数据、用药数据及诊断等数据进行挖掘分析,[18]最终得出了4条包含甲亢患者多维临床数据相关性的关联规则与结论。由于甲亢疾病存在发病期较长且容易反复发作等特点,加之10年以上的甲亢患者临床数据不易获得等原因,针对甲亢疾病的病情发展预测研究难度较大,国内外目前还没有出现甲亢疾病病情发展预测的相关研究成果。本文针对甲亢患者的病情发展进行了预测研究,并提出了一种基于患者的年3 东华大学硕士学位论文第一章绪论龄、性别和前六个月血检指标数据的甲亢病情发展预测模型。本文使用机器学习中的SVM支持向量机和K近邻算法进行数据建模,实现了针对甲亢患者病情发展的分类预测。本文提出的甲亢病情发展预测模型不仅弥补了以往建模算法无法分类预测的缺陷,同时优化了模型特征数据的提取方法。1.2.3web医疗服务系统web医疗服务系统是目前最具潜力的医疗系统之一,患者与医生可通过web平台进行方便快捷的医疗问诊和健康咨询。早在2014年,中南大学就已实现了基于“移动医疗”的应用原型系统。该系统将医疗大数据与移动应用相结合,实现了基于web平台的健康管理、医患互动、远程医疗等服务项目,使患者可在手机、平板电脑、网页等智能终端上对自身的脉搏、血压、心电等人体生理指标进[19]行测量。该系统不仅改变了传统的看病方式,同时也为患者提供了更高效、便捷的医疗信息服务。除此之外,许多中小型企业也开始从事健康数据采集、网上看病预约、网络医生咨询等方面的应用开发。目前,我国在研发web医疗服务系统方面已取得了不少科研成果,如李殿奎、赵铁铭等人实现的基于web方式的社区医疗服务系统和张胤、尹长青等人实现的基于web平台的医疗自助服务系统,这些系统通常仅面向患者用户,其功能主要包括自助挂号、取单、信息[20-21]查询、自助缴费等。在许多中小型企业开发的医疗服务平台中,通常只为用户提供基于问答模式的病情咨询服务。患者在咨询过程中,经常会遇到由数据传输中断或网络延迟等原因造成的延时答复现象,这大大降低了用户的体验效果。大多数系统往往只面向患者用户,既没有提供面向医生用户的服务功能,也没有提供医患之间实时交[22]流的互动平台。由于医生与患者之间缺少方便沟通的渠道,许多患者只能凭借个人判断进行医生选择,又由于大多数患者存在择优与从众心理,导致预约中医患分配比例严重失衡,一部分医生就诊压力过大,一部分医生却无患可治。本文将甲亢病情发展预测模型与Rocket.Chat开源系统相结合,不仅为医生和患者提供了在线交流的互动平台,同时根据甲亢疾病特点实现了基于模型的辅助预测和医师推荐,为患者提供了方便快捷的线上预约服务,为医生提供了病情辅助诊断的有效工具。1.3本文研究内容本文的研究目标为依据甲亢患者的病情发展规律结合甲亢患者的临床数据,实现基于甲亢分期阶段指标变化规则的甲亢分期预测模型和基于机器学习算法的甲亢病情发展预测模型,并基于预测模型,实现web医疗服务原型系统的在4 东华大学硕士学位论文第一章绪论线病情预测功能、医生推荐功能和在线预约功能。为此,本文对甲亢分期阶段划分、甲亢分期预测算法设计、甲亢患者临床数据处理、甲亢病情发展预测建模、医师推荐算法实现等问题展开研究。本文的主要贡献如下:1)针对不同阶段的甲亢患者,本文提出了甲亢分期阶段划分规则,并依据该规则设计了甲亢分期预测算法,实现了依据患者血检指标数据预测患者病情发展阶段的甲亢分期预测模型。2)针对医生及患者,本文实现了依据前六个月的血检指标数据预测患者未来病情发展的甲亢病情发展预测模型。本文提出了一种甲亢临床数据筛选方法和甲亢患病人群分类规则,设计了基于甲亢血检指标数据变化规律的特征提取公式,建立了基于不同核函数的SVM支持向量机模型和基于不同实现方法的K近邻模型,并对比分析了两种模型的性能及四种特征降维方法的降维效果。3)针对医生及患者,本文实现了基于Rocket.Chat远程沟通平台的医疗服务原型系统,设计了基于甲亢分期预测模型和医生职称筛选、科室加权、预约时间加权等步骤的医生推荐算法,并依次从整体框架设计、数据库设计以及功能模块设计的角度详细介绍了该原型系统的设计与实现。1.4文章结构本文一共由五章节组成,下面依次对每章节的主要内容做简要描述。第一章绪论。本章主要描述本课题的研究背景及研究意义,介绍国内外相关研究现状,并提出了本文的研究内容及论文的框架结构。第二章相关技术介绍。本章首先介绍了Rocket.Chat开源系统的主要功能及其所使用的框架Meteor的性能优点,随后介绍了机器学习算法的内容及其主要分类,最后介绍了SVM支持向量机和K近邻算法的核心思想及实现原理。第三章甲亢病情发展预测模型。本章首先对甲亢患者的病情发展进行了简要阐述,然后对甲亢分期预测模型的算法设计进行了详细描述,接着对甲亢病情发展预测模型的数据预处理、特征提取、模型训练以及特征降维四个步骤的实现原理进行了详细介绍。最后对甲亢病情发展预测模型的数据集提取、模型性能对比以及特征降维的实验结果进行了详细分析。第四章系统设计与实现。本章主要介绍了基于甲亢预测模型和Rocket.Chat远程沟通平台的医疗服务原型系统的设计与实现。本章首先对该原型系统进行了简要介绍,然后依次从总体框架设计、数据库设计和功能模块设计的角度详细介绍了系统的设计流程,最后简要介绍了系统的环境与部署,展示了系统各功能模块的界面实现,并对系统分期预测模拟及医生推荐模拟的实验结果进行了详细分析。5 东华大学硕士学位论文第一章绪论第五章总结与展望。本章对本文的工作进行了总结与概括,分析了预测模型与应用系统中存在的不足,并给出了优化的方法。最后对研究中存在的不足之处进行了分析和展望。6 东华大学硕士学位论文第二章相关技术介绍第二章相关技术介绍本章主要介绍本文甲亢病情发展预测研究及应用涉及的相关技术。本文在医疗服务原型系统的设计与实现中使用了Rocket.Chat开源系统源码,在甲亢病情发展预测模型建模时借用了机器学习中的SVM和KNN分类算法,下面将依次详细介绍其相关技术与实现原理。2.1Rocket.Chat开源系统Rocket.Chat作为功能最丰富的Slack开源产品之一,是一个基于web平台的远程沟通软件。其主要功能包括:单人或群组聊天、媒体嵌入、链接预览、文件上传、语音或视频聊天等等。Rocket.Chat不仅支持Windows、MacOSX和Linux操作系统,同时还支持IOS和Android移动平台,其通过HUBOT集成了GitHub、GitLab、Confluence、JIRA等等目前非常流行的服务。Rocket.Chat还拥有许多高级特性如OTR消息、XMPP多用户聊天、Kerberos认证和P2P文件分享等等,其整体系统基于Meteor框架,前端界面使用Blaze渲染库,系统代码[23]均由JavaScript和CoffeeSript编写,内嵌数据库为MongoDB。Rocket.Chat开源系统主要基于Meteor框架。Meteor是一个开源的Web系统框架,其容易学习、设计简单,开发者使用Meteor框架可在短时间内构建出性能优秀的Web程序系统。Meteor不同于其他框架的优点在于:1、Meteor构架基于Nodejs服务器,实现了用一种语言开发整个系统;2、Meteor将服务器端和客户端的数据访问整合为一体,提出了便携式数据库的概念。Meteor使用DB-API减轻了开发负担,开发人员不需要再做服务端数据与客户端数据的JSON转换;3、Meteor提供了延时补偿机制。实时反馈客户端数据更新,添加了服务器回滚机制,大大优化了用户体验;4、Meteor提供了完整的堆栈反应。通过反应式环境和依赖关系跟踪程序的更新,当数据发生改变的时候,所有依赖该数据的地方将自动更新,大大提高了程序员的编码效率;5、Meteor提供了零部署的功能。Meteor会在开发环境下自动替开发人员加载JS/CSS等类库,如果使用者使用了Coffee/Less,只需添加相应的[24]Package,Meteor会自动进行打包处理。综上所述,只要目标系统上有相应版本的NodeJS、Meteor和MongoDB,就能运行一个标准的Meteor应用程序,这也正是Rocket.Chat开源系统的优点之一。7 东华大学硕士学位论文第二章相关技术介绍2.2机器学习算法机器学习(ML,MachineLearning)是一门覆盖了概率论、统计学、算法复[25]杂度理论等多个领域的交叉学科。机器学习算法是一类通过数据分析获取规[26]律,并利用该规律预测新的未知数据的算法。机器学习作为人工智能技术的核心,其应用遍及各个领域。机器学习的算法繁多,可从学习方式和算法相似性的角度将其分为监督式学习、非监督式学习、半监督式学习和强化学习。1、监督式学习:监督学习需要人为设置样本的标签或预期输出,通过学习训练集得到一个预测未知数据标签或期望输出的模型。2、非监督式学习:非监督式学习主要对数据隐式结构与分布状况进行分析,因此不需要人为设置样本的标签。3、半监督式学习:半监督式学习通常先使用非监督式学习算法学习数据集结构,在划分数据结构后再使用监督式学习算法进行训练。依据数据集的不同也可先进行标签预测,再进行数据划分。4、强化学习:强化学习将训练集反馈给模型,由此作为检验模型对错的标准。2.2.1SVM支持向量机SVM(SupportVectorMachines)是一种有监督的二分类机器学习算法,由Vanpik领导的AT&TBell实验室研究小组在1963年提出,其主要思想是通过非线性变化将样本映射到高维空间,并在该空间中寻找一个最优决策超平面,使平面两侧的两类样本数据与该平面的距离最大化,进而为模型提供良好的泛化能力[27]。SVM可由其算法复杂程度分成三类,分别是:线性可分支持向量机、线性支持向量机和非线性支持向量机。当样本完全线性可分时,可以直接使用线性可分支持向量机,然而这种情况较为少见。通常情况下样本分布比较复杂,因此使用最多的为线性支持向量机和非线性支持向量机。下面简要介绍一下SVM的分类算法。SVM分类算法的原始形式为:!1����!+��(2-1)!2!!!�.�.�!�∙��!+�≥1−�!�=1,2,⋯,�(2-2)�!≥0�=1,2,⋯,�(2-3)其中m为样本个数,算法的输入样本形如�=�!,�!,�!,�!,⋯,�!,�!,其中�∈�=�!,�∈�=−1,+1,�=1,2,⋯,�。�,�为分离超平面!!�∙��!+�=0的系数,�!为第�个样本的松弛系数,�为惩罚系数,��!为低8 东华大学硕士学位论文第二章相关技术介绍维输入空间到高维特征空间的映射函数。经过拉格朗日函数以及对偶化后,原始形式变为:!!!1min�!�!�!�!��!,�!−�!(2-4)!2!!!!!!!!!!�.�.�!�!=0(2-5)!!!0≤�!≤�,�=1,2,⋯,�(2-6)其中,�为拉格朗日系数向量,��!,�!为核函数。在求解非线性分类问题时,SVM希望通过一个非线性变换将输入空间内线性不可分的样本数据映射到一个高维空间中,使样本数据在高维特征空间内变成[28]线性可分,进而在高维特征空间内求解线性分类问题。然而,当输入空间映射至特征空间时,特征维度将爆炸式增长,进而导致算法复杂度急剧升高甚至无法计算。为解决这一问题,SVM使用核函数隐式的在低维度输入空间内进行内积运算,从而避免了“维度灾难”的发生。SVM核函数的定义如下:设�是输入空间(欧式空间�!的子集或者离散集合),又设ℋ为特征空间(希尔伯特空间),如果存在一个从�到ℋ的映射��:�→ℋ(2-7)使得所有的�,�∈�,函数��,�满足条件��,�=��∙��(2-8)则称��,�为核函数,��为映射函数,式中��∙��为��和��的内[29]积。2.2.2KNN近邻KNN(K-NearestNeighbor)是一种简单的分类与回归机器学习算法,其中心思想是通过测量不同样本特征值之间的距离对样本进行分类。KNN算法中的输入为实例特征值,输出为该样本所属类别,算法假设给定一个训练集且该训练集中每个样本的类别已经确定,通过查找与新样本最相似的K个样本,即特征空[30]间中与目标样本最近的K个样本,预测该样本所属的类别。KNN算法主要考虑三个重要因素:K值的选取、距离度量的方式和分类决策规则。对于分类决策规则,通常使用多数表决法。对于K值的选择,一般根据样本的分布先选择一个较小的值,然后通过交叉验证进行调整。如果选择的K值较小,则相当于在较小的区域中训练样本,其模型训练误差较小,但泛化误差增大,容易出现过拟合现象;反之,如果选择的K值较大,模型泛化误差将缩[31]小,但同时训练误差会增加,导致预测结果不准确。对于距离的度量有很多种方式,最常用的为以下三种距离计算公式:9 东华大学硕士学位论文第二章相关技术介绍设特征空间�是�维实数向量空间�!,�,�∈�,�,�为形如!!!!!!!!�!,�!,⋯,�!的向量,�!,�!的欧式距离定义为!��!,�!=�!−�!!+�!−�!!+⋯+�!−�!!=�!−�!!(2-9)!!!�!,�!的曼哈顿距离定义为!��!,�!=�!−�!+�!−�!+⋯+�!−�!=�!−�!(2-10)!!!�!,�!的闵可夫斯基距离(MinkowskiDistance)定义为!!!��!,�!=�!−�!!+�!−�!!+⋯+�!−�!!=�!−�!!(2-11)!!!可以看出,欧式距离是闵可夫斯基距离在�=2时的特例,而曼哈顿距离则是�=1时的特例。KNN算法的实现方法大致可分为两类:(1)枚举法。枚举法直接求取目标点与所有训练样本点之间的距离,通过选取其中距离最近的K个样本点,对比得出当前目标点的类别。这种方法简单暴力且容易实现,但当样本数量过大时,算法时间复杂度将成几何倍增长。为解决这一问题,产生了第二类实现算法。(2)基于树结构的实现算法。该类算法的核心思想是利用树结构对目标点的K个临近点进行搜索,避免计算一些不必要的距离,由此优化算法的运算速度。该算法首先构造一颗包含N个样本点的树,通过遍历����层节点搜索目标点的最近邻,从而减少了搜索的范围和时间。常用的树结构包括KD树、球树、VP树,MVP树等等,其中KD树应用较为广泛。2.3本章小结本章主要对本文涉及的相关技术进行详细介绍。首先介绍了Rocket.Chat开源系统的主要功能及其框架结构,然后介绍了机器学习中SVM支持向量机和K近邻算法的核心思想及实现原理。10 东华大学硕士学位论文第三章甲亢病情发展预测模型第三章甲亢病情发展预测模型本文的甲亢病情发展预测模型主要包括两部分,一部分是基于分期阶段划分规则的甲亢分期预测模型,一部分是基于机器学习算法的甲亢病情发展预测模型。本章首先简要介绍甲亢病情发展的医学原理,进而重点介绍甲亢分期预测模型和甲亢病情发展预测模型的实现过程与实验结果分析。3.1甲亢病情发展介绍甲状腺功能亢进症简称为甲亢,是由甲状腺分泌过多激素,造成机体新陈代[32]谢亢进、交感神经兴奋,进而引起心悸、出汗、过量进食却体重减少的病症。甲亢患者的临床指标表现为:甲状腺激素T3、T4、FT3、FT4水平明显升高,受甲状腺和垂体轴的反馈作用,促甲状腺激素TSH水平降低。如果一个患者的游离甲状腺激素FT3、FT4水平升高,同时TSH水平下降,即可诊断为甲状腺功[33]能亢进。经临床统计发现,80%以上的甲亢是由Graves病引起。Graves病作[34]为甲状腺自身免疫病,由淋巴细胞产生刺激甲状腺的免疫球蛋白-TSI所导致。因此,临床诊断时将免疫球蛋白-TSI作为检验甲亢的血清指标之一,并以促甲状[35]腺素受体抗体TRAb水平作为临床测定免疫球蛋白-TSI的标准。甲亢是一种慢性疾病,其早期症状轻微且难以察觉,患者长期在过量甲状腺激素的刺激下会过度消瘦,进而引发甲亢性心脏病、眼球突出、下肢水肿、糖尿[36]病等严重的并发症。如不及时治疗,甚至会出现甲亢危象等危及生命的险症。甲亢作为一种内分泌科疾病,往往会对患者的全身产生影响,且患病时间越久,对身体造成的危害越大,治疗难度也越大。因此,时刻关注甲亢病情发展、及时预防甲亢疾病恶化成为了甲亢患者治疗过程中最首要的问题。目前,针对甲亢疾病病情发展预测的研究较少,患者只能通过咨询医生来了解自身的病情发展状况。医生在临床治疗时,往往只能凭借自身经验来预测患者的病情发展,而不能为患者提供精确的诊断依据。本文通过研究甲亢患者的病情发展特点,提出了基于血检指标变化规律的甲亢分期预测模型和甲亢病情发展预测模型。该模型能够分析患者现阶段的病情,并预测其未来的病情发展状况。不仅为患者提供了了解自身病情发展的途径,同时也为医生做出更精准、有效的诊断提供了技术支持。下面将详细介绍甲亢分期预测模型和甲亢病情发展预测模型的实现过程。11 东华大学硕士学位论文第三章甲亢病情发展预测模型3.2甲亢分期预测模型临床医学研究表明,甲亢疾病的临床诊疗与患者血清中的促甲状腺素TSH、游离三碘甲腺原氨酸FT3和游离甲状腺素FT4以及甲状腺受体抗体TRAB的变化密切相关。在患者的治疗过程中,游离三碘甲腺原氨酸FT3和游离甲状腺素FT4最先恢复正常,其次是促甲状腺素TSH逐渐恢复正常,而甲状腺受体抗体[37]TRAB往往在患者治愈后才会逐渐下降至正常范围。依据上述结论,本文将甲亢疾病的病情发展划分为七个阶段,分别为:发病阶段、临床缓解阶段、生化缓解阶段、免疫缓解阶段、免疫治愈阶段、再燃阶段和复发阶段,并基于上述七个阶段的血清指标变化规律实现了甲亢分期预测模型。下面详细介绍该模型的实现过程。3.2.1甲亢阶段划分规则与联系本文研究的甲亢分期预测模型基于下述阶段划分规则:(1)发病阶段:血检指标FT4或FT3水平升高,TSH水平降低;(2)临床缓解阶段:血检指标FT3和FT4转为正常;(3)生化缓解阶段:在临床缓解的基础上,血检指标TSH转为正常;(4)免疫缓解阶段:在生化缓解的基础上,血检指标TRAB转为正常;(5)免疫治愈阶段:在免疫缓解的基础上,血检指标TRAB保持三次正常;(6)再燃阶段:由临床缓解、生化缓解、免疫缓解阶段又转为发病状态;(7)复发阶段:由免疫治愈阶段又转为发病状态;可以从上述阶段划分规则中发现,甲亢各阶段按照时序变化有相互包含的联系。由此,本文总结出甲亢各分期阶段的联系规则如下:(1)如果患者处于再燃或复发阶段,则也一定处于发病阶段;(2)如果患者处于生化缓解阶段,则也一定处于临床缓解阶段;(3)如果患者处于免疫缓解阶段,则也一定处于生化缓解阶段;(4)如果患者处于免疫治愈阶段,则也一定处于免疫缓解阶段;3.2.2甲亢分期预测算法本文研究的甲亢分期预测算法主要基于上述甲亢各阶段划分规则与联系。本文首先设计了甲亢七个阶段的判定函数,然后依据函数判定结果实现了甲亢分期预测算法。下面依次详细介绍甲亢各阶段判定函数的设计思路:(1)发病阶段:输入为待预测的样本数据。判断FT3或FT4指标的异常提示是否为偏高、TSH的异常提示是否为偏低。是则返回1,否则返回0。(2)临床缓解阶段:输入为待预测的样本数据。判断FT3和FT4的异常提12 东华大学硕士学位论文第三章甲亢病情发展预测模型示是否均为正常。是则返回1,否则返回0。(3)生化缓解阶段:输入为待预测的样本数据。判断FT3、FT4、TSH的异常提示是否均为正常。是则返回1,否则返回0。(4)免疫缓解阶段:输入为待预测的样本数据。判断FT3、FT4、TSH、TRAB指标的异常提示是否均为正常。是则返回1,否则返回0。(5)免疫治愈阶段:输入为待预测的样本数据和按预测时间升序排序的历史预测结果数组。首先判断历史预测结果数组的长度是否小于2,是则返回0。否则,判断当前样本数据的FT3、FT4、TSH、TRAB指标的异常提示是否均为正常,如果正常则继续判断:历史预测结果数组中的最后两个预测结果是否均为免疫缓解阶段,是则返回1;否则继续判断:当前样本数据的FT3、FT4、TSH、TRAB的异常提示是否均为正常且历史预测结果数组中的最后一个预测结果是否为免疫治愈阶段,是则返回1,否则返回0。(6)再燃阶段:输入为待预测的样本数据和按预测时间升序排序的历史预测结果数组。首先判断历史预测结果数组的长度是否小于1,是则返回0。否则,判断当前样本数据是否为发病阶段且历史预测结果数组中的最后一个预测结果是否为临床缓解阶段、生化缓解阶段或免疫缓解阶段之一,是则返回1,否则继续判断:当前样本数据是否为发病阶段且历史预测结果数组中的最后一个预测结果是否为再燃阶段,是则返回1,否则返回0。(7)复发阶段:输入为待预测的样本数据和按预测时间升序排序的历史预测结果数组。首先判断历史预测结果数组的长度是否小于1,是则返回0。否则,判断当前样本数据是否为发病阶段且历史预测结果数组中的最后一个预测结果是否为免疫治愈阶段,是则返回1,否则继续判断:当前样本数据是否为发病阶段且历史预测结果数组中的最后一个预测结果是否为免疫治愈阶段,是则返回1,否则返回0。本文提出的甲亢分期预测算法基于上述七个阶段判定函数。算法输入为待预测样本数据字符串和历史预测结果数组,输出为1~7之间的数字,分别代表七个阶段。算法思路为:首先依次使用七个阶段的判定函数对待预测数据进行判定,并使用数组保存判定结果;然后按顺序循环该数组,取最后一个判定结果为1的阶段作为预测结果输出。下表为该预测算法的具体流程:算法3.1甲亢分期预测Input:data,HistroyResult[]//data为待预测的样本数据字符串,HistroyResult[]为按预测时间升序排序的历史预测结果数组。Output:result1letsetresult=0//初始化预测结果为02setresultlist=[]//用于保存七个阶段判定函数的结果13 东华大学硕士学位论文第三章甲亢病情发展预测模型3resultlist[0]=FaBing(data)//发病阶段判定函数4resultlist[1]=LinChuanghj(data)//临床缓解阶段判定函数5resultlist[2]=ShengHuahj(data)//生化缓解阶段判定函数6resultlist[3]=MianYihj(data)//免疫缓解阶段判定函数7resultlist[4]=MianYizy(HistroyResult,data)//免疫治愈阶段判定函数8resultlist[5]=ZaiRan(HistroyResult,data)//再燃阶段判定函数9resultlist[6]=FuFa(HistroyResult,data)//复发阶段判定函数10for����������!inresultlist//遍历判定结果数组11if����������!equalsto1//判断函数结果是否为真12setresult=i+113end14returnresult算法举例:如果一个样本数据的各阶段函数判定结果为{1,0,0,0,0,0,1},既满足发病阶段又满足复发阶段,则算法将预测其为复发阶段,模型输出结果为7;如果一个样本数据的各阶段函数判断结果为{0,1,1,1,0,0,0},既满足临床缓解阶段又满足生化缓解阶段和免疫缓解阶段,则算法将预测其为免疫缓解阶段,模型输出结果为4;如果一个样本数据的各阶段函数判定结果为{0,1,1,1,1,0,0},既满足免疫缓解阶段又满足免疫治愈阶段,则算法将预测其为免疫治愈阶段,模型输出结果为5。该模型将作为后续提出的医生推荐算法的基础,本文将在第四章节中结合医生推荐模拟实验一并阐述该模型的实验结果。3.3甲亢病情发展预测模型本节主要对甲亢病情发展预测模型的研究过程进行详细介绍。本文首先对某三甲综合性医院10年内的甲亢患者临床数据进行了数据筛选与分类预处理,其次针对患者血检指标的变化规律提出了特征提取计算公式,然后使用基于不同核函数的SVM算法和基于不同实现方法的KNN算法对所提特征数据进行了数据建模,最后使用了四种降维方法对特征数据进行了特征降维。3.3.1数据预处理甲亢作为一种慢性疾病,发病时间长且不易治愈。在临床诊疗中,医生通常只根据促甲状腺素TSH、游离三碘甲腺原氨酸FT3和游离甲状腺素FT4这三个指标来判断患者是否患有甲状腺功能亢进症,而往往忽视了甲状腺受体抗体TRAB对于甲亢病情发展的影响。医学研究表明,抗体TRAB偏高是诊断患者14 东华大学硕士学位论文第三章甲亢病情发展预测模型患有甲亢的重要因素,同时,TRAB抗体是否恢复正常也是判断甲亢患者是否痊[38]愈的重要标准。为了提高研究的精确性,本文提出以持续患有甲亢且首次化验中抗体TRAB偏高的患者作为研究甲亢病情发展的基础人群。图3-1甲亢患者原始数据表结构本文所用甲亢临床数据均来源于某三甲综合性医院近10年的患者脱敏临床数据,其数据库存储的表结构如图3-1所示。本文根据该结构提出的数据筛选方法为:首先,从所有已脱敏的患者数据中筛选出诊断结果为甲状腺机能亢进的患者;其次,从这些患者中筛选出超过三次被诊断为甲状腺机能亢进的患者作为持续患有甲亢的患病人群;然后,通过关联检验报告表及检验指标表,提取出上述患者的检验报告记录,包括患者ID、检查时间、报告单号及指标促甲状腺素TSH、游离三碘甲腺原氨酸FT3、游离甲状腺素FT4、甲状腺受体抗体TRAB的化验结果字段;最后,从患者的检验记录中筛选出第一次检查包含TRAB指标且TRAB指标值偏高的患者数据作为研究所用的原数据集。经数据筛选后的甲亢临床数据结构如表3-1所示。表3-1甲亢患者数据集结构ID检查时间报告单号血检指标��!�!1,�!2,⋯,�!(�)�!1,�!2,⋯,�!(�)��3!,��4!,���!,����!⋮⋮⋮⋮��!�!1,�!2,⋯,�!(�)�!1,�!2,⋯,�!(�)��3!,��4!,���!,����!⋮⋮⋮⋮��!�!1,�!2,⋯,�!(�)�!1,�!2,⋯,�!(�)��3!,��4!,���!,����!其中,血检指标FT3、FT4、TSH、TRAB均为形如{�!,�=1,2,...,�}的一维指标向量。15 东华大学硕士学位论文第三章甲亢病情发展预测模型甲亢医生根据其临床诊疗经验指出,患者疗程中的两年上下浮动三个月这段时间可作为医生诊断其是否需要进行放射碘131治疗的时间节点。如果患者的甲状腺激素水平及抗体在两年上下浮动三个月期间内已恢复正常,医生认为其在短期内完全治愈的可能性较大,将建议其半年进行一次随访;反之,如果患者在该期间内的甲状腺激素水平仍未恢复正常,医生认为其短期内治愈的可能性较小且复发的概率较大,将建议其接受放射碘131的治疗。为辅助医生在临床诊疗中为患者提供更精确的诊断,本文以患者在两年上下浮动三个月期间内的指标变化情况为基准,将甲亢患病人群分为两年内可治愈类和两年内不可治愈类,并提出了两类患病人群的划分规则:规则一:取患病时间在两年内,且最后一次检查指标FT3、FT4、TSH、TRAB全部正常的患者作为两年内可治愈类患者;规则二:取患病时间在两年以上、且在两年至两年零两个月期间指标FT3或FT4或TSH或TRAB不正常的患者为两年内不可治愈类患者;规则三:取患病时间在两年以上、且在两年零两个月后的最近一次检查中指标指标FT3或FT4或TSH或TRAB不正常的患者为两年内不可治愈类患者;规则四:取患病时间在两年内、且最后一次检查指标FT3、FT4、TSH、TRAB的分期预测结果为发病状态的患者作为两年内治不可治愈类患者。3.3.2特征提取临床医学研究表明,在甲亢患者的治疗过程中,前六个月的指标变化及用药情况对于患者能否康复具有很大的作用及影响。如果患者在前六个月的治疗过程中指标状况恢复的较好,则康复的可能性较大;反之,如果患者经过前六个月的治疗后指标状况并未好转,则在短期内康复的可能性较小。本文通过分析患者前六个月的甲状腺激素指标及抗体数据,总结并提取患者血检指标的变化规律及特点。据甲状腺医学研究表明,甲亢疾病的发病率与患者的年龄和性别密切相关。经相关研究统计,甲亢患病人群中女性人群占比高达70%以上,且患病人群的年龄通常集中在20~40岁以及50~60岁之间。医生在临床诊断时,首先依据患者血清中的促甲状腺素TSH、游离三碘甲腺原氨酸FT3、游离甲状腺素FT4和甲状腺[39]受体抗体TRAB的含量判断患者的病情恢复状况。因此,本文将患者的年龄、性别以及血检指标TSH、FT3、FT4、TRAB在患者治疗过程中的变化规律作为预测患者病情发展的重要标准。本文使用数学公式将患者指标随时间变化的梯度与规律量化为特征值,本文提出的特征值计算公式如表3-2所示。依据上述公式,本文提取了37维蕴含指标变化规律的特征,包括:年龄、性别、化验记录总体异常百分比、血检指标异常百分比、血检指标平均值、第一次检查血检指标值及化验结果、最后一次检查16 东华大学硕士学位论文第三章甲亢病情发展预测模型血检指标值及化验结果、第一次与第二次检查的时间差及血检指标变化速率、第一次与最后一次检查的时间差及血检指标变化速率、第一次检查的血检指标浮动比例、最后一次检查的血检指标浮动比例。其中血检指标代指TSH、FT3、FT4、TRAB四个血清指标。表3-2特征值计算公式特征值计算公式年龄���=第一次检查时间-生日(3-1)化验记录总体异常异常化验记录数�����_��������_�������=(3-2)百分比总化验记录数血检指标异常百分异常化验指标数������_��������_�������=(3-3)比总化验指标数指标和血检指标平均值���_������=(3-4)检查次数第一次(最后一次)������_�����=TSH、FT3、FT4、TRAB指标值(3-5)检查血检指标值及�ℎ���_������=归一化化验记录(3-6)化验结果第一次与第二次检����_����������=������_����−�����_����(3-7)查的时间差及血检������_������−�����_������������_����=(3-8)指标变化速率����_����������第一次与最后一次����_����������=����_����−first_time(3-9)检查的时间差及血����_������−�����_������������_����=(3-10)检指标变化速率����_����������第一次检查的血检第一次指标值-正常指标参考值������_�����=(3-11)指标浮动比例正常指标参考值最后一次检查的血最后一次指标值-正常指标参考值������_�����=(3-12)检指标浮动比例正常指标参考值公式3-2中,异常化验记录的判断标准为:在所有检查记录中,指标FT3偏高或FT4偏高或TSH偏低或抗体TRAB偏高即代表化验记录异常;公式3-3中,异常化验指标的判断标准为:指标FT3、FT4、TRAB偏高即为异常,指标TSH偏低即为异常;公式3-6中,归一化化验记录的方法为:判断当前化验记录是否异常,并使用数字0、1进行区分;公式3-11和3-12中,正常指标参考值为各血检指标参考范围的中值。在数据建模过程中,有些模型经过各维度不均匀伸缩后,会出现最优解与原解不等价的情况,例如SVM支持向量机模型。在K近邻算法中,如果不对特征[40]向量进行标准化,就有可能丢失较小数量级特征的贡献。为避免模型在训练时受分布范围较大或较小数据的支配,本文使用改进后的min-max标准化方法17 东华大学硕士学位论文第三章甲亢病情发展预测模型对上述提取的特征数据进行了标准化处理。该方法通过线性变换等计算将模型的输入、输出数据限制在特定的范围之内,既增强了特征矩阵中方差较小的特征向量的稳定性,同时也加快了模型运行时的收敛速度。假设{�!,�=1,2,⋯,�}为需要进行标准化处理的n维特征向量矩阵,本文使用的标准化方法基于下述公式:!!!!"#�=+���(3-13)!!"#!!!"#!"#!!"#公式3-13中,min、max为指定的标准化范围,x!"#、x!"#分别是特征向量x!中的最小值和最大值,y为标准化后的特征数据。经过特征计算及标准化处理后,本文提取出了37维蕴含甲亢患者病情发展规律的特征,整合后的模型输入数据为形如�;�的二维矩阵。其中,�为形如{�!,�=1,2,...,37}的特征矩阵,�!为保存样本特征值的特征向量;�为形如{�!,�=1,2,⋯,�}的标签向量,�为样本总数,�!为样本标签,�!∈{0,1}。样本标签依据上述3.3.1中的数据分类规则而定,以数字0作为两年内不可治愈类标签,数字1作为两年内可治愈类标签。特征矩阵�中包含的37维特征如表3-3所示。表3-3特征矩阵中的37维特征维数特征维数特征1性别20首次检查的化验结果2年龄21最后一次检查的FT3指标值3化验记录总体异常百分比22最后一次检查的FT4指标值4FT3指标异常百分比23最后一次检查的TSH指标值5FT4指标异常百分比24最后一次检查的TRAB指标值6TSH指标异常百分比25最后一次检查的化验结果7TRAB指标异常百分比26首次与最后一次检查的时间差首次与最后一次检查的8FT3指标平均值27FT3指标变化速率首次与最后一次检查的9FT4指标平均值28FT4指标变化速率首次与最后一次检查的10TSH指标平均值29TSH指标变化速率11TRAB指标平均值30首次检查的FT3指标浮动比例12首次与第二次检查的时间差31首次检查的FT4指标浮动比例首次与第二次检查的1332首次检查的TSH指标浮动比例FT3指标变化速率首次与第二次检查的1433首次检查的TRAB指标浮动比例FT4指标变化速率18 东华大学硕士学位论文第三章甲亢病情发展预测模型首次与第二次检查的最后一次检查的1534TSH指标变化速率FT3指标浮动比例最后一次检查的16首次检查的FT3指标值35FT4指标浮动比例最后一次检查的17首次检查的FT4指标值36TSH指标浮动比例最后一次检查的18首次检查的TSH指标值37TRAB指标浮动比例19首次检查的TRAB指标值3.3.3模型训练在机器学习领域中,SVM模型对于二类问题的效果较好,KNN模型对于交叉重叠较多的样本集分类效果较好。本文的目的是预测甲亢患者是否可在两年内康复,属于二分类问题,且本文使用的两类甲亢患者数据在某些特征上存在相似性。因此,本文使用SVM支持向量机和K近邻算法进行数据建模。本文设计了如下数据建模算法:算法3.1数据建模Input:X,Y//X为二维特征矩阵,Y为一维标签数组Output:Model.pkl//输出为pkl格式的模型文件1fromsklearnimportneighbors//引入Sklearn算法库2fromsklearnimportsvm3set x_train,x_test,y_train,y_test=train_test_split(X,Y,train_size=0.8)//划分训练数据集4setModelObject=svm.SVC(C,kernel,degree,gamma)orneighbors.KNeighborsClassifier(algorithm,weights)//创建模型对象,并设置模型参数5Model=ModelObject.fit(x_train,y_train)//调用fit函数训练数据6joblib.dump(Model,'Model.pkl')//保存训练好的模型为pkl文件7returnModel.pkl依据上述建模算法,本文实现了SVM支持向量机预测模型和K近邻预测模型。下面依次详细介绍两种模型的实现过程。1、SVM支持向量机模型本文使用Python2.7版本中的Sklearn算法库实现了SVM支持向量机预测模型。首先,本文调用Sklearn算法库中的svm.SVC()方法创建了SVM模型对象,经过调优与对比,该模型的参数设置如表3-4所示。其次,本文调用该模型对象的fit(x_train,y_train)方法对3.3.2中提取的输入数据进行学习,其中x_train和19 东华大学硕士学位论文第三章甲亢病情发展预测模型y_train分别为训练数据中的特征矩阵和标签向量。最后,本文使用joblib.dump()方法将训练好的模型保存为.pkl文件,以便在后续实现的医疗服务原型系统中调用。表3-4SVM模型参数设置参数参数值参数说明C1.0误差项惩罚系数cache_size500内核缓存大小class_weightNone类权重coef00.0核函数参数decision_function_shapeovo分类决策Degree3核函数参数Gammaauto核函数参数Kernelrbf、poly、sigmoid、linear核函数类型,max_iter-1最大迭代次数probabilityFalse概率估计random_stateNone伪随机数shrinkingTrue支持向量优化verboseFalse模型详细输出由于不清楚样本数据的分布情况,本文通过设置模型对象的kernel参数,分别建立了基于以下几种核函数的SVM模型:(1)线性核函数(Linear-Function):该核函数所映射的特征空间与样本输入空间的维度一致,函数参数少且运算速度快,对于线性可分数据的分类效果很理想,一般用于线性可分的训练数据集。��,�=�·�(3-14)(2)多项式核函数(Polynomial-Function):该核函数可实现将低维输入空间映射至高维特征空间,公式如公式3-15所示。由于所需参数较多,核函数在阶数较高时的矩阵元素值将无限放大或缩小,导致计算复杂度大到难以估计。!�(�,�)=�·�+1(3-15)(3)高斯核函数(RBF,Radial-Basis-Function):该函数将输入样本映射到高维特征空间内,主要用于线性不可分数据集,其分类结果依赖参数调整,是一[41]种局部性较强的核函数,对大小样本集均有较好的性能。该核函数公式如3-16所示,需要注意的是:如果式中�值过大,高次特征的权重将衰减过快进而将样本空间映射到一个低维特征空间;反之,如果�值过小,核函数可将任意特征映射为线性可分,从而造成模型过拟合。!!!!��,�=���−(3-16)!!!20 东华大学硕士学位论文第三章甲亢病情发展预测模型(4)sigmoid核函数(Sigmoid-Function):该函数是一种基于多层神经网络的核函数。在使用Sigmoid核函数时,支持向量机实现的是一种多层感知器神经网络,通过SVM方法确定隐含层节点数目从而确定神经网络的结构,通过训练[42]过程自动确定输入节点与隐含层节点对应的权值。该核函数最终得到的是全局最优解而不是局部最优解,不仅保证了模型对于新样本的泛化能力,同时也避免了过拟合现象的发生。��,�=���ℎ��,�+�(3-17)2、K近邻模型与上述SVM模型的建模过程类似,本文同样借助于Python2.7版本中的Sklearn算法库实现了K近邻预测模型。首先,本文调用Sklearn算法库中的neighbors.KNeighborsClassifier()方法创建了KNN模型对象,模型参数主要包括算法algorithm和近邻权重weights。经过调优与对比,本文将algorithm参数设置为brute、kd_tree或ball_tree,weights参数设置为distance。其次,与上述SVM模型相同,本文通过调用该模型对象的fit(x_train,y_train)方法对3.3.2中提取的输入数据进行学习,并使用joblib.dump()方法将训练好的模型保存为.pkl文件,以便在后续实现的医疗服务原型系统中调用。本文通过设置模型对象的algorithm参数,分别建立了基于枚举法、KD树搜索近邻方法和球树搜索近邻方法的K近邻模型,下面简要介绍这三种方法的实现原理:1、蛮力实现(Brute-Force):通过计算预测样本和所有训练集中样本的距离,由多数表决法选出k个最近邻样本。该方法简单直接,在样本量少时很有效果,但由于算法的计算量与训练集样本成正比,当样本特征数过大时,算法的计算量将成几何式增长,时间效率会大大降低,因此该方法适用于少量样本数据集。2、KD树实现(KD-Tree):该方法的性能要优于蛮力实现方法。该方法通过建立KD树模型来搜索最近邻,并根据多数表决法预测样本类别。KD树是一种划分样本空间的树结构,使用KD树划分样本空间,不仅可以减少无效的最近邻[43]搜索,还能提高算法的计算效率。3、球树实现(Ball-Tree):当样本分布不均匀时,使用KD树搜索最近邻会遗漏掉矩形样本空间中角边缘的样本,为优化这一问题,提出了基于球树的KNN实现方法。与KD树方法类似,该方法通过建立球树模型,将样本空间划分为超球体而非超矩形体,进而优化了KD树搜索最近邻的效率。该方法适用于样本分布不均匀的数据集。3.3.4特征降维在机器学习中,特征值过多将会产生维度灾难,其最直接的后果就是出现模型过拟合现象。特征降维是指从原始高维特征数据中筛选出低维特征集合,并21 东华大学硕士学位论文第三章甲亢病情发展预测模型[44]根据一定的评估规则缩小特征空间的过程。特征降维不仅可以增强模型的泛[45]化能力,同时还能减少或避免过拟合现象,进而提升模型性能。本文提取的特征数据维度较多,为从中筛选出有意义的特征并优化模型性能,本文使用以下四种方法对提取的特征矩阵进行降维:(1)方差移除法:该方法通过计算各个特征的方差和设定阈值,选择方差大于阈值的特征。假设某一特征向量为{�!,�=1,2,...,�},则方差移除的判定式为:!!!!!!!!!!"#�=−�(3-18)!其中,�!"#为特征向量�的平均值,�为设定的阈值。(2)卡方检验法:该方法通过检验定性自变量对定性因变量的相关性,选择相关性最高的特征。假设自变量有N种取值,因变量有M种取值,考虑�=�且�=�的样本频数的实际值与理论值的差距,构建�!:!!!!!�=(3-19)!公式3-19中,A为实际值,T为理论值,�!用于衡量实际值与理论值的差异程度。(3)基于L1的特征选择:该方法将系数�的L1范数作为惩罚项加到损失函数上,迫使弱特征属性所对应的系数变成0。因此,该方法具有稀疏解的特性,不仅可用于特征筛选,同时也可用于特征降维。本文使用了带L1惩罚项的逻辑回归模型进行特征降维。(4)基于树的特征选择:该方法通过建立决策树、随即森林等模型计算特征的重要性。该方法首先对目标特征生成树或森林,然后依据每个特征属性的重要性估值,筛选信息量最大的特征子集。本文使用了基于绝对随机森林算法的模型进行特征降维。3.4实验结果与分析本节针对上述甲亢病情发展预测模型的实验结果进行了对比和分析。本节首先介绍了实验所用数据集的分布情况,然后对比分析了3.3.3中描述的SVM支持向量机模型与KNN模型的性能,以及3.3.4中描述的四种降维方法的降维效果。3.4.1实验数据集提取本实验使用的所有数据均来源于某三甲综合性医院10年间的甲亢患者脱敏数据。依据3.3.1中描述的数据筛选方法,本文共提取出患有甲亢3次以上且首22 东华大学硕士学位论文第三章甲亢病情发展预测模型次诊断trab偏高的患者2031人。依据3.3.1描述的数据分类规则,本文从2031个样本中提取出:患病时间在2年内且最后一次检查指标全部正常的460人作为两年内可治愈类患者;患病时间在2年以上且在2年~2年零2个月期间指标不正常的患者194人,患病时间在2年以上且在2年零2个月后最近一次检查指标不正常的患者136人,以及患病时间在2年内且最后一次检查指标处于发病状态的患者133人,共计463人作为两年内不可治愈类患者。3.4.2模型评估标准在实际应用中,通常使用不同的度量来评估模型,度量的选择取决于模型的类型以及模型的业务目标。本文研究的模型属于二分类模型,针对该类模型,通常使用准确率、召回率等评估标准对模型预测的正负样例进行统计。基于上述理论,本文使用了准确率、召回率以及F1值作为评估上述3.3.3中基于不同核函数的SVM模型和使用不同实现方法的KNN模型性能的标准,各评估标准的计算公式如下:(1)准确率(Precision):!"�=(3-20)!"!!"(2)召回率(Recall):!"�=(3-21)!"!!"(3)F1值:!!"�1=(3-22)!!!公式3-20和3-21中,��为真正例,即本身为正例且预测结果为正例的样本;��为假正例,即本身为负例但预测结果为正例的样本;��为假负例,即本身为正例但预测结果为负例的样本。3.4.3模型性能实验对比本实验首先使用3.3.2中描述的特征计算公式及标准化方法对3.4.1中的原始数据集进行特征提取,其次以8:2的比例随机生成训练数据和预测数据,最后通过调整模型的参数对比分析了10次建模中SVM模型和K近邻模型的性能。经过反复实验与对比,两种模型在10次建模中取值最高的性能评估结果如表3-5所示。其中,KNN模型的最高准确率为80%,最高召回率为79%,最高F1分值为0.79;SVM模型的最高准确率为83%,最高召回率为83%,最高F1分值为0.83。表3-5KNN和SVM模型性能对比表模型准确率召回率F1分值KNN80%79%0.7923 东华大学硕士学位论文第三章甲亢病情发展预测模型SVM83%83%0.83进一步,本实验对比并分析了基于四种核函数的SVM模型的性能和基于三种实现方法的K近邻模型的性能。实验以10次建模的评估均值为标准,统计了两种模型在不同参数下的性能,如表3-6及表3-7所示。经对比发现:在基于不同实现方法的KNN模型中,基于球树方法的模型性能最好,其平均准确率为72%,平均召回率为70.8%,平均F1分值为0.71;在基于不同核函数的SVM模型中,基于线性核函数的模型性能最优,其平均准确率为74%,平均召回率为73.1%,平均F1分值为0.73。表3-6基于三种实现方法的KNN模型性能对比表实现方法平均准确率平均召回率平均F1分值蛮力实现法69%67.8%0.67KD树法70%68.4%0.68球树法72%70.8%0.71表3-7基于四种核函数的SVM模型性能对比表核函数平均准确率平均召回率平均F1分值线性核函数74%73.1%0.73多项式核函数72%71.2%0.71高斯核函数71%69.4%0.69sigmoid核函数68.8%67.4%0.67图3-2和图3-3为基于线性核函数的支持向量机模型和基于球树算法实现的K近邻模型训练10次后的准确率和召回率对比折线图。从图中可以发现,SVM支持向量机模型的平均准确率和召回率相比于KNN模型要更高,且10次预测结果的上下浮动频率较小。由此得出结论:针对本文的甲亢病情发展预测研究,SVM支持向量机模型的平均性能要优于KNN模型的平均性能,且基于线性核函数的SVM支持向量机模型性能及稳定性最优。图3-2准确率对比折线图24 东华大学硕士学位论文第三章甲亢病情发展预测模型图3-3召回率对比折线图3.4.4特征降维实验对比本实验使用3.3.4中描述的四种降维方法对上述所提特征矩阵进行了降维。基于3.4.3中的结论,实验使用基于线性核函数的SVM模型对降维后的特征数据进行训练,模型性能及降维结果如表3-8所示。经对比发现,使用卡方检验法降维后的模型性能最佳,其平均准确率为74.8%,平均召回率为72.2%,平均F1分值为0.72。四种降维方法提取的特征维度如图3-4所示,从图中可以看出,抗体TRAB平均值、第一次检查抗体TRAB值、最后一次检查抗体TRAB值、第一次检查抗体TRAB浮动比例、最后一次检查抗体TRAB浮动比例、检查记录异常百分比、最后一次检查结果七个特征是卡方检验法和基于树的特征选择方法中共有的,由此说明这七维特征对于模型预测的贡献度最大,同时也验证了抗体TRAB的变化是区分两类患者的重要特征之一。表3-8降维方法性能对比表降维方法平均准确率平均召回率平均F1分值所降维数方差移除法69.7%66.5%0.659卡方检验法74.8%72.2%0.7210基于L1的特征选择69.3%66.6%0.652基于树的特征选择73%70.9%0.71825 东华大学硕士学位论文第三章甲亢病情发展预测模型图3-4降维后特征对比图3.5本章小结本章首先简要介绍了甲亢病情发展的医学原理,然后详细介绍了甲亢分期阶段划分规则与甲亢分期预测算法的设计和实现,接着对甲亢病情发展预测模型的数据预处理、特征提取、模型训练以及特征降维四个步骤的实现过程进行了详细介绍。最后对比并分析了甲亢病情发展预测模型的实验结果。26 东华大学硕士学位论文第四章系统设计与实现第四章系统设计与实现本章首先对本文实现的医疗服务原型系统进行简要介绍,其次从总体框架设计、数据库设计和功能模块设计的角度详细阐述该原型系统的设计过程,接着简要描述该原型系统的环境与部署,最后对系统功能界面进行展示,并对分期预测模拟和医生推荐模拟的实验结果进行分析。4.1系统简介该原型系统基于本文研究的甲亢分期预测模型和甲亢病情发展预测模型,在Rocket.Chat开源代码中嵌入基于预测模型的医疗服务子系统,通过划分医生和患者两种用户角色,实现了医患在线互动、病情预测、医生推荐和线上预约等功能。本系统总体采用B/S模式构建,主要由两个系统嵌套而成。外围系统为基于Meteor架构的Rocket.Chat远程互动系统,内联系统为基于预测模型的医疗服务系统。本原型系统主要包括以下功能:(1)在线互动:该功能由Rocket.Chat远程互动系统实现,主要包括添加好友、单人会话、群体会话、语音通话、多人视频通话等子功能。(2)病情预测:该功能为患者及医生用户提供病情预测服务。系统调用本文提出的甲亢分期预测模型和甲亢病情发展预测模型对用户输入的指标数据进行预测,并将预测结果以表格形式展示至界面供用户查看。(3)医师推荐:该功能结合患者的病情预测结果为其推荐合适的可预约医生。系统获取到患者用户的病情预测结果后,调用基于医生职称筛选、科室加权、预约时间加权等步骤的医生推荐算法对医生对象进行筛选与排序,将最契合用户患病程度且预约时间靠前的医生返回至界面供用户查看。(4)线上预约:该功能为患者用户提供线上预约医生的服务。系统在展示医生推荐结果时为用户提供了预约按钮,用户可通过浏览医生信息、选择预约时间、填写预约留言等步骤预约看病医生。预约成功后,该系统下注册的医生用户即可登陆系统查看患者的预约信息,患者也可在事件表界面中进行查看。4.2系统总体框架设计图4-1为原型系统的总体框架设计图,该原型系统的框架分为三层结构:data数据层、biz业务层和web表示层。数据层用于存储用户的基本信息、聊天记录、27 东华大学硕士学位论文第四章系统设计与实现上传文件、血检指标和预约记录等数据。表示层由控制器controller和view视图层组成,系统通过视图层与用户进行交互,并通过控制器将接口数据交给指定的业务模块进行处理。视图层通过划分UI界面向不同角色的用户展示不同的信息和操作接口,用户可根据需求提交不同的业务请求。业务层主要负责处理系统的业务逻辑,如图所示,该原型系统的业务层由两部分组成:一部分是基于Rocket.Chat系统的业务模块,包括群组聊天、视频通话等;一部分是基于医疗服务子系统的业务模块,其中,面向医生用户的业务包括提交诊断、添加健康记录、甲亢病情发展预测等,面向患者用户的业务包括甲亢分期预测、医疗资源推荐及在线预约等。业务层通过表示层获取数据并对其进行逻辑处理,然后交由数据层存储,或者从数据层中获取数据并对其进行逻辑处理,然后交由表示层进行展示。系统通过业务层与表示层和业务层与数据层间的通信传递数据与请求。本文的主要工作为研发甲亢病情发展预测模型,并将其嵌入医疗服务原型系统中,实现基于预测模型的病情预测功能、医生推荐功能和在线预约功能。本文在此仅详细介绍该部分系统的设计与实现。与框架相对应地,该部分系统可分为四个阶段,分别是甲亢分期预测阶段、医师推荐阶段、在线预约阶段和甲亢病情发展预测阶段,各模块在对应阶段处理相应的业务逻辑。图4-1系统总体框架设计图在甲亢分期预测阶段,系统调用3.2.2中描述的甲亢分期预测模型对用户输28 东华大学硕士学位论文第四章系统设计与实现入的指标数据进行预测,并将预测结果交由数据库保存。该阶段中,系统通过在图形化界面中提供输入和查看记录的操作接口,方便用户实时对原数据进行查看和修改。在医师推荐阶段,系统依据甲亢分期预测阶段的结果,使用医生推荐算法对医生对象进行了筛选和排序,将最符合用户现阶段病情且预约时间靠前的医生展示至用户界面。在预约阶段,系统为每一位被推荐的医生均提供了相应的预约按钮,用户在查阅医生信息后可通过点击对应的预约按钮来确认想要预约的医生。系统在获取到用户确认的预约信息后,通过业务层与表示层间的交互,将预约结果展示至医生及患者用户的查询界面。在甲亢病情发展预测阶段,被预约的医生用户可查看患者保存的检查记录与基本信息,并使用甲亢病情发展预测模型对患者数据进行预测,进而结合预测结果为患者提供更精确的诊断。在该阶段中,系统为用户设置了特征提取按钮和模型预测按钮,用户可点击特征提取按钮对原始数据进行特征提取,并点击预测按钮使用已训练好的甲亢病情发展预测模型对的所提特征数据进行病情预测。4.3数据库设计该原型系统使用基于分布式文件存储的MongoDB数据库。该数据库主要由两部分组成:一部分是Rocket.Chat源码封装的MongoDB3.2.6,用来保存用户的注册信息、聊天记录、上传文件、上传图像以及群组聊天和视频聊天中的组信息等数据;另一部分是医疗服务子系统使用的MongoDB3.4.3,用来保存医生基本信息、患者指标、患者预约记录等数据。系统通过查询Rocket.Chat数据库中的用户名及密码验证用户的登陆信息,并根据用户的角色为医生和患者用户提供各自的医疗服务。图4-2Rocket.Chat数据库结构图29 东华大学硕士学位论文第四章系统设计与实现其中,Rocket.Chat数据库的结构如图4-2所示。从图中可以看出,该数据库包含了用户信息users、聊天记录rocketchat_message、群组聊天rocketchat_room、上传文件rocketchat_uploads.files和上传记录rocketchat_uploads等多个数据集。为方便区分系统使用者的身份,本原型系统在此原有基础上对用户信息数据集users的文档结构稍作修改,添加了键值对{roles:“doctor”or“patient”}来区分医生用户和患者用户。修改后的文档结构如表5-1所示:表4-1用户信息文档结构键数据类型属性说明UsernameString用户名PasswordString密码createdAtISODate创建时间EmailString邮箱AddressString地址TypeUser/Adman用户类型statusOnline/Offline状态lastLoginISODate最后一次登陆时间rolesDoctor/Patient角色医疗服务子系统的数据库主要包括患者分期数据、患者检查记录、患者基本信息、医生基本信息和预约记录。下面依次介绍这几个数据集的设计结构。患者分期数据集主要用于保存患者用户的甲亢分期特征数据和甲亢分期预测结果。该数据集的文档结构如表4-2所示,从表中可以看出,患者分期数据文档主要包括用户名、预测时间、各血检指标值、各指标异常提示和预测结果等属性。其中,指标值属性为Float类型数据,指标异常提示属性为Int类型数据。表4-2患者分期数据文档结构键数据类型属性说明UsernameString用户名TimeDate预测时间TshFloattsh指标值Tsh_reIntTsh异常提示Ft3FloatFt3指标值Ft3_reIntFt3异常提示Ft4FloatFt4指标值Ft4_reIntFt4异常提示TrabFloatTrab指标值Trab_reIntTrab异常提示30 东华大学硕士学位论文第四章系统设计与实现ResultString预测结果患者基本信息数据集的文档结构如表4-3所示,该数据集主要用于存储患者用户的年龄、性别、身高、体重等对甲亢病情发展预测具有研究意义的基本信息,各属性的数据类型如表中所示。表4-3患者基本信息文档结构键数据类型属性说明UsernameString用户名AgeInt年龄SexString性别WeightInt体重HeightInt身高HeartRateInt心率bloodPressureString血压nationlityString国籍患者检查记录数据集的文档结构如表4-4所示,该数据集主要用于存储患者用户提交的原始检查记录数据。从表中可以看出,文档主要包含用户名、检查时间、血检指标值和计算好的各指标异常提示。其中,用户名属性可用于检索同一用户的检查记录。表4-4患者检查记录文档键数据类型属性说明UsernameString用户名ChecktimeDate检查时间TshFloatTsh指标值Tsh_reIntTsh异常提示Ft3FloatFt3指标值Ft3_reIntFt3异常提示Ft4FloatFt4指标值Ft4_reIntFt4异常提示TrabFloatTrab指标值Trab_reIntTrab异常提示医生信息数据集的文档结构如表4-5所示,该数据集用于保存医生推荐模块中的医生基本信息,包括医生照片url、医生姓名、医生职称、医生科室等属性。表4-5医生信息文档结构键数据类型属性说明DoctorIdString医生ID31 东华大学硕士学位论文第四章系统设计与实现pictureURLString医生照片urlnameString医生姓名TitleString医生职称departmentString医生科室diseaseString主诊常见病introductionString医生简介weekString可预约时间预约记录数据集的文档结构如表4-6所示,该数据集用于保存预约模块中用户确认的预约信息。从表中可以看出,文档主要存储被预约医生的用户名、患者用户名和预约起止时间等属性。系统通过查询该数据集获取用户的预约记录数据,并将预约信息双向展示给被预约的医生和患者。表4-6预约记录文档结构键数据类型属性说明titleString预约留言startDate预约起始时间endDate预约结束时间doctorString医生用户名patientSting患者用户名4.4系统功能模块设计本文的主要工作为研发甲亢病情发展预测模型,并将其嵌入医疗服务原型系统中,实现基于预测模型的甲亢病情预测功能、医生推荐功能和在线预约功能。本文在此仅详细介绍该部分系统功能模块的设计与实现。4.4.1甲亢分期预测模块甲亢分期预测模块负责从界面获取用户输入的原始指标数据,通过特征提取过程生成模型输入的特征数据,并调用甲亢分期预测模型对所提特征数据进行预测。该模块由两部分组成:一是特征提取模块,二是模型预测模块,下面依次对两部分进行详细介绍。32 东华大学硕士学位论文第四章系统设计与实现图4-3甲亢分期特征提取模块流程图图4-3为甲亢分期模型特征提取模块的流程图。从图中可以看出,该模块首先从界面获取用户输入的血检指标数据,包括指标FT3、FT4、TSH和TRAB,如果用户未输入或输入的指标值为0,系统将提示用户输入格式错误,并要求用户重新输入。在获取指标数据后,系统通过对比用户指标与各指标的正常参考范围,计算各指标的异常提示:2代表偏高,0代表偏低,1代表正常。由上述3.2.2中的阶段判定算法可知,预测患者复发和再燃阶段需要依据患者以往的分期预测结果,系统在计算指标异常提示后,通过查询数据库获取用户的历史分期预测记录,并按预测时间依次提取历史分期预测结果,最后生成格式为[FT3指标值,FT3异常提示,FT4指标值,FT4异常提示,TSH指标值,TSH异常提示,TRAB指标值,TRAB异常提示,历史预测结果{ℎ!,�=1,2,⋯,�}]的特征数据。33 东华大学硕士学位论文第四章系统设计与实现图4-4甲亢分期模型预测模块流程图图4-4为甲亢分期模型预测模块的流程图。该模块以上述特征提取模块的结果为输入,通过创建PythonInterpreter类的对象实现java调用pyhton程序的接口。系统将3.2.2中描述的甲亢分期预测算法封装为python函数,通过创建PyObject类对象执行该函数所在的python程序,并使用预测算法对传入的特征数据进行预测,最后保存特征数据和预测结果到数据库中的患者分期数据表中。如果函数返回结果为null,系统将提示模型预测失败,用户可根据提示重新输入指标并预测;如预测成功,系统会将用户指标数据、指标异常提示和模型预测结果以表格形式展示至界面供用户查看。除此之外,系统还提供了查看历史预测记录的功能,用户可通过点击查看历史记录按钮,在同一界面中查看包括预测时间、指标数据、指标异常提示和分期预测结果在内的所有历史预测记录的信息。4.4.2甲亢病情发展预测模块甲亢病情发展预测模块主要负责调用已训练好的甲亢病情发展预测模型对用户输入的基本信息和检查记录数据进行预测,并返回预测结果。该模块主要分为两部分:一部分是特征提取模块,一部分是模型预测模块,下面依次对两部分进行详细介绍。34 东华大学硕士学位论文第四章系统设计与实现系统在进行特征提取时,首先需要保存用户的年龄、性别基本信息和至少2次以上的检查记录,然后根据患者输入的检查记录进行特征提取。因此,该模块主要分为两部分:一是数据保存模块,二是特征计算模块。图4-5为数据保存模块的流程图。该模块首先从界面获取用户输入的基本信息,包括年龄和性别,并存入患者基本信息表中。如果用户未输入年龄或输入的年龄为0或未选择性别,系统将提示相应的错误信息,并要求用户重新输入;如果用户重复保存基本信息,系统将提示用户请勿重复提交;用户在首次保存基本信息后,系统将提示保存成功。在保存基本信息后,用户可继续添加检查记录,包括检查时间和检查指标FT3、FT4、TSH、TRAB的指标值,如果用户未选择时间或输入的指标值为0,系统将提示错误信息,要求用户重新添加。为方便下一阶段的特征提取,系统在获取用户输入的检查记录后,先计算各指标的异常提示再将记录信息存入数据库中的检查记录表中。在存储记录后,系统将当前用户添加的检查记录返回至页面供用户查看,同时,用户还可通过点击历史记录按钮查看所有已添加的检查记录。图4-5甲亢病情发展预测数据保存流程图系统在数据保存后,为用户提供了特征计算的功能,图4-6为甲亢病情发展35 东华大学硕士学位论文第四章系统设计与实现预测特征计算模块的流程图。系统通过查询数据库获取用户保存的基本信息和检查记录数据,并按照检查时间对检查记录进行排序。如果查询到的检查记录为0,则提示提取失败,要求用户添加检查记录后重试。在排序检查记录后,系统依据3.3.2中的特征提取公式,调用特征提取函数进行特征值计算,包括:性别归一化计算、检查记录异常百分比计算、血检指标异常百分比计算、血检指标平均值计算、第一次检查与第二次检查的时间差及指标变化速率计算、第一次检查与最后一次检查的时间差及指标变化速率计算、第一次检查指标值和检查结果提取、最后一次检查指标值和检查结果提取、第一次检查血检指标变化比例计算和最后一次检查血检指标变化比例计算。在计算过程中,如发现患者添加的检查记录只有一条,则提示用户特征提取失败,并要求用户至少添加两条检查记录。在提取成功后,系统将所提特征值以表格形式展示至界面,供用户查看并确认。图4-6甲亢病情发展预测特征计算流程图模型预测模块基于特征提取模块的结果,通过调用保存为.pkl格式的模型对用户的特征数据进行预测。图4-7为该模块的流程图。从图中可以看出,系统在获取特征数据后,首先判断特征数据是否为空,如果为空则提示用户先进行特征提取再进行预测。系统将调用甲亢病情发展预测模型进行数据预测的过程封装为pyhton程序,使用Process类创建java执行python程序的进程,并通过终端命令将特征数据传入到基于python的预测程序中。其中,Python程序封装的模型预测过程如图所示,首先通过sys模块的argv函数获取终端命令传入的特征数据;36 东华大学硕士学位论文第四章系统设计与实现然后使用基于sklearn库的joblib类加载已训练好的.pkl格式的模型文件;依据3.3.2中的标准化方法对特征数据进行标准化处理;通过模型封装的predict函数对标准化的特征数据进行预测,最后输出预测结果并交由java执行的进程返回。如果进程执行成功,系统将使用InputStreamReader对象获取进程的执行结果,并通过LineNumberReader对象读取进程输出结果中的预测结果字段;否则,系统将提示预测失败,用户可根据提示重新进行特征提取和预测。依据3.3.1.2中的样本分类规则,系统对模型输出的预测结果进行中文转换:输出为0,则表示两年内不可治愈;输出为1,则表示两年内可治愈。最后,系统将转换后的预测结果返回至界面供用户查看。图4-7甲亢病情发展模型预测模块流程图4.4.3医生推荐模块医生推荐模块通过获取预测模块的结果,调用基于预测结果和医生信息的推荐算法,筛选出不同职称的医生,然后通过制定医生科室、医生可预约时间与预测结果的映射规则为医生分配权值,最后对医生对象所得权值进行排序,将权值由高到底排列的医生推荐给用户。该模块的流程图如图4-8所示,系统在获取预测结果后,通过查询数据库获取医生信息,并将查询到的医生记录封装为医生对37 东华大学硕士学位论文第四章系统设计与实现象。其中,医生对象包含的属性及方法如表4-7所示。该模块的核心内容为图中的推荐算法部分,系统依据该推荐算法筛选医生对象并计算医生权重,最后依据权重大小排序医生对象数组,返回权值由高到低排列的医生信息至界面供用户选择,如果医生数组为空,系统将提示推荐失败。从图中可以看出,推荐算法主要包括职称筛选、科室加权、计算预约时间、可预约时间加权这几个关键步骤,为方便用户在界面中查看预约时间,算法对可预约时间进行了升序排序,并返回计算好权值的医生对象。下面依次详细介绍推荐算法包含的四个关键步骤。图4-8医师推荐模块流程图表4-7医生类属性及方法属性及方法数据类型说明doctorIdString医生IDpictureURLString医生图象URLNameString医生姓名TitleString医生职称departmentString医生科室diseaseString主诊常见病introductionString医生简介WeekString医生值班时间weightInteger权值TimeJSONObject当前系统时间38 东华大学硕士学位论文第四章系统设计与实现appointmentJSONArray医生可预约时间currentTime()void获取当前时间函数addWeightvoid增加权值函数documentToValues(Documentdoctor)void初始化对象属性函数valuesToJson()JSONObject封装Json对象函数addAppointment()void计算预约时间函数AppointJson(intweek,Stringstart,String可预约时间转化为JSONObjectend,Stringnoon)json对象函数addDate(Datedate,longday)Date日期增加函数newDate(Stringcurrentdate,longInteger[]计算日期函数dayDiffer)计算预约时间权值规dateRule(intday)Integer[]则函数(1)职称筛选依据3.2.1中描述的甲亢分期阶段规则和各阶段联系,制定预测结果与医生职称的映射规则:规则一:依据病情轻重程度,将发病阶段、再燃阶段和复发阶段3个阶段归为甲亢较重阶段一类,为其分配职称为主任医师和教授的医生;规则二:依据病情轻重程度,将临床缓解阶段、免疫缓解阶段、生化缓解阶段和免疫治愈阶段归为甲亢较轻阶段一类,为其分配职称为副主任医师的医生。依据上述规则,该步骤的算法设计如下:算法4.1职称筛选Input:Doctor[],Index//Doctor[]为医生对象数组,,Index为预测结果Output:SelectDoctor1letsetSelectDoctor=[]//用以保存筛选后的医生对象2ifIndexis1or6or7//1、6、7分别代表发病、再燃、复发阶段3if������!.title=”主任医师”or“教授”//title为医生对象的职称属性4add������!toSelectDoctor5elseifIndexis2or3or4or5//2、3、4、5分别代表临床缓解、生化缓解、免疫缓解、免疫治愈阶段6if������!.title=”副主任医师”7add������!toSelectDoctor8returnSelectDoctor(2)科室加权该步骤将医生所属科室划分为四类:核医学科室、内分泌科室、普通外科科39 东华大学硕士学位论文第四章系统设计与实现室和其他科室,并依据甲亢各阶段病情的轻重程度,为每个阶段制定不同科室的加权规则。各阶段权值规则如下:1)发病阶段:核医学>内分泌>普外>其他;2)临床缓解阶段:内分泌>核医学>普外>其他;3)生化缓解阶段:内分泌>普外>核医学>其他;4)免疫缓解阶段:普外>内分泌>核医学>其他;5)免疫治愈阶段:其他>普外>内分泌>核医学;6)再燃阶段:内分泌>核医学>普外>其他;7)复发阶段:核医学>普外>内分泌>其他;依据上述规则,该步骤的算法设计如下:算法4.2科室加权Input:Department,Index//Department为医生科室属性,Index为预测结果Output:weight1letsetweight=0//用以保存医生所得权值2switchIndex3case1//1为发病阶段4ifDepartmentis“核医学”setweight=45elseifDepartmentis“内分泌”setweight=38elseifDepartmentis“普外”setweight=29elsesetweight=110case2//2为临床缓解阶段11ifDepartmentis“核医学”setweight=312elseifDepartmentis“内分泌”setweight=413elseifDepartmentis“普外”setweight=214elsesetweight=1⋯//可参考权值分配规则,中间阶段不再详细赘述42case7//7为复发阶段43ifDepartmentis“核医学”setweight=444elseifDepartmentis“内分泌”setweight=245elseifDepartmentis“普外”setweight=346elsesetweight=147returnweight(3)预约时间计算该步骤首先调用表4-7中的addAppointment()函数计算医生的全部预约时间,然后通过查询数据库中的预约事件表获取该医生已被预约的时间,通过去除全部预约时间中的已预约时间,得到该医生当前的可预约时间。该步骤基于预约时间40 东华大学硕士学位论文第四章系统设计与实现计算算法,通过获取系统当前时间,结合医生对象的week属性计算出随系统时间变化的医生预约时间。其中,week属性形如����!+����!,�=1,2,⋯,7�=��,��的字符串,week表示星期数,noon表示上午或下午。预约时间计算步骤的算法设计如下:算法4.3预约时间计算Input:week,time//week为医生对象属性,time为当前系统时间Output:appointment1letsetappointment=JSONArray{}//用以保存预约时间的json数组2splitweektoweek={����!,�=1,2,…,�}andnoon={����!,�=1,2,…,�}//将week属性字符串划分为week数组和noon数组3foriinweek.length//week.length为week数组长度4calculatetime+����!saveasappointment_day//依据当前时间和星期数计算一周内的可预约日期4if����!is“am”//判断noon是否为上午5addappointment_day+"08:00-09:00am"toappointment6addappointment_day+"09:00-10:00am"toappointment7addappointment_day+"10:00-11:00am"toappointment8elseif����!is“pm”//判断noon是否为下午9addappointment_day+"13:00-14:00pm"toappointment10addappointment_day+"14:00-15:00pm"toappointment11addappointment_day+"15:00-16:00pm"toappointment12end13returnappointment(4)可预约时间加权该步骤基于上述预约时间计算中提取的可预约时间数组,通过计算可预约时间与当前时间的时间差为医生对象分配权值,权值大小与时间差成反比。该步骤的算法设计如下:算法4.4可预约时间加权Input:appointment,time//appointment为可预约时间数组,time为当前系统时间Output:weight1letsetweight=0//用以保存医生所得权值2foreach�����������!inappointment//遍历可预约数组3calculatetime-�����������!saveastimediffer//计算可预约时间与当前系统时间的时间差4weight=weight+(7-timediffer)//计算与时间差成反比的权值41 东华大学硕士学位论文第四章系统设计与实现5end6ifappointmenthave�����������!.noon=”am”//判断可预约数组中是否包含noon为上午的可预约时间段7weight+18returnweight为方便用户使用,系统以表格的形式将医生基本信息、医生简介和医生可预约时间等推荐信息展示至界面供用户查看。同时,系统还提供了两种查看推荐医生的方式:一是在模型预测时,如果预测成功,系统将在展示预测结果的同时为用户展示推荐医生的信息;二是在查看历史预测记录时,用户可通过点击每一条预测记录中的推荐医生按钮,查看系统为其推荐的医生资源。4.4.4预约模块预约模块基于医生推荐模块的结果,在推荐界面中为每一位被推荐的医生设置了一个预约按钮,用户可通过点击预约按钮选择想要预约的医生。图4-9为预约模块的流程图,在用户点击预约按钮后,系统通过模态框展示医生的预约信息,包括姓名、职称、科室、主诊常见病和可预约时间,并设置了预约留言输入框,方便患者描述病情。如果用户未选择预约时间,系统将提示用户重新确认,在用户确认好预约信息后,系统通过查询预约记录数据集获取该用户的历史预约记录。如果用户没有历史记录,系统将直接保存用户的预约信息到预约事件表,并提示用户预约成功;否则,系统将根据查询到的历史预约记录判断当前选择的预约时间是否与历史预约时间冲突:如果冲突,系统将提示用户该时间段已预约其他医生,并要求用户重新选择预约时间;否则,系统将直接保存用户确认的预约信息至数据库。预约成功后,用户可在系统的患者事件表界面查看自己的预约结果,与此同时,被预约的医生也可通过登陆系统查看病人的预约情况。42 东华大学硕士学位论文第四章系统设计与实现图4-9预约模块流程图4.5系统实现4.5.1系统环境与部署该原型系统主要由本地服务器和虚拟机服务器构成。本地服务器主要用于病情预测、医师推荐和在线预约,医师推荐功能所用的医生数据和病情预测功能所用指标数据均保存于本地服务器中。虚拟机服务器用于运行Rocket.Chat系统,并保存用户名等注册信息和聊天记录等数据。本文通过该原型系统实现了甲亢病情预测模型的实际应用。本系统的运行环境为:一台处理器为2.7GHzIntelCorei5,内存8g1867MHzDDR3,128G固态硬盘,10.10.5版本的OSXYosemite系统的本地服务器,该服务器所使用的数据库为MongoDB3.4.3,由Tomcat7.0提供Web服务。一台内存2G,硬盘容量25G,操作系统为ubuntu(64-bit)的虚拟机服务器,该服务器使用的Rocket.Chat版本为0.53.0,数据库为Rocket.Chat自带的MongoDB3.2.6,由Nodejs4.7.3提供Web服务。43 东华大学硕士学位论文第四章系统设计与实现4.5.2界面展示与实验分析(1)甲亢分期预测模块如图4-10所示,该模块界面主要包括FT3、FT4、TSH、TRAB指标输入框,预测按钮和查看历史记录按钮。用户可输入需要预测指标数据,并点击预测按钮进行预测。图4-10甲亢分期预测界面如图4-11所示,用户在输入指标值后,点击预测按钮即可看到预测结果。图4-11分期预测结果界面用户也可通过点击查看历史记录按钮,查看所有历史预测记录及预测结果,如图4-12所示。44 东华大学硕士学位论文第四章系统设计与实现图4-12查看历史记录界面(2)甲亢病情发展预测模块该模块的界面分为两部分:一是数据保存,一是模型预测。数据保存界面如图4-13所示,该界面为用户提供了年龄输入框、性别单选框和保存按钮,以及检查时间选择框、检查指标输入框和添加按钮。用户可在输入基本信息后点击保存按钮进行保存,需要注意的是,用户基本信息只可保存一次,如果在已保存后重复点击保存按钮,系统将提示用户请勿重复保存。用户可在选择好检查时间并输入了指标数据之后,通过点击添加按钮来添加检查记录。如图4-14所示,用户在点击添加按钮后,系统将为其展示本次添加的指标值及异常提示信息。图4-13数据保存界面45 东华大学硕士学位论文第四章系统设计与实现图4-14添加记录展示界面此外,系统还设置了查看添加记录按钮,用户可通过点击该按钮查看已添加的检查记录,如图4-15所示。图4-15查看添加记录界面模型预测界面如图4-16所示,主要包含特征提取按钮和模型预测按钮。用户需先点击特征提取按钮对已保存的检查记录和基本信息进行特征提取,再点击模型预测按钮查看预测结果。在点击特征提取按钮后,系统将提取出的特征值展示至界面供用户查看,特征提取结果展示如图4-17所示。图4-16模型预测界面46 东华大学硕士学位论文第四章系统设计与实现图4-17特征提取结果展示界面在查看特征提取结果后,用户可以点击模型预测按钮对该特征数据进行预测,系统将展示其预测结果,如图4-18所示。图4-18模型预测结果展示界面由于甲亢病情发展预测模型的实验结果与分析已在第三章节中阐述,本文在此不再详细赘述。(3)医生推荐模块如图4-19所示,该模块界面主要展示了推荐医师的基本信息,包括姓名、职称、科室、主诊常见病、医生简介及医生可预约时间,并为每个被推荐的医生设47 东华大学硕士学位论文第四章系统设计与实现置了预约按钮。该模块为用户提供了两种查看推荐医生信息的途径:一是通过点击图4-11所示的甲亢分期预测界面中的预测按钮进行查看,二是通过点击图4-12所示的查看历史记录界面中的推荐医生按钮进行查看。图4-19医师推荐界面(4)预约模块用户在查阅系统推荐的医生信息后,可通过点击与医生信息相对应的预约按钮进行预约。如图4-20所示,该界面为点击预约按钮后弹出的预约信息确认界面,从图中可以看出,该界面主要包括医生图像、姓名、职称等基本信息展示,医生可预约时间单选框,和预约留言输入框,关闭按钮和预约按钮。用户可在选择预约时间并输入预约留言后点击预约按钮进行预约。如预约成功,系统将弹出预约成功提示框提示用户已成功预约。用户可自行前往myevent我的事件界面中查看预约结果,如图4-21所示。48 东华大学硕士学位论文第四章系统设计与实现图4-20预约信息确认界面图4-21我的事件界面预约结果展示本文使用了302个不同阶段的甲亢患者用户和63个医生用户进行了系统分期预测模拟和医生推荐模拟实验。实验结果如下:甲亢分期各阶段患者人数与推49 东华大学硕士学位论文第四章系统设计与实现荐医生人数的分布情况如图4-22所示。从图中可以看出,发病阶段的患者较多,缓解及治愈阶段的人数逐级递减,各阶段推荐医生的人数分布较为均匀。图4-22甲亢分期各阶段患者与医生人数统计基于4.4.3中描述的医生推荐算法,本实验统计了各阶段被推荐医生的职称、科室及平均预约时间差的分布情况,其中平均预约时间差的计算方法为:!可预约日期−预约当天日期!!!�!"#=(4-1)医生人数统计结果如表4-8所示。经对比发现,不同职称的医生按阶段划分的较为明显,不同科室的医生在每个阶段中分布均较为均匀,各阶段平均预约时间差均较小,其最大值不超过3天,由此说明,该算法推荐的可预约时间较靠前,能够满足用户对看病时间的需求。综上所述,该推荐算法对于平衡医师分配比例具有一定成效,此实验结果证明了这种基于模型的医生推荐算法的确能够提高医疗服务系统的智能性。表4-8各分期阶段医生推荐结果统计医生职称医生科室平均预约分期阶段主任副主任核医学内分泌普通外科其他时间差发病100%0%35.7%28.6%21.4%14.3%1.47临床缓解0%100%23.1%34.6%23.1%19.2%1.69生化缓解0%100%24.1%37.9%24.1%13.8%2.28免疫缓解0%100%18.5%29.6%33.3%18.5%1.75免疫治愈0%100%16%20%28%36%1.84再燃100%0%28.6%35.7%25%14.3%1.73复发100%0%30.8%23.1%30.7%15.4%2.0450 东华大学硕士学位论文第四章系统设计与实现4.6本章小结本章主要对医疗服务原型系统的设计与实现进行了详细介绍,首先介绍了原型系统的总体框架设计与数据库设计,接着从系统功能模块的角度,详细描述了各功能模块的设计流程。最后对原型系统的环境与部署进行了说明,对系统各功能界面实现进行了展示,并对系统分期预测模拟与医生推荐模拟的实验结果进行了分析。51 东华大学硕士学位论文第五章总结与展望第五章总结与展望本章主要对本文的工作进行了总结,并分析了工作中存在的不足与待改进之处。在研究展望中对于提出的不足之处给出了相应的解决方法。5.1工作总结目前,已出现许多甲状腺相关疾病的病情发展预测研究,但其中大多是关于甲状腺结节和甲状腺肿瘤的研究项目,针对甲亢疾病的预测研究较少。在现有的预测研究中,大多数研究基于患者的超声图像、病理诊断和用药数据,往往忽略了患者血检指标变化情况对于病情发展的影响。其使用的模型大多是线性回归、深度学习类算法,其缺点是不能对患者的病情发展进行分类预测。本文提出了一种基于患者血检指标的甲亢分期预测模型和基于患者基本信息和前六个月血检指标变化规律的甲亢病情发展预测模型,从患者的角度为其提供了了解自身病情的途径,从医生的角度为其提供了精确化临床诊断的技术支持。本文的研究工作主要从以下几个方面展开:1)依据甲亢病情发展的指标变化规律实现了甲亢分期预测模型本文将甲亢患者的病情发展过程按时序分为发病、临床缓解、生化缓解、免疫缓解、免疫治愈、再燃、复发七个阶段,提出了基于患者血检指标FT3、FT4、TSH、TRAB变化规律的分期阶段划分规则和各阶段间的依赖关系。依据该规则设计了甲亢七个阶段的判定函数和甲亢分期预测算法,建立了以血检指标为输入、分期阶段为输出的甲亢分期预测模型。2)实现了基于机器学习算法的甲亢病情发展预测模型本文通过分析某三甲综合性医院10年间甲亢患者的临床数据,提出了一种甲亢临床数据筛选方法。通过制定甲亢患病人群分类规则,将甲亢患者分为了两年内可治愈类和两年内不可治愈类。本文对患者前六个月的血检指标数据与患者基本信息进行分析,提出了9个特征量化公式,提取了37维蕴含甲亢患者病情发展规律的特征。通过比较基于线性核、多项式核、高斯核和Sigmoid核四种核函数的SVM支持向量机模型和基于蛮力算法、KD树算法、球树算法三种实现方法的K近邻模型的平均准确率、平均召回率以及平均F1值,评估了两种模型的性能。使用方差移除、卡方检验、基于L1惩罚项、基于树的特征选择四种方法对原始特征数据进行了降维实验与分析。3)设计了一种基于甲亢分期预测模型的医生推荐算法52 东华大学硕士学位论文第五章总结与展望本文提出了一种基于甲亢分期预测模型和医生职称筛选、科室加权、预约时间加权等步骤的医生推荐算法。设计了一种分期预测结果和医生基本信息的映射规则,实现了基于该规则的医生职称筛选和医生科室加权。通过计算医生可预约时间与当前时间的时间差,实现了医生预约时间加权。该算法对医生对象进行职称筛选与权值计算,将最契合用户患病程度且预约时间靠前的医生推荐给患者。4)设计并实现了一个基于预测模型的医疗服务原型系统本文在Rocket.Chat开源系统中嵌入医疗服务子系统,实现了医生与患者间的在线互动。进一步,本文设计了系统调用模型的接口,实现了基于模型的病情预测服务、医生推荐服务和在线预约服务。本文依次从整体框架设计、数据库设计以及系统功能模块设计的角度详细介绍了原型系统的实现过程。5.2研究展望甲状腺疾病的预测研究已成为内分泌医学领域的热点研究之一,针对甲亢病情发展的预测研究同样成为了甲状腺医学领域的重点研究内容。本文提出的甲亢病情发展预测模型及应用仅仅只是一次尝试,在研究过程中还存在一定的不足,主要包括以下方面:1)本文提出的数据筛选及分类方法条件较为苛刻,导致所提数据集的规模较小。在未来的甲亢病情发展预测研究中,可以进一步扩大原始数据的筛选范围,进一步优化甲亢患病人群的分类规则。2)在本文提出的特征计算方法中,并没有涉及包含整体指标变化的特征和患者的用药特征。未来考虑使用线性拟合算法实现患者整体指标变化特征的提取,同时将患者的用药情况纳入患者特征提取的范围。3)在模型的选取上,目前只使用了两种简单的机器学习算法,并没有使用较为复杂的算法进行模型训练。未来考虑尝试基于深度学习算法和人工神经网络的病情发展预测研究。4)医疗服务原型系统有待进一步的优化与完善,医师推荐功能目前只基于甲亢分期预测模型的预测结果,未来可与甲亢病情发展预测模型相结合。甲亢分期预测功能主要面向患者用户,而甲亢病情发展预测功能主要面向医生用户,未来考虑将两个预测功能扩展至面向所有用户。总之,对于甲亢病情发展预测的研究与应用方面,还有很大的提升空间,这将成为未来研究中需要优化与完善的问题。53 东华大学硕士学位论文参考文献参考文献[1]M·G·曼宁,M·J·E·明尼蒂,I·G·劳森,等.患者互动式医疗保健系统和数据库,CN103688263A[P].2014.[2]杨友春,毛琦敏,周丽君,等.远程医疗系统与技术研究进展[J].信息化研究,1999(3):7-10.[3]陈疆.基于Web的远程医疗系统的研究与实现[D].中南大学,2008.[4]邹北骥.大数据分析及其在医疗领域中的应用[J].计算机教育,2014(7):24-29.[5]贾云青.基于判别分析的医疗数据处理研究[D].中南大学,2010.[6]朱志勇,陈一昕,李建功.大数据技术在医疗急重症领域的应用[J].邮电设计技术,2016(8):28-32.[7]张永增.甲亢病因学的某些进展[J].中国实用护理杂志,1986(10).[8]HayashiN,KawamuraM.Medicaldataprocessingmethodandmedicaldataprocessingsystem[J].2006.[9]汪鹏,吴昊,罗阳,等.医疗大数据应用需求分析与平台建设构想[J].中国医院管理,2015,35(6):40-42.[10]高汉松,肖凌,许德玮,等.基于云计算的医疗大数据挖掘平台[J].医学信息学杂志,2013,34(5):7-12.[11]许德泉,杨慧清.大数据在医疗个性化服务中的应用[J].中国卫生信息管理杂志,2013(4):301-304.[12]黄薇,康起明,容芷君,等.基于人工神经网络的高血压预测模型[J].广东医学,2017,38(15):2315-2317.[13]JohnsonAEW,DunkleyN,MayaudL,etal.PatientspecificpredictionsintheintensivecareunitusingaBayesianensemble[J].2012:249-252.[14]韦哲于,启炟,辛迈.基于Apriori算法的高危人群2型糖尿病预测研究[J].中国医学装备,2015(1):45-47.[15]周东阳.甲状腺结节良恶性预测方法的研究与实现[D].东华大学,2016.[16]宋海霞.甲状腺超声检查及TRAb检测对Graves病复发的预测研究[D].内蒙古医学院,2003.[17]侯春杰,范小明,王力,等.甲状腺囊实性结节良恶性鉴别的超声预估模型建立[J].中华超声影像学杂志,2014,23(2):125-128.[18]王致强.甲亢疾病数据的多维分析研究与应用[D].东华大学,2016.[19]俞李嘉,俞琦.移动医疗技术在医疗服务中的应用和发展[J].卫生经济研究,2013(8):60-62.54 东华大学硕士学位论文参考文献[20]李殿奎,赵铁铭,曲若梅.基于Web方式的社区医疗服务系统的设计与实现[J].佳木斯大学学报(自然科学版),2002,20(1):95-98.[21]张胤,尹长青.基于Web服务的医疗自助服务系统的设计与实现[J].电脑知识与技术,2015,11(32):69-70.[22]JeeK,KimGH.PotentialityofBigDataintheMedicalSector:FocusonHowtoReshapetheHealthcareSystem[J].HealthcareInformaticsResearch,2013,19(2):79.[23]Rocket.ChatOfficialWebsite[EB/OL].(2018)[2018].https://rocket.chat.[24]MeteorOfficialWebsite[EB/OL].(2018)[2018].https://www.meteor.com.[25]周志华,王珏.机器学习及其应用[M].清华大学出版社,2007.[26]MitchellTM.Machinelearning.[M].ChinaMachinePress,2003.[27]李航.统计学习方法[M].清华大学出版社,2012.[28]CristianiniN,Shawe-TaylorJ.Anintroductiontosupportvectormachines[M].ChinaMachinePress,2005.[29]赵丹.SVM核函数与选择算法[J].数字技术与应用,2014(9):226-226.[30]ZhangML,ZhouZH.ML-KNN:Alazylearningapproachtomulti-labellearning[J].PatternRecognition,2007,40(7):2038-2048.[31]CoverT,HartP.Nearestneighborpatternclassification[J].IEEETrans.inf.theory,1967,13(1):21-27.[32]中华医学会内分泌学分会《中国甲状腺疾病诊治指南》编写组.中国甲状腺疾病诊治指南——甲状腺功能亢进症[J].中华内科杂志,2007,46(10):876-882.[33]李淑珍,沈炜英.甲状腺激素浓度对估计甲亢病情程度的意义[J].广西医学,1993(5):403-405.[34]王铸钢,陈家伦,许曼音,等.TSH受体抗体与Graves病患者甲状腺功能及甲亢缓解或复发的关系[J].中华内分泌代谢杂志,1993(3):146-148.[35]吴立坚,汤冰,杨春莺,等.TSH受体抗体测定的临床意义[J].放射免疫学杂志,2005,18(6):429-431.[36]许虹.原发性甲状腺功能亢进临床诊治研究进展[J].当代医学,2015(6):11-12.[37]李尔凡,严海燕,钟丽玲,等.常用甲状腺功能检测指标不同组合模式的临床诊断价值[J].医学信息旬刊,2011,24(13):4150-4152.[38]罗章伟,王民登,方文珠.TSH和TRAb检测在甲亢疗效观察中的应用[J].右江民族医学院学报,2002,24(2):216-217.[39]丁文,薛庆欢,吴文金,等.血清5种甲状腺激素测定在甲状腺疾病诊疗中的应用分析[J].中国实验诊断学,2009,13(10):1419-1420.[40]陈安,陈宁,周龙骧等著.数据挖掘技术及应用[M].科学出版社,2006.[41]方瑞明.支持向量机理论及其应用分析[M].中国电力出版社,2007.55 东华大学硕士学位论文参考文献[42]郭丽娟,孙世宇,段修生.支持向量机及核函数研究[J].科学技术与工程,2008,8(2):487-490.[43]PanigrahyR.AnImprovedAlgorithmFindingNearestNeighborUsingKd-trees[C]//LatinAmericanConferenceonTheoreticalInformatics.Springer-Verlag,2008:387-398.[44]胡洁.高维数据特征降维研究综述[J].计算机应用研究,2008,25(9):2601-2606.[45]YuL,LiuH.Featureselectionforhigh-dimensionaldata:afastcorrelation-basedfiltersolution[C]//TwentiethInternationalConferenceonInternationalConferenceonMachineLearning.AAAIPress,2003:856-863.56 东华大学硕士学位论文攻读学位期间的研究成果目录攻读学位期间的研究成果目录一、已录用的主要学术论文[1]郑晓东,王梅,陈德华,张碧莹.一种基于Spark的分布式时态索引方法[J].计算机应用与软件[2]张碧莹,王梅.基于甲亢分期预测模型的web医疗服务系统[J].智能计算机与应用,201857 东华大学硕士学位论文致谢致谢光阴似箭,日月如梭,转眼间两年的研究生生涯即将结束。回顾这两年中在东华度过的每一个日子,感受良多。还记得自己刚刚读研时的迷茫,项目研究中的困惑,学术研讨中的进步和撰写论文时的紧张。研究生阶段给予了我很多经历,有欢笑、有泪水、有迷茫、有收获,这段经历不仅提升了我的学术水平,培养了我的学习能力,同时也增加了我的个人素养,让我在为人处事时更加细心。我的每一步提高都离不开老师、同学以及师兄师弟们对我的支持和帮助。在此,我谨向所有在我成长过程中帮助、关心、支持我的各位老师、同学、朋友及亲人表示最诚挚的感谢。首先,感谢我的导师王梅老师。在研究生期间,王老师一直用她渊博的学术底蕴指导我的学习,用她诲人不倦的高尚师德教诲我的人生,她扎实严谨的学术态度和认真负责的工作态度为我树立了优秀的榜样。在每周的实验室例会中,王老师都会针对我们各自的研究课题给出很好的指导意见,为我们梳理清晰的研究思路。感谢您在论文撰写和课题研究过程中给予我的悉心指导,感谢您在整个研究生期间对我的孜孜教诲和辛勤付出。不论是在学术论文写作还是平时的日常生活中,王老师都给予了我极大的帮助和支持。在学术之余的生活里,王老师会询问我们的身体健康状况,关心我们在日常生活中有没有遇到困难,还经常与我们一起吃饭,与我们一起探讨人生。王老师清晰的学术思维、认真严谨的学术作风、一丝不苟的学术态度以及积极乐观的人生信念深深的影响了我,是我在研究生学习过程中前进的动力。在此向您表示最诚挚的感谢。其次,感谢为我们提供了良好科研平台与优质实验环境的乐嘉锦老师,他渊博的学术知识、严谨的治学态度以及平易近人的待人方式让我受益匪浅。同时还要感谢负责实验室学术课题研讨的丁祥武老师,他教导我们如何阅读国内外优秀的前沿学术文献,定期组织实验室的学术研讨,为实验室创造了良好的学术氛围,使我的学术钻研能力得到了极大的提升。在此对两位老师表示衷心的感谢。感谢实验室中与我并肩奋斗、互帮互助的王杰、郑晓东、郝茜、张东辉、王丽敏、张圆、秦胜楠、闫潮、杨意豪等师兄师弟及同学,是你们的陪伴才让我的研究生生活满载收获与喜悦。感谢一直以来为我无私付出、默默支持我的亲人和朋友,是你们无微不至的关心和长久的陪伴成就了现在的我。感谢为我指引学术方向的学院领导及辅导员老师,你们是我精神上的指明灯,照亮了我读研过程中前进的道路。最后,感谢各位专家和老师能够在百忙之中审阅我的论文,希望各位专家老师提出宝贵的意见。58

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。
关闭