一种统计分析报表快速生成方法与流程

文档序号:34382179发布日期:2023-06-08 03:24阅读:363来源:国知局
本发明涉及统计分析报表快速生成,更具体地,涉及一种统计分析报表快速生成方法。
背景技术
::1、药物临床试验中,临床统计程序员需要设计一系列的tfl (table,figure,listing,统计分析报表)来证明研发的新药既有效又安全。tfl的数据来源于adam数据集,通常情况下,随着申办方以及试验药物不同,adam的数据结构也会有较大的差异,而且adam数据不一定全部符合cdisc(clinical data interchange standards consortium,临床数据交换标准协会)标准,因此临床统计程序员需要根据数据不同来调试自己的sas代码。同时申办方会给cro公司提供一个预定义文件(shell文件,或mockup文件,后文统称shell文件),该文件定义了临床统计程序员需要完成的tfl以及对应的格式和内容。临床统计程序员需要熟悉这些内容并通过sas编程来完成这些tfl。2、tfl是证明一款药物是否有效且安全的最重要的证据之一,生成tfl的工作一般需要临床统计程序员有足够的开发经验。tfl包含三种类型:table、figure 、listing。3、table通常包含基本的分布信息,如频率、最大值、最小值、均值和中位数等等,同时需要考虑这些分布信息在一个或者多个关键因素,如治疗组别等影响下的区别,以确定在做分析时是否有任何不平衡的患者人群。table还可以包含置信区间,以及用于测试两组数据之间的差异是否有显著的p值,即统计学意义。4、figure可以更加方便的理解信息,比如可以更好的理解试验效果随时间变化的实验值,利用瀑布图可以直观的比较治疗后肿瘤的变化大小,用频数直方图来展示ae数据集中soc的频率等等。5、listing一般会列举一些关键信息,属于tfl中很小的一部分,主要是需要临床统计程序员做好分页即可。6、为了保证tfl的正确性,cro公司会使用两个临床统计程序员分开来编码一个相同的tfl,当生成的tfl完全相同时,则可以确认此tfl是正确的。这种冗余编程的方式虽然能够保证tfl的准确性,但是极大的造成了人力成本的浪费。7、当前大部分cro公司生成tfl均是使用两名经验丰富的临床统计程序员利用sas编程实现。国外有一公司利用ai技术开发了一款simplestats应用,该应用被用来自动生成tfl,其生成tfl的方式是:用户提供adam数据以及shell文件,然后系统会自动生成一系列的tfl以及对应的sas代码。该应用存在以下三个明显问题: 1. 要求用户提供的adam数据符合cdisc标准;2. 生成tfl的过程对于用户来说属于黑盒操作,用户无法感知中间的计算过程,从而无法做到当tfl生成不准确时,快速的修改有错误的地方,增加了用户调试程序的成本。3. tfl可复用性差,针对不同的项目,该应用无法利用之前已经生成并修改正确的代码,用户必须根据新的数据再次生成代码,并原样修改。技术实现思路1、本发明提供一种统计分析报表快速生成方法,快速准确的生成tfl。2、为解决上述技术问题,本发明的技术方案如下:3、一种统计分析报表快速生成方法,包括以下步骤:4、s1:获取adam数据集以及预定义文件;5、s2:根据所述adam数据集的数据特点以及预定义文件的要求,分别搭建上表头树状图以及左侧表头树状图;6、s3:解析所述上表头树状图以及左侧表头树状图,生成sas代码;7、s4:根据所述sas代码生成统计分析报表。8、优选地,步骤s2中搭建上表头树状图以及左侧表头树状图,具体为:9、树状图中由n个有限节点组成一个具有层次关系的集合,每个节点有零个或者多个子节点,每个子节点可以分为多个不相交的子树,每一个节点代表一个变量,而且每个节点具有自己的属性表,根据预定义文件,为每个节点设置对应的属性,同时在树状图中还设置有数据集节点,表示该统计分析报表关联的数据集。10、优选地,步骤s3中解析所述上表头树状图以及左侧表头树状图,生成sas代码,具体为:11、s3.1:根据对树状图结构进行分析,找出该统计分析报表关联的数据集,并对该数据集进行预处理;12、s3.2:基于多叉树的前序遍历算法,得到左侧表头树状图的全部路径,所述左侧表头树状图的全部路径包含所述上表头树状图中的节点;13、s3.3:根据每条路径中各节点属性表中设置的节点属性,转化为对应的sas代码。14、优选地,步骤s3.1中对该数据集进行预处理,具体为:15、对数据集进行过滤:设置过滤条件在数据集节点的属性表中,当检测到数据集节点的属性表中的过滤条件时,将该过滤条件转化为对应的sas代码,并置于对应的data步中;16、根据树状图结构以及对应的属性表,分析得到该统计分析报表中涉及到的所有变量,并把这些变量在sas的data步中保存下来。17、优选地,步骤s4中根据所述sas代码生成统计分析报表,具体为:18、s4.1:根据sas代码得到每条路径的数据结果;19、s4.2:将所有路径输出的数据进行合并;20、s4.3:在路径末端节点的属性表中设置统计量属性,根据设置的统计量属性计算具体的统计量;21、s4.4:输出目标统计分析报表的sas数据集,并根据节点在路径中的位置确定对应取值在表格中的缩进。22、优选地,还包括步骤s5:23、收集大量统计分析报表进行分析聚类,将相似类型的统计分析报表聚类在一起;24、根据聚类在一起的统计分析报表涉及到的变量,以及这些变量可能的命名,归纳构建规则簇,并将树状图中的属性设置为规则簇中设置的占位符;25、运行步骤s2至s4时,当检测到节点属性表中存在占位符时,通过占位符关联的规则簇,自动从adam数据集中分析出对应的变量并替换该占位符,当全部节点替换完成之后,得到自适应adam数据的统计分析报表。26、优选地,所述规则簇支持name_regex、label_regex和label_inv_regex,其中,name_regex表示该条规则是针对数据集变量的name做匹配,label_regex表示该条规则是针对数据集变量的label做匹配,label_inv_regex表示该条规则是针对数据集中不符合规则的变量的label做匹配。27、优选地,当占位符关联的规则簇无法在adam数据集找到对应的变量时,有以下三种处理方式:28、1)该变量必须出现在该统计分析报表中,且该统计分析报表是需要完成的,此时,令节点属性表中的占位符不做任何更改,当检测到有占位符未被替换时,在对应的节点上给出错误提示,根据实际情况人工替换掉对应的节点;29、2)当该变量不存在时,且该统计分析报表不需要生成,当发现有该类型的节点时,则会自动停止该统计分析报表的构建,并跳到下一个统计分析报表的自动构建中;30、3)当有些变量不存在时,且该统计分析报表只是不需要当前分支,而其他分支则需要保留,此时需要去掉其所在的分支。31、优选地,所述去掉其所在的分支,具体为:32、确定节点所在的路径p,并找出该路径上位于该节点之前的不包含数据集节点的节点;33、反转该路径,遍历该反转路径,找到第一个节点使其父节点包含有多个子节点,并将找到的节点从树状图结构中删除。34、优选地,还包括步骤s6:当树状图的结构需要根据变量的取值进行调整时,具体调整方式为:35、定义插入节点,所述插入节点用来标记需要动态构建树状图,所述插入节点存在对应的属性表,属性表里记录变量寻找过程中需要用到的先验信息,包括占位符以及对应的规则簇;36、在自动构建统计分析报表时,当检测到插入节点后,取出其占位符以及对应的规则簇,利用步骤s5寻找adam数据集中对应的变量,当该变量不存在时,在树状图中直接删除该插入节点;当找到对应的变量时,加载adam数据集中该变量的全部取值并去重后,根据所述全部取值构建一颗子树,子树的每个节点由该变量的取值衍生而来;37、将构建的子树插入到插入节点所在的位置。38、与现有技术相比,本发明技术方案的有益效果是:39、根据不同的adam以及shell文件,本发明可以快速高效的生成tfl。首先本发明通过把tfl生成过程抽象成树状图的构建,可以让临床统计程序员非常方便直观的感知tfl的生成过程,同时当自动生成算法生成的tfl与实际情况有偏差时,程序员通过看图可以快速定位到错误的位置,降低了程序员调试程序的时间,提高了工作效率。同时通过简单的树状图构建就可以生成tfl,这极大的降低了对临床统计程序员编程经验的要求,而且也减少了因为冗余编程带来的人力成本开销。其次本发明通过构建通用化的tfl模板,提高了tfl在不同项目间被复用的能力,加快了项目的开发进度。最后本发明通过设计的自动裁剪算法以及自动加枝算法,可以做到对不同的adam以及shell文件的自适应,减少了统计程序员熟悉数据的时间,加快了开发效率。因此本发明在tfl的生成场景中具有非常良好的应用前景与商业价值。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1