欢迎来到知嘟嘟! 联系电话:13336804447 卖家免费入驻,海量在线求购! 卖家免费入驻,海量在线求购!
知嘟嘟
我要发布
联系电话:13336804447
知嘟嘟经纪人
收藏
专利号: 2018108893756
申请人: 浙江工业大学
专利类型:发明专利
专利状态:已下证
专利领域: 计算;推算;计数
更新日期:2024-01-05
缴费截止日期: 暂无
价格&联系人
年费信息
委托购买

摘要:

权利要求书:

1.基于Spark大数据平台的电瓶车用户行为习惯分析方法,包括如下步骤:

1)采集安装在每辆电瓶车上传感器的状态数据,包括行驶平均速度、放电时间、充放电次数和电压值,其中电压字段用于对电瓶车类型分类,具体如下:(1.1)在采集数据之前先搭建大数据存储框架HDFS用于存储传感器采集的电瓶车状态历史数据,其中HDFS是一个分布式文件系统;

(1.2)搭建Spark大数据平台,并进行相关配置与HDFS进行整合,以便使得前者能正常访问或者操作后者存储的历史数据。

2)在大数据Spark平台上调用K-Means聚类算法接口对电瓶车用户数据集进行聚类,根据设定参数k而得出的聚簇集合为A(k),具体表示为 其中步骤2)具体包括:

(2.1)在调用接口进行K-Means算法聚类之前,确保数据集转化为向量标签结构如{[avgspe,chargetims]},其中avgspe表示电瓶车平均速度,chargetims表示电池充放电次数;另外,还需要确定距离度量方法和代价函数,一般距离度量选择常用的是欧几里得距离,其公式如下:其中,d(pi,pj)表示对象pi和pj之间的距离,pi和pj分别表示两个d维数据对象pi=(pi1,pi2,...,pid),pj=(pj1,pj2,...,pjd)。

代价函数的公式可表示成:

其中,ui表示簇Ci的中心点, 聚类的目标是最小化这个代价函数,使得每个数据对象x和最近的聚类中心ui的欧几里得距离的平方和最小。

(2.2)使用Spark平台上SparkMLlib库中封装好的接口org.apache.spark.mllib.clustering.KMeans中的train方法对数据集进行聚类,其中train方法需要设置迭代的次数,运行的时间和聚类数k参数;接着,通过KMeansModel类中的clusterCenters属性获取到模型的所有聚类中心情况,如集合A(k)所示;

3)在大数据Spark平台上调用编写的DBSCAN聚类算法对上述电瓶车用户数据集再次进行聚类,得出聚簇集合B(k),具体表示为 具体包括:(3.1)在调用接口进行DBSCAN算法聚类之前,确保数据集转化为向量标签结构,其中标签属性和数量与K-Means算法所需的相同;

(3.2)调用DBSCAN算法对数据集进行聚类,其中需要利用公式(3)和公式(4)确定Eps和(k)MinPts两个参数的值,获得聚类结果集B ;

Eps参数的公式为:

其中, 表示第n个簇集 中的任意两样本i和j之间的欧式距离,n=1,2,...,k;

另一参数MinPts的公式为:

其中,N为电瓶车用户的样本的个数;

4)使用联合Sorgenfrei相似系数来评价由K-Means算法和DBSCAN算法分别得到的两种聚类集合A(k)与B(k)的相似性指标。其中所述步骤4)中联合Sorgenfrei相似系数的公式为:其中, |Ai|表

示集合Ai的个数,S(Ai,Bj)表示原始的Sorgenfrei系数;

5)调整参数k,重复执行步骤2)~4);计算在不同簇参数k下由K-Means和DBSCAN这两种算法聚类结果的相似性系数,并选择当联合Sorgenfrei系数取得最大时的k值作为最优簇数,记为k′。其中所述步骤5)中最优簇参数的选择方法为:其中,c是取不同簇参数的经验值,S(A(k),B(k))由上述公式(5)计算而得;

6)输出当获得最优簇数k′时由K-Means算法和DBSCAN算法聚类而得的两种簇集合A(k′)与B(k′)的交集作为该类型电瓶车用户行为习惯的代表性特征;其中所述步骤6)中获取两种聚簇集合的交集计算公式为:。

2.如权利要求1所述方法,其特征在于,步骤4)中的联合Sorgenfrei相似系数是由原始的Sorgenfrei系数推导而得,具体方法如下:(2.1)原始的Sorgenfrei系数计算公式如下:

其中A和B分别代表两个不同的用户集合;

(2.2)在步骤(2.1)基础上,引伸出单一集合和集合序列之间的相似性,假设集合A和集合序列{B1,B2,...,Bn},S(A,{B1,B2,…,Bn})为集合A和集合序列{B1,B2,...,Bn}的联合Sorgenfrei相似系数,其公式如下:其中,对于每一个元素X,如果X∈Bi,那么 如果 那么P(Bi,X)=0。

(2.3)在公式(9)的基础上给出一个简单的近似,由此可得S(A,{B1,B2,...,Bk})的计算公式近似为:(i)

(2.4)进一步地,可引伸出两个集合序列之间的相似性,设集合序列A ={A1,A2,…,Ak|k∈[1,2,...,i]},其中 类似的,另一集合序列B(j)={B1,B2,…,Bn||n∈[1,2,...,j]},其中 于是,两个集合序列A(i)与B(j)的联合Sorgenfrei相似系数表示成S({A1,A2,…,Ak},{B1,B2,…,Bn}),其公式如下:其中, |Ai|表

示集合Ai的个数,S(Ai,Bj)表示原始Sorgenfrei系数,由上述公式(8)计算得出。