技术领域
[0001] 本发明一般地涉及信息处理领域。具体而言,本发明涉及一种对未来的事件进行预测的事件预测方法和事件预测设备。
相关背景技术
[0002] 传统的预测技术通常通过对预测的对象的历史数据进行分析,基于历史数据、现在的信息、将来的信息中的至少一个,对预测对象的未来数据进行预测。有的预测技术利用过去的历史数据预测过去的无记录时间点的数据。还有的预测技术利用过去的历史数据对其它历史数据进行验证/修正。
[0003] 然而,传统的预测技术依赖于待预测对象的历史数据,无法对没有历史数据的对象进行预测。
[0004] 而且,传统的预测技术单纯地围绕待预测的对象与时间的变化进行分析,仅涉及表象,而不去探究影响待预测的对象的各种因素,如人为因素、对象自身因素等。
[0005] 因此,期望一种能够对无历史数据的对象进行预测的方法和设备。
具体实施方式
[0018] 在下文中将结合附图对本发明的示范性实施例进行详细描述。为了清楚和简明起见,在说明书中并未描述实际实施方式的所有特征。然而,应该了解,在开发任何这种实际实施方式的过程中必须做出很多特定于实施方式的决定,以便实现开发人员的具体目标,例如,符合与系统及业务相关的那些限制条件,并且这些限制条件可能会随着实施方式的不同而有所改变。此外,还应该了解,虽然开发工作有可能是非常复杂和费时的,但对得益于本公开内容的本领域技术人员来说,这种开发工作仅仅是例行的任务。
[0019] 在此,还需要说明的一点是,为了避免因不必要的细节而模糊了本发明,在附图中仅仅示出了与根据本发明的方案密切相关的装置结构和/或处理步骤,而省略了与本发明关系不大的其他细节。另外,还需要指出的是,在本发明的一个附图或一种实施方式中描述的元素和特征可以与一个或更多个其它附图或实施方式中示出的元素和特征相结合。
[0020] 根据本发明的事件预测方法和事件预测设备不仅能够对有历史数据的事件进行预测,而且能够对无历史数据的事件进行预测。
[0021] 事件是预测的对象,与数量有关。举例来说,事件可以是一段时间内的某种图书的销售量、某个景点的人流量、某一饭店的客流量等。本发明不限于此,只要事件与数量有关,希望对事件进行预测即可。
[0022] 下面将参照图1描述根据本发明的实施例的事件预测方法的流程。
[0023] 图1示出了根据本发明的实施例的事件预测方法的流程图。如图1所示,根据本发明的事件预测方法包括如下步骤:针对待预测事件,选择与其同类别的参考事件(步骤S1);根据所述参考事件的预测模型,构建所述待预测事件的预测模型(步骤S2);以及基于所述待预测事件的特征数据,利用所构建的待预测事件的预测模型,对所述待预测事件进行预测(步骤S3)。
[0024] 如上所述,本发明能够对无历史数据的事件进行预测。由于无历史数据的事件缺乏事件本身的历史数据作为预测的基础,所以需要寻找其他的预测基础。
[0025] 本发明的发明人意识到:同类别的事件往往是相似的,它们具有相同或相似的特征,可以彼此借鉴。
[0026] 举例来说,一本图书一般都具有书名、作者、价格、类别、编辑推荐、内容推荐等特征。可以认为图书是同类别的事物。相应地,图书在某一时间段内的销量具有如上列举的特征。因此,如果将事件限定为图书在某一时间段内的销量,则一本尚未上线销售的图书可以借助于已经上线销售的图书来预测未来某一时间段内的销量。
[0027] 应注意,为了描述的形象和易于理解,本发明采用图书的销量作为事件的示例。本发明不限于此。与数量有关的事件均可比照本发明的实施例类似地利用本发明的方法和设备进行预测处理。
[0028] 在步骤S1中,针对待预测事件,选择与其同类别的参考事件。
[0029] 参考事件应具有历史数据。例如,参考事件是另一本图书的过去时间段的销量。
[0030] 如上所述,选择与待预测事件同一类别的参考事件帮助预测待预测事件。选择参考事件主要基于待预测事件与候选事件之间的特征,计算两者之间的相似度,作为选择的基准。
[0031] 具体地,图2示出了根据本发明的实施例的选择参考事件的方法的流程图。如图2所示,根据本发明的选择参考事件的方法包括如下步骤:计算所述待预测事件与同类别的候选事件的相似度(步骤S21);选择相似度最高的预定数量的候选事件,作为所述参考事件(步骤S22)。
[0032] 图3示出了根据本发明的另一实施例的选择参考事件的方法的流程图。如图3所示,根据本发明的选择参考事件的方法包括如下步骤:计算所述待预测事件与同类别的候选事件的相似度(步骤S31);选择相似度超过预定阈值的候选事件,作为所述参考事件(步骤S32)。
[0033] 步骤S21与步骤S31相同,都是计算待预测事件和同类别的候选事件的相似度,以利于从候选事件中挑选出参考事件。
[0034] 基于事件的特征计算事件之间的相似度的具体方法可以采用本领域已知的任何适当的相似度计算方法。
[0035] 优选地,将事件的特征作为向量的元素,以这样的向量构成向量空间。在这样的向量空间中,计算待预测事件的向量与候选事件的向量之间的相似度,作为待预测事件与候选事件的相似度。
[0036] 向量的相似度计算方法可以是计算向量之间的余弦夹角,作为相似度的值。也可以计算向量之间的距离的倒数,作为相似度的值。
[0037] 对于数值类型的特征,可以将数值作为特征值加入向量中。对于词类型的特征,可以将词本身作为特征值加入向量中。
[0038] 优选地,可以为词类型的特征赋予权重。权重例如可以通过tf/df计算,其中tf为词在本事件(特征)中出现的次数,df为多少个事件中包含该词。
[0039] 如果候选事件的向量的某个元素,即某个特征,待预测事件没有,则可以计算候选事件的向量的该元素的平均值作为待预测事件的向量的该元素的值,以便于计算相似度。
[0040] 以事件为图书的销量为例。
[0041] 图书的特征可以包括用户特征、网站特征、图书自身特征等。
[0042] 用户特征例如包括目标用户比例、用户评价等。
[0043] 图书的目标用户比例是一定时间段内的该图书的目标用户数量与该一定时间段内访问图书类网页的用户数量之比。图书的目标用户可以通过用户浏览过的图书的集合和该图书的相似度与相似度阈值作比较来判定。具体地,可以基于图书的特征,来计算用户浏览过的图书的集合与该图书的相似度。
[0044] 用户评价例如可以包括用户对图书的评价等级、以及给出相应评价等级的用户数量。评价等级例如是1星、2星、3星、4星、5星等。
[0045] 例如,可以采用如下方式将用户评价量化为数值。
[0046] X1=5*n5/n+4*n4/n+3*n3/n+2*n2/n+1*n1/n
[0047] n=n5+n4+n3+n2+n1
[0048] 其中,X1为用户评价,n1、n2、n3、n4、n5分别为给出1星、2星、3星、4星、5星的评价等级的用户数量,n为对该图书给出评价等级的用户总数。
[0049] 图书的网站特征是指销售图书的网站相关的图书特征。例如包括:推荐率、被放置在网站首页的置顶天数等。
[0050] 图书的推荐率可以根据由网站关于该图书和关于与该图书相关的其它图书给出的推荐率计算。具体地,网站一般都具有绑定推荐的功能,即在一个图书的页面内向用户推荐与该图书相关的图书。当然,在其它图书的页面内也可能推荐该图书。相应地,每个图书有其本身的一个推荐率。可以计算与该图书相关的图书的推荐率的平均值作为该图书的推荐率值,也可以利用该图书本身的推荐率值,还可以计算与该图书相关的图书的推荐率和该图书本身的推荐率的平均值,作为该图书的推荐率值。
[0051] 图书被放置在网站首页的置顶天数越高,图书的销量可能越大。因此,可以将这一点也作为图书的特征进行考量。
[0052] 图书自身特征例如包括同类书籍中的排名、价格、质量等。
[0053] 排名可以影响图书被关注的程度,排名越靠前,销量可能越高。质量可由出版社给出,例如根据纸张等因素给出。
[0054] 应理解,特征数据在使用时需经过预处理进行标准化和/或量化。
[0055] 在步骤S22和步骤S32中,根据所计算的相似度从候选事件中选择参考事件。
[0056] 一种方式是选择相似度最高的预定数量的候选事件,优点是可以控制候选事件的数量。优选地,预定数量等于5。
[0057] 另一种方式是选择相似度超过预定阈值的候选事件,优点是可以利用更多的可靠参考。
[0058] 在步骤S2中,根据参考事件的预测模型,构建待预测事件的预测模型。
[0059] 预测模型是基于事件的特征数据对事件进行预测的模型。特征数据是事件的特征的数据。
[0060] 预测模型可以是线性模型,也可以是非线性模型。
[0061] 线性模型的示例是事件为特征数据的线性组合,即事件是因变量,特征数据是自变量,因变量是自变量的线性组合。此时,模型参数是线性组合的系数。
[0062] 预测模型的选取并不受特别的限制,只要能够根据特征数据计算出事件的估计值即可。
[0063] 参考事件的预测模型的训练方法例如是:首先,针对参考事件,收集在过去特定时段内的特征数据和数量(参考事件在过去的数量取值);然后,利用特征数据和数量,训练参考事件的预测模型,以得到模型的参数(例如,线性组合的系数)。
[0064] 以预测模型为线性组合模型为例。
[0065] 假定Y为事件的取值,b0为常数项,b1、b2、……、bn为线性组合的系数,X1、X2、……、Xn为特征数据,e为误差。
[0066] 模型可表示为:Y=b0+X1b1+X2b2+…+Xnbn+e
[0067] b1表征X1每增加一个单位对Y的效应,b2表示X2每增加一个单位对Y的效应,等等。
[0068] 根据过去的历史数据,可以获知Y、X1、X2、......、Xn的值,通过使得误差平方和2
(Σe)最小化,求得b0、b1、b2、……、bn的取值。
[0069] 顺便提及,上面提到图书的目标用户可以通过用户浏览过的图书的集合和该图书的相似度与相似度阈值作比较来判定。可以在训练步骤中,采用如下准则来确定该相似度阈值:具有高于相似度阈值的相似度的用户的数量等于实际购买该图书的用户数量。
[0070] 经训练的参考事件的预测模型可以用来基于参考事件的将来的特征数据,对将来的参考事件进行预测。
[0071] 举例来说,待预测的是一本图书在将来某一时间段内的销量,将来的特征数据之一是在将来的该时间段内该图书的广告是否放置在网站的首页。
[0072] 经训练的参考事件的预测模型更重要的作用是用来构建同类型的待预测事件的预测模型。
[0073] 由于同类别的事件对应于具有相同参数的同类预测模型,所以需要根据参考事件的预测模型的参数值,计算待预测事件的预测模型的参数值,并基于所计算的参数值,构建待预测事件的预测模型。
[0074] 根据项目的已有参数值,计算类似的项目的参数值可以采取本领域技术人员已知的任何适当方法。
[0075] 举例来说,可以计算参考事件的预测模型的参数值的算术平均值,作为待预测事件的预测模型的参数值。
[0076] 也可以将待预测事件与参考事件的相似度作为权重,计算参考事件的预测模型的参数值的加权平均值,作为待预测事件的预测模型的参数值。
[0077] 这样,在步骤S2中,基于已训练好的参考事件的预测模型的参数值,构建了待预测事件的预测模型。
[0078] 从而,在步骤S3中,可以利用所构建的待预测事件的预测模型,基于待预测事件的特征数据对待预测事件进行预测。
[0079] 由于预测模型是基于特征数据计算的现成模型,所以仅需提供待预测事件的特征数据给预测模型,就能得到预测结果。当所提供的特征数据是过去的特征数据时,预测结果是过去的事件;当所提供的特征数据是现在的特征数据时,预测结果是现在的事件;当所提供的特征数据是未来的特征数据时,预测的结果是将来的事件。
[0080] 特别地,虽然待预测事件与参考事件存在较高的相似度,但是也可能出现待预测事件不具有预测模型所需的某些特征数据的情况。
[0081] 在这种情况下,可以对于这部分特征数据,计算参考事件的相应特征数据的取值的均值,作为待预测事件的特征数据,用于对待预测事件进行预测。
[0082] 下面,将参照图4描述根据本发明实施例的事件预测设备。
[0083] 图4示出了根据本发明实施例的事件预测设备的结构方框图。如图4所示,根据本发明的事件预测设备400包括:参考事件选择装置41,被配置为:针对待预测事件,选择与其同类别的参考事件;预测模型构建装置42,被配置为:根据所述参考事件的预测模型,构建所述待预测事件的预测模型;以及预测装置43,被配置为:基于所述待预测事件的特征数据,利用所构建的待预测事件的预测模型,对所述待预测事件进行预测。
[0084] 在一个实施例中,所述事件与数量有关,所述待预测事件没有历史数据。
[0085] 在一个实施例中,所述参考事件选择装置41包括:相似度计算单元,被配置为:计算所述待预测事件与同类别的候选事件的相似度;选择单元,被配置为:选择相似度最高的预定数量的候选事件,作为所述参考事件。
[0086] 在一个实施例中,所述参考事件选择装置41包括:相似度计算单元,被配置为:计算所述待预测事件与同类别的候选事件的相似度;选择单元,被配置为:选择相似度超过预定阈值的候选事件,作为所述参考事件。
[0087] 在一个实施例中,所述相似度计算单元被进一步配置为:在事件的特征数据作为元素的向量的向量空间中,计算所述待预测事件的向量与所述候选事件的向量之间的相似度,作为所述待预测事件与所述候选事件的相似度。
[0088] 在一个实施例中,同类别的事件对应于具有相同参数的同类预测模型,所述预测模型构建装置42包括:参数值计算单元,被配置为:根据所述参考事件的预测模型的参数值,计算所述待预测事件的预测模型的参数值;预测模型构建单元,被配置为:基于所计算的参数值,构建所述待预测事件的预测模型。
[0089] 在一个实施例中,所述参数值计算单元被进一步配置为:计算参考事件的预测模型的参数值的算术平均值或利用待预测事件与参考事件的相似度加权的平均值,作为所述待预测事件的预测模型的参数值。
[0090] 在一个实施例中,所述参数值计算单元被进一步配置为:对于所述待预测事件的预测模型中的、除所述待预测事件的特征数据之外的特征数据,计算所述参考事件的相应特征数据的均值,用于对所述待预测事件进行预测。
[0091] 在一个实施例中,所述预测模型是所述特征数据的线性组合,所述模型的参数是线性组合的系数。
[0092] 在一个实施例中,所述参考事件与数量有关,所述参考事件有历史数据,所述事件预测设备还包括预测模型训练装置,被配置为:针对所述参考事件,收集在过去特定时段内的特征数据和数量;利用所述特征数据和数量,训练所述参考事件的预测模型,以得到模型的参数。
[0093] 在一个实施例中,事件预测设备400还包括参考预测单元,被配置为:基于所述参考事件的将来的特征数据,利用所述参考事件的预测模型,对将来的所述参考事件进行预测。
[0094] 由于在根据本发明的事件预测设备400中所包括的各个装置和单元中的处理分别与上面描述的事件预测方法中所包括的各个步骤中的处理类似,因此为了简洁起见,在此省略这些装置和单元的详细描述。
[0095] 此外,这里尚需指出的是,上述设备中各个组成装置、单元可以通过软件、固件、硬件或其组合的方式进行配置。配置可使用的具体手段或方式为本领域技术人员所熟知,在此不再赘述。在通过软件或固件实现的情况下,从存储介质或网络向具有专用硬件结构的计算机(例如图5所示的通用计算机500)安装构成该软件的程序,该计算机在安装有各种程序时,能够执行各种功能等。
[0096] 图5示出了可用于实施根据本发明实施例的方法和设备的计算机的示意性框图。
[0097] 在图5中,中央处理单元(CPU)501根据只读存储器(ROM)502中存储的程序或从存储部分508加载到随机存取存储器(RAM)503的程序执行各种处理。在RAM503中,还根据需要存储当CPU501执行各种处理等等时所需的数据。CPU501、ROM502和RAM503经由总线504彼此连接。输入/输出接口505也连接到总线504。
[0098] 下述部件连接到输入/输出接口505:输入部分506(包括键盘、鼠标等等)、输出部分507(包括显示器,比如阴极射线管(CRT)、液晶显示器(LCD)等,和扬声器等)、存储部分508(包括硬盘等)、通信部分509(包括网络接口卡比如LAN卡、调制解调器等)。通信部分509经由网络比如因特网执行通信处理。根据需要,驱动器510也可连接到输入/输出接口505。可拆卸介质511比如磁盘、光盘、磁光盘、半导体存储器等等可以根据需要被安装在驱动器510上,使得从中读出的计算机程序根据需要被安装到存储部分508中。
[0099] 在通过软件实现上述系列处理的情况下,从网络比如因特网或存储介质比如可拆卸介质511安装构成软件的程序。
[0100] 本领域的技术人员应当理解,这种存储介质不局限于图5所示的其中存储有程序、与设备相分离地分发以向用户提供程序的可拆卸介质511。可拆卸介质511的例子包含磁盘(包含软盘(注册商标))、光盘(包含光盘只读存储器(CD-ROM)和数字通用盘(DVD))、磁光盘(包含迷你盘(MD)(注册商标))和半导体存储器。或者,存储介质可以是ROM502、存储部分508中包含的硬盘等等,其中存有程序,并且与包含它们的设备一起被分发给用户。
[0101] 本发明还提出一种存储有机器可读取的指令代码的程序产品。所述指令代码由机器读取并执行时,可执行上述根据本发明实施例的方法。
[0102] 相应地,用于承载上述存储有机器可读取的指令代码的程序产品的存储介质也包括在本发明的公开中。所述存储介质包括但不限于软盘、光盘、磁光盘、存储卡、存储棒等等。
[0103] 在上面对本发明具体实施例的描述中,针对一种实施方式描述和/或示出的特征可以以相同或类似的方式在一个或更多个其它实施方式中使用,与其它实施方式中的特征相组合,或替代其它实施方式中的特征。
[0104] 应该强调,术语“包括/包含”在本文使用时指特征、要素、步骤或组件的存在,但并不排除一个或更多个其它特征、要素、步骤或组件的存在或附加。
[0105] 此外,本发明的方法不限于按照说明书中描述的时间顺序来执行,也可以按照其他的时间顺序地、并行地或独立地执行。因此,本说明书中描述的方法的执行顺序不对本发明的技术范围构成限制。
[0106] 尽管上面已经通过对本发明的具体实施例的描述对本发明进行了披露,但是,应该理解,上述的所有实施例和示例均是示例性的,而非限制性的。本领域的技术人员可在所附权利要求的精神和范围内设计对本发明的各种修改、改进或者等同物。这些修改、改进或者等同物也应当被认为包括在本发明的保护范围内。
[0107] 附记
[0108] 1.一种事件预测方法,包括:
[0109] 针对待预测事件,选择与其同类别的参考事件;
[0110] 根据所述参考事件的预测模型,构建所述待预测事件的预测模型;以及[0111] 基于所述待预测事件的特征数据,利用所构建的待预测事件的预测模型,对所述待预测事件进行预测。
[0112] 2.如附记1所述的事件预测方法,其中,所述针对待预测事件选择与其同类别的参考事件包括:
[0113] 计算所述待预测事件与同类别的候选事件的相似度;
[0114] 选择相似度最高的预定数量的候选事件,作为所述参考事件。
[0115] 3.如附记1所述的事件预测方法,其中,所述针对待预测事件选择与其同类别的参考事件包括:
[0116] 计算所述待预测事件与同类别的候选事件的相似度;
[0117] 选择相似度超过预定阈值的候选事件,作为所述参考事件。
[0118] 4.如附记2或3所述的事件预测方法,其中,所述计算待预测事件与同类别的候选事件的相似度包括:
[0119] 在事件的特征数据作为元素的向量的向量空间中,计算所述待预测事件的向量与所述候选事件的向量之间的相似度,作为所述待预测事件与所述候选事件的相似度。
[0120] 5.如附记1所述的事件预测方法,其中,同类别的事件对应于具有相同参数的同类预测模型,
[0121] 所述根据参考事件的预测模型构建待预测事件的预测模型包括:
[0122] 根据所述参考事件的预测模型的参数值,计算所述待预测事件的预测模型的参数值;
[0123] 基于所计算的参数值,构建所述待预测事件的预测模型。
[0124] 6.如附记5所述的事件预测方法,其中,所述根据参考事件的预测模型的参数值计算待预测事件的预测模型的参数值包括:
[0125] 计算参考事件的预测模型的参数值的算术平均值或利用待预测事件与参考事件的相似度加权的平均值,作为所述待预测事件的预测模型的参数值。
[0126] 7.如附记1所述的事件预测方法,其中,对于所述待预测事件的预测模型中的、除所述待预测事件的特征数据之外的特征数据,计算所述参考事件的相应特征数据的均值,用于对所述待预测事件进行预测。
[0127] 8.如附记1所述的事件预测方法,其中,所述预测模型是所述特征数据的线性组合,所述模型的参数是线性组合的系数。
[0128] 9.如附记1所述的事件预测方法,其中,所述参考事件与数量有关,所述参考事件有历史数据,
[0129] 所述参考事件的预测模型通过如下步骤获得:
[0130] 针对所述参考事件,收集在过去特定时段内的特征数据和数量;
[0131] 利用所述特征数据和数量,训练所述参考事件的预测模型,以得到模型的参数。
[0132] 10.如附记1所述的事件预测方法,还包括:
[0133] 基于所述参考事件的将来的特征数据,利用所述参考事件的预测模型,对将来的所述参考事件进行预测。
[0134] 11.一种事件预测设备,包括:
[0135] 参考事件选择装置,被配置为:针对待预测事件,选择与其同类别的参考事件;
[0136] 预测模型构建装置,被配置为:根据所述参考事件的预测模型,构建所述待预测事件的预测模型;以及
[0137] 预测装置,被配置为:基于所述待预测事件的特征数据,利用所构建的待预测事件的预测模型,对所述待预测事件进行预测。
[0138] 12.如附记11所述的事件预测设备,其中,所述参考事件选择装置包括:
[0139] 相似度计算单元,被配置为:计算所述待预测事件与同类别的候选事件的相似度;
[0140] 选择单元,被配置为:选择相似度最高的预定数量的候选事件,作为所述参考事件。
[0141] 13.如附记11所述的事件预测设备,其中,所述参考事件选择装置包括:
[0142] 相似度计算单元,被配置为:计算所述待预测事件与同类别的候选事件的相似度;
[0143] 选择单元,被配置为:选择相似度超过预定阈值的候选事件,作为所述参考事件。
[0144] 14.如附记12或13所述的事件预测设备,其中,所述相似度计算单元被进一步配置为:
[0145] 在事件的特征数据作为元素的向量的向量空间中,计算所述待预测事件的向量与所述候选事件的向量之间的相似度,作为所述待预测事件与所述候选事件的相似度。
[0146] 15.如附记11所述的事件预测设备,其中,同类别的事件对应于具有相同参数的同类预测模型,
[0147] 所述预测模型构建装置包括:
[0148] 参数值计算单元,被配置为:根据所述参考事件的预测模型的参数值,计算所述待预测事件的预测模型的参数值;
[0149] 预测模型构建单元,被配置为:基于所计算的参数值,构建所述待预测事件的预测模型。
[0150] 16.如附记15所述的事件预测设备,其中,所述参数值计算单元被进一步配置为:
[0151] 计算参考事件的预测模型的参数值的算术平均值或利用待预测事件与参考事件的相似度加权的平均值,作为所述待预测事件的预测模型的参数值。
[0152] 17.如附记11所述的事件预测设备,其中,所述参数值计算单元被进一步配置为:对于所述待预测事件的预测模型中的、除所述待预测事件的特征数据之外的特征数据,计算所述参考事件的相应特征数据的均值,用于对所述待预测事件进行预测。
[0153] 18.如附记11所述的事件预测设备,其中,所述预测模型是所述特征数据的线性组合,所述模型的参数是线性组合的系数。
[0154] 19.如附记11所述的事件预测设备,其中,所述参考事件与数量有关,所述参考事件有历史数据,
[0155] 所述事件预测设备还包括预测模型训练装置,被配置为:
[0156] 针对所述参考事件,收集在过去特定时段内的特征数据和数量;
[0157] 利用所述特征数据和数量,训练所述参考事件的预测模型,以得到模型的参数。
[0158] 20.如附记11所述的事件预测设备,还包括:
[0159] 参考预测单元,被配置为:基于所述参考事件的将来的特征数据,利用所述参考事件的预测模型,对将来的所述参考事件进行预测。