一种基于隐马尔可夫模型的消费者线下消费行为预测方法技术

技术编号:17009058 阅读:36 留言:0更新日期:2018-01-11 05:09
本发明专利技术涉及一种基于隐马尔可夫模型的消费者线下消费行为预测方法,包括如下步骤:步骤一、数据预处理得到观测序列;步骤二、初始化隐马尔可夫模型;步骤三、使用Baum‑Welch算法和观测序列(o1o2...ot)对模型进行迭代;步骤四、使用Viterbi算法和训练好的模型,计算观测序列(o1o2...ot)对应的最优的状态序列,然后预测t+1时刻的最有可能的状态yt+1,然后计算t+1时刻概率最大的观测值;步骤五、通过计算的t+1时刻概率最大的观测值ot+1并对照商家编号即可得到消费者在t+1时刻最有可能消费的线下商店shopt+1。本发明专利技术的有益效果是:提供了一种基于隐马尔可夫模型的消费者线下消费行为的预测方法,使用概率图模型更加准确高效地对不同用户的线下消费行为进行预测。

【技术实现步骤摘要】
一种基于隐马尔可夫模型的消费者线下消费行为预测方法
本专利技术涉及一种基于隐马尔可夫模型的消费者线下消费行为的预测方法,主要是一种对消费者历史线下消费数据进行处理,通过隐马尔可夫模型预测该用户未来最有可能消费的线下商店的方法。
技术介绍
随着电子商务的不断发展,O2O模式和手机移动支付也在迅速的发展。用户在线下消费时会产生大量的消费数据,这些数据中包含了很多有用的信息。通过分析这些信息,可以分析各个消费者的消费习惯从而预测消费者未来可能的消费行为,这对给用户提供更好的个性化推荐服务和商家优化经营和管理策略都是非常重要的。如何更好的利用历史消费数据从而有效快速地预测消费者未来的消费行为,是本领域技术人员急需解决的问题。
技术实现思路
本专利技术的目的是克服现有技术中的不足,提供一种基于隐马尔可夫模型的消费者线下消费行为的预测方法。基于隐马尔可夫模型的消费者线下消费行为预测方法,包括如下步骤:步骤一、数据预处理得到观测序列:抽取消费者的长度为t的历史商家消费数据{shop1,shop2,…,shopt}并对消费者的历史消费线下商家进行编号;然后根据时间顺序把消费数据按照商家编号转换成观测值序列(o1o2…ot);步骤二、初始化隐马尔可夫模型:通过一个三元组参数确定一个隐马尔可夫模型,λ=(A,B,π)指代,分别包含转移矩阵A、混淆矩阵B和初始状态矩阵π;给参数A,B,π置随机初始值λ=(A1,B1,π1);步骤三、使用Baum-Welch算法和观测序列(o1o2…ot)对模型进行迭代:已知观测序列O=(o1o2…oT),估计参数模型λ=(A,B,π),使得该模型下观测概率P=(O|λ)最大;Baum-Welch算法具体步骤:输入:观测数据O=(o1,o2…oT)输出:隐马尔可夫模型参数(1)初始化:对于n=0,选取得到模型λ(0)=(A(0),B(0),π(0))(2)递推,对于n=1,2,…,其中,αij=P(yt+1=Sj|yt=Si)bij=P(xt=Oj|yt=Si)πi=P(y1=Si),αt(i)为前向变量,即输出为(o1,o2,…ot),在t时刻位于状态Si的概率;βt(i)为后向变量,即时刻t状态为Si后输出为(ot+1,ot+2…oT)的概率;(3)终止,得到模型参数λ(n+1)=(A(n+1),B(n+1),π(n+1))步骤四、使用Viterbi算法和训练好的模型,计算观测序列(o1o2…ot)对应的最优的状态序列;然后预测t+1时刻的最有可能的状态yt+1,然后计算t+1时刻概率最大的观测值;Viterbi算法具体步骤:输入:观测数据o=(o1,o2…oT)输出:隐马尔可夫模型参数输出:最优隐状态概率I=(i1,i2…iT)(1)初始化:δ1(i)=πibi(o1),1≤i≤Nψ1(i)=0(2)递推,对于t=2,3,…,T其中,δt(i)是Viterbi变量,ψt(i)是路径记忆变量;(3)终止,(4)回溯最优路径,t=T-1,T-2,…,1it=ψt+1(it+1);步骤五、通过计算的t+1时刻概率最大的观测值ot+1并对照商家编号即可得到消费者在t+1时刻最有可能消费的线下商店shopt+1。作为优选:步骤二中,隐马尔可夫模型参数包括三元组λ=(A,B,π),具体含义:转移矩阵其中aij=P(yt+1=Sj|yt=Si)(1≤i,j≤N)表示t时刻状态是Si且t+1时刻状态是Sj的概率;混淆矩阵其中bij=P(xt=Oj|yt=Si)(1≤i≤N,1≤j≤M)表示t时刻状态是Si且观测值是时刻状态是Oj的概率;初始状态矩阵πi=P(y1=Si),1≤i≤N其中πi表示在初始t=1时刻状态是Si的概率。作为优选:步骤三中,隐马尔可夫模型中的变量分为2组;第一组是状态变量Y={y1,y2,…,yn},其中yi表示第i时刻的系统状态;假定状态是隐藏的、不可被观测的;第二组是观测值变量X={x1,x2,…,xn},其中xi表示第i时刻的观测值;在隐马尔可夫模型中,系统在多个状态S={s1,s2,…,sN}之间转换,因此状态变量yi的取值范围为N个取值的离散空间。本专利技术的有益效果是:提供了一种基于隐马尔可夫模型的消费者线下消费行为的预测方法,使用概率图模型更加准确高效地对不同用户的线下消费行为进行预测。附图说明图1是本方法流程图;图2是隐马尔可夫模型示意图;图3是实验性能比较图。具体实施方式下面结合实施例对本专利技术做进一步描述。下述实施例的说明只是用于帮助理解本专利技术。应当指出,对于本
的普通技术人员来说,在不脱离本专利技术原理的前提下,还可以对本专利技术进行若干改进和修饰,这些改进和修饰也落入本专利技术权利要求的保护范围内。如图1所示,本实施方式中的基于隐马尔可夫模型的消费者线下消费行为预测方法,其步骤如下:1.数据预处理得到观测序列:抽取消费者的长度为t的历史商家消费数据{shop1,shop2,…,shopt}并对消费者的历史消费线下商家进行编号。然后根据时间顺序把消费数据按照商家编号转换成观测值序列(o1o2…ot)2.初始化隐马尔可夫模型:通过一个三元组参数就能确定一个隐马尔可夫模型,通常λ=(A,B,π)指代,分别包含转移矩阵A、混淆矩阵B和初始状态矩阵π。初始化一个隐马尔可夫模型即给参数A,B,π置随机初始值λ=(A1,B1,π1)。3.使用Baum-Welch算法和观测序列(o1o2…ot)对模型进行迭代:如图2所示,隐马尔可夫模型中的变量可分为2组。第一组是状态变量Y={y1,y2,…,yn},其中yi表示第i时刻的系统状态。通常假定状态是隐藏的、不可被观测的,因此状态变量也被称为隐变量。第二组是观测值变量X={x1,x2,…,xn},其中xi表示第i时刻的观测值。在隐马尔可夫模型中,系统通常在多个状态S={s1,s2,…,sN}之间转换,因此状态变量yi的取值范围通常是有N个取值的离散空间。Baum-Welch算法是为了解决隐马尔可夫模型的参数估计问题而提出的。具体来说就是已知观测序列O=(o1o2…oT),估计参数模型λ=(A,B,π),使得该模型下观测概率P=(O|λ)最大。Baum-Welch算法具体步骤:输入:观测数据O=(o1,o2…oT)输出:隐马尔可夫模型参数(1)初始化:对于n=0,选取得到模型λ(0)=(A(0),B(0),π(0))(2)递推,对于n=1,2,…,其中,aij=P(yt+1=Sj|yt=Si)bij=P(xt=Oj|yt=Si)πi=P(y1=Si),αt(i)为前向变量,即输出为(o1,o2…ot),在t时刻位于状态Si的概率;βt(i)为后向变量,即时刻t状态为Si后输出为(ot+1,ot+2…oT)的概率。(3)终止,得到模型参数λ(n+1)=(A(n+1),B(n+1),π(n+1))4.使用Viterbi算法和训练好的模型,计算观测序列(o1o2…ot)对应的最优的状态序列。然后预测t+1时刻的最有可能的状态yt+1,然后计算t+1时刻概率最大的观测值。Viterbi算法是一种动态规划算法,可用于为给定的观测序列和模型找到最有可能的隐藏状态序列。Viterbi算法具体步骤:输入:观测数据O=(o1,o2…oT)输出:隐马尔可夫模本文档来自技高网
...
一种基于隐马尔可夫模型的消费者线下消费行为预测方法

【技术保护点】
一种基于隐马尔可夫模型的消费者线下消费行为预测方法,其特征在于:包括如下步骤:步骤一、数据预处理得到观测序列:抽取消费者的长度为t的历史商家消费数据{shop1,shop2,...,shopt}并对消费者的历史消费线下商家进行编号;然后根据时间顺序把消费数据按照商家编号转换成观测值序列(o1o2...ot);步骤二、初始化隐马尔可夫模型:通过一个三元组参数确定一个隐马尔可夫模型,λ=(A,B,π)指代,分别包含转移矩阵A、混淆矩阵B和初始状态矩阵π;给参数A,B,π置随机初始值λ=(A1,B1,π1);步骤三、使用Baum‑Welch算法和观测序列(o1o2...ot)对模型进行迭代:已知观测序列O=(o1o2...oT),估计参数模型λ=(A,B,π),使得该模型下观测概率P=(O|λ)最大;Baum‑Welch算法具体步骤:输入:观测数据O=(o1,o2...oT)输出:隐马尔可夫模型参数1)初始化:对于n=0,选取

【技术特征摘要】
1.一种基于隐马尔可夫模型的消费者线下消费行为预测方法,其特征在于:包括如下步骤:步骤一、数据预处理得到观测序列:抽取消费者的长度为t的历史商家消费数据{shop1,shop2,...,shopt}并对消费者的历史消费线下商家进行编号;然后根据时间顺序把消费数据按照商家编号转换成观测值序列(o1o2...ot);步骤二、初始化隐马尔可夫模型:通过一个三元组参数确定一个隐马尔可夫模型,λ=(A,B,π)指代,分别包含转移矩阵A、混淆矩阵B和初始状态矩阵π;给参数A,B,π置随机初始值λ=(A1,B1,π1);步骤三、使用Baum-Welch算法和观测序列(o1o2...ot)对模型进行迭代:已知观测序列O=(o1o2...oT),估计参数模型λ=(A,B,π),使得该模型下观测概率P=(O|λ)最大;Baum-Welch算法具体步骤:输入:观测数据O=(o1,o2...oT)输出:隐马尔可夫模型参数1)初始化:对于n=0,选取得到模型λ(0)=(A(0),B(0),π(0))2)递推,对于n=1,2,...,其中,aij=P(yt+1=Sj|yt=Si)bij=P(xt=Oj|yt=Si)πi=P(y1=Si),αt(i)为前向变量,即输出为(o1,o2...ot),在t时刻位于状态Si的概率;βt(i)为后向变量,即时刻t状态为...

【专利技术属性】
技术研发人员:郑增威周燕真孙霖
申请(专利权)人:浙江大学城市学院
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1