一种船舶维修费预测方法技术

技术编号:36078855 阅读:18 留言:0更新日期:2022-12-24 10:51
本发明专利技术公开了一种船舶维修费预测方法,包括如下步骤:S1、获取船舶维修费的原始数据,利用K均值法对原始数据进行聚类处理;S2、建立支持向量机模型,利用步骤S1中聚类处理后的数据建立训练集,并结合贝叶斯优化算法,对支持向量机模型进行训练,以优化支持向量机模型中的损失函数值c和核函数gamma值,使优化后的支持向量机模型的预测结果的平均相对误差最小;S3、利用步骤S2中优化后的支持向量机模型实现船舶维修费预测。本发明专利技术使用贝叶斯优化确定支持向量机的参数,省去了繁琐的设置,减少了计算消耗;同时,使用K均值聚类将原始数据分类,按类进行训练和预测,显著减少了结果的波动性,该方法具有的实用性、科学性和有效性。科学性和有效性。科学性和有效性。

【技术实现步骤摘要】
一种船舶维修费预测方法


[0001]本专利技术涉及费用预测
,尤其是涉及一种船舶维修费预测方法。

技术介绍

[0002]舰船维修费受建造费、使用年限、动力类型、排水量、舰船尺寸等自身多方面因素影响,即使是同一类型的舰船,使用强度、所处海域、管理保养情况以及搭载的系统的不同,其维修费用也会不尽相同。由于我国舰船维修费预测相关研究起步较晚,历史数据积累较少,决定了其预测是一个高维度、小样本的复杂问题。可见,船舶维修费预测,具有影响因素多,结构复杂,维修数据样本少等特点,这些特点会导致出现预测精度不高。
[0003]支持向量机(SVM)是一种高效的预测工具,对处理这类的数据具有优异的性能,相较回归分析和神经网络,不需要大量样本数据,很适合作为维修费预测的工具。在船舶维修费预测领域,支持向量机是应用较为广泛的一种方法,但其参数确定是一个难题,根据样本的不同,需要对参数进行相应的设置,以获得更好的预测效果。通常做法是使用网格搜索法、粒子群算法、遗传算法等方式进行寻优,但网格搜索法耗时巨大,粒子群和遗传算法结果不够稳定,同时,当样本数据分布不均匀时,支持向量机的预测结果会收到很大影响,造成预测结果偏差较大。

技术实现思路

[0004]为解决上述
技术介绍
中提出的问题,本专利技术采取的技术方案为:
[0005]一种船舶维修费预测方法,包括如下步骤:
[0006]S1、获取船舶维修费的原始数据,利用K均值法对原始数据进行聚类处理;
[0007]S2、建立支持向量机模型,利用步骤S1中聚类处理后的数据建立训练集,并结合贝叶斯优化算法,对支持向量机模型进行训练,以优化支持向量机模型中的损失函数值c和核函数gamma值,使优化后的支持向量机模型的预测结果的平均相对误差最小;
[0008]S3、利用步骤S2中优化后的支持向量机模型实现船舶维修费预测。
[0009]在一些实施例中,在步骤S1中,利用K均值法对原始数据进行聚类处理时,首先确定K值,将不同的K值所对应的损失函数画成折线,横轴为K的取值,纵轴为误差平方和所定义的损失函数,拐点即为K的最佳值;
[0010]然后,以确定的K的最佳值作为聚类个数,完成聚类处理,从而将原始数据分为多个不同类型,后续步骤中对不同类型的数据分别进行处理。
[0011]在一些实施例中,步骤S2中,优化支持向量机模型中的损失函数值c和核函数gamma值的步骤具体包括:
[0012]首先,利用贝叶斯优化算法,构造一个关于损失函数值c和核函数gamma值的代理函数,代理函数的趋势通过高斯分布来模拟,且代理函数值表示维修费预测结果与实际值之间的误差,代理函数值越小表示损失函数值c和核函数gamma值的取值越优;
[0013]然后,通过贝叶斯优化算法的采样函数,不断尝试在预设的损失函数值c和核函数
gamma值的取值范围内进行取值,并与代理函数进行迭代处理;
[0014]最后,当达到预设的迭代次数后,或使代理函数值小于预设阈值后,以代理函数最小值对应的的损失函数值c和核函数gamma值作为最终确定的优化后的值。
[0015]在一些实施例中,步骤S2中,预设的损失函数值c的取值范围为[0.0001,10000],核函数gamma的取值范围为[0.00000001,1],预设的最大迭代次数为100次。
[0016]在一些实施例中,在步骤S2后,步骤S3前,还包括如下步骤:利用步骤S1中聚类处理后的数据建立测试集,利用测试集中的数据验证步骤S2中优化后的支持向量机模型的预测效果。
[0017]与现有技术相比,本专利技术的有益效果是:
[0018]本专利技术提供的船舶维修费预测方法,采用K均值法对原始数据进行聚类,消除分布不均对结果的影响;采用贝叶斯优化对支持向量机的参数进行寻优,结合船舶装备维修费用的独有特点,对当前运用较为广泛的支持向量机预测方法加以优化,改变了以往仅凭个人经验确定支持向量机参数的现象,大幅提升了预测精度。与现有技术中的预测方法相比,本专利技术使用贝叶斯优化确定支持向量机的参数,省去了繁琐的设置,减少了计算消耗;同时,使用K均值聚类将原始数据分类,按类进行训练和预测,显著减少了结果的波动性,该方法具有的实用性、科学性和有效性。
附图说明
[0019]图1为本专利技术提供的船舶维修费预测方法的示意图。
具体实施方式
[0020]为使本专利技术实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合附图和具体实施方式,进一步阐述本专利技术是如何实施的。
[0021]在一个具体实施例中,参照图1所示,本专利技术提供了一种船舶维修费预测方法,包括如下步骤:
[0022]S1、获取船舶维修费的原始数据,利用K均值法对原始数据进行聚类处理。
[0023]具体地,步骤S1中,利用K均值法对原始数据进行聚类处理时,首先确定K值,将不同的K值所对应的损失函数画成折线,横轴为K的取值,纵轴为误差平方和所定义的损失函数,拐点即为K的最佳值;然后,以确定的K的最佳值作为聚类个数,完成聚类处理,从而将原始数据分为多个不同类型,后续步骤中对不同类型的数据分别进行处理。
[0024]S2、建立支持向量机模型,利用步骤S1中聚类处理后的数据建立训练集,并结合贝叶斯优化算法,对支持向量机模型进行训练,以优化支持向量机模型中的损失函数值c和核函数gamma值,使优化后的支持向量机模型的预测结果的平均相对误差最小。
[0025]步骤S2中,优化支持向量机模型中的损失函数值c和核函数gamma值的步骤具体包括:首先,利用贝叶斯优化算法,构造一个关于损失函数值c和核函数gamma值的代理函数,代理函数的趋势通过高斯分布来模拟,且代理函数值表示维修费预测结果与实际值之间的误差,代理函数值越小表示损失函数值c和核函数gamma值的取值越优;然后,通过贝叶斯优化算法的采样函数,不断尝试在预设的损失函数值c和核函数gamma值的取值范围内进行取值,并与代理函数进行迭代处理;最后,当达到预设的迭代次数后,或使代理函数值小于预
设阈值后,以代理函数最小值对应的的损失函数值c和核函数gamma值作为最终确定的优化后的值。
[0026]S3、利用步骤S2中优化后的支持向量机模型实现船舶维修费预测。
[0027]另外,在步骤S2后,步骤S3前,还可如下步骤:利用步骤S1中聚类处理后的数据建立测试集,利用测试集中的数据验证步骤S2中优化后的支持向量机模型的预测效果。
[0028]在一个具体实施例中,支持向量机在使用中对结果影响较大的参数有损失函数值c、核函数gamma值,预测工具采用libsvm工具包,以8∶2的比例将数据样本划分为训练集和测试集。工具包设置为:类型选择svr,核函数采用rbf,其余设置全部采用默认值,评估指标为相对误差,结果为0.5673,误差很高。可见,libsvm工具包并不能不经设置直接使用,这些参数大多并无明显规律,通过手动设置十分依赖使用人的经验,往往效果不本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种船舶维修费预测方法,其特征在于,包括如下步骤:S1、获取船舶维修费的原始数据,利用K均值法对原始数据进行聚类处理;S2、建立支持向量机模型,利用步骤S1中聚类处理后的数据建立训练集,并结合贝叶斯优化算法,对支持向量机模型进行训练,以优化支持向量机模型中的损失函数值c和核函数gamma值,使优化后的支持向量机模型的预测结果的平均相对误差最小;S3、利用步骤S2中优化后的支持向量机模型实现船舶维修费预测。2.根据权利要求1所述的船舶维修费预测方法,其特征在于,在步骤S1中,利用K均值法对原始数据进行聚类处理时,首先确定K值,将不同的K值所对应的损失函数画成折线,横轴为K的取值,纵轴为误差平方和所定义的损失函数,拐点即为K的最佳值;然后,以确定的K的最佳值作为聚类个数,完成聚类处理,从而将原始数据分为多个不同类型,后续步骤中对不同类型的数据分别进行处理。3.根据权利要求1所述的船舶维修费预测方法,其特征在于,步骤S2中,优化支持向量机模型中的损失函数值c和核函数gamma值的步骤具体包括:首先,利用贝叶斯...

【专利技术属性】
技术研发人员:杨洋蒋国萍訾书宇
申请(专利权)人:蒋国萍訾书宇
类型:发明
国别省市:

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

1