电工杯 游轮的定价.docx
《电工杯 游轮的定价.docx》由会员分享,可在线阅读,更多相关《电工杯 游轮的定价.docx(34页珍藏版)》请在冰豆网上搜索。
![电工杯 游轮的定价.docx](https://file1.bdocx.com/fileroot1/2023-2/2/6ac70d02-5802-4948-880d-f333354e6489/6ac70d02-5802-4948-880d-f333354e64891.gif)
电工杯游轮的定价
答卷编号:
论文题目:
基于预测的邮轮定价策略研究
姓名
专业、班级
有效联系电话
参赛队员1
徐罗凤
通信工程2班
参赛队员2
李俊江
信息与计算科学2011级1班
参赛队员3
王庚午
信息与计算科学2011级2班
指导教师:
杨柳
参赛学校:
湘潭大学
证书邮寄地址与收件人:
湘潭大学教务处考试中心肖虎程老师
答卷编号:
阅卷专家1
阅卷专家2
阅卷专家3
论文等级
基于预测的邮轮定价策略研究
摘要
本文考虑的是基于预测的邮轮定价策略研究。
我们建立了多个数学模型,并运用Matlab以与SPSS等相关软件对题中的各个问题进行了解答。
针对问题一,我们利用已知的每次航行的预定舱位人数序列,分别采用灰色理论G(1,1)模型、反向传播的BP神经网络模型、时间序列中的自回归移动平均模型(ARIMA)对每次航行的预定舱位人数进行预测,并对各预测模型的误差进行了分析。
预测结果与真实值相比表明:
灰色理论G(1,1)模型预测的准确率最低,ARIMA模型预测的准确率较好,反向传播的BP神经网络模型预测结果最好。
针对问题二,我们首先利用已知的每次航行的预定舱位人数序列,再采用反向传播的BP神经网络模型进行预测,得到了每次航行各周预订舱位的预测价格,完善了每次航行预定舱位价格表,结果见表4.2。
针对问题三,我们首先利用BP神经网络预测出意愿人数。
然后以人数、价格区间的中间值、航次为输入数据,以价格为输出再次建立BP神经网络,进而预测出给定预定价格区间和意愿预定人数下每次航行各周预订舱位的预定平均价格,结果见表5.2.2。
针对问题四,我们通过查阅相关文献得到了价格、预定人数、价格区间与实际需求之间的函数关系,然后推导出总收益与价格以与预定人数之间的函数关系。
最后,建立了最大预期售票收益与价格的二次函数关系模型。
在此基础上,计算出第8次航行的预期售票收益为元。
针对问题五,我们首先利用马氏链模型得到升舱意愿模型。
然后在此基础上,以最大收益为目标为公司设计了一种合理的升舱方案。
通过随机模拟得到升舱方案获得的最大收益在65000上下波动。
最后,我们对模型的优缺点以与模型的改进进行了分析。
关键词:
时间序列模型灰色预测BP神经网络ARIMA模型
多元线性回归模型马氏链模型
一、问题重述
近年来随着乘坐邮轮旅游的人数的不断增长,邮轮公司的发展也非常迅速。
为吸引更多的旅游者,给邮轮公司创造更多的收益,合理的定价成了需要探讨和解决的问题。
邮轮售票采用提前预订的方式,有效预定周期为出发前0周至14周,为了获得每次航行的预期售票收益,邮轮公司想利用历史数据来预测每次航行0周至14周的预定舱位人数、预订舱位的价格,为保证价格的平稳性,需要限定同一航次相邻两周之间价格浮动比,意愿预定人数转化为实际预定人数与定价方案密切相关。
已知某邮轮公司的某一艘邮轮有1200个舱位,舱位分为三种,头等舱位250个,二等舱位450个,三等舱位500个。
该邮轮每周往返一次,同一航次相邻两周之间价格浮动比不超过20%。
现给出10次航行的实际预订总人数、各航次每周实际预订人数非完全累积表、每次航行预订舱位价格表、各舱位每航次每周预订平均价格表与意愿预订人数表、每次航行升舱后最终舱位人数分配表。
1.预测每次航行各周预订舱位的人数,完善各航次每周实际预订人数非完全累积表,采用三种预测方法进行预测并分析结果。
2.预测每次航行各周预订舱位的价格,完善每次航行预订舱位价格表。
3.依据表4所提供的数据给出的每周预订价格区间以与每周意愿预订人数,预测出公司每周给出的预订平均价格。
4.依据表1到表4中所提供的数据,建立邮轮每次航行的最大预期售票收益模型,并计算第8次航行的预期售票收益。
5.在头等、二等舱位未满的情况下,游客登船后,可进行升舱。
请建立游客升舱意愿模型,为公司制定升舱方案使其预期售票。
二、模型假设与符号说明
2.1模型假设
1.国家社会稳定,一段时间邮轮公司的经营不会受社会动荡影响,邮轮公司的经济状况不会出现大的波动;
2.每个航次的出行都是相互独立的,互不影响;
3.题目所给的数据都是真实准确的;
4.游客预定各舱次是相互独立的随机事件,假设每种舱位每周预定价格在区间内服从均匀分布;
5.邮轮航行不受自然因素的影响。
2.2符号说明
符号
符合含义
最佳隐节点数。
均匀分布的概率分布函数和
邮轮在第
舱的总收益。
为第
舱等级第
周的意愿预定人数。
为第
舱等级第
周确定的价格。
A
头等舱增加的人数
B
三等舱减少的人数
三、问题一的分析、建模与求解
3.1问题一的分析
针对问题一:
问题要求我们至少采用三种预测方法预测每次航行各周预订舱位的人数,完善各航次每周实际预订人数非完全累积表sheet2。
我们根据sheet2中数据序列的信息,根据现有的预测方法和各预测方法的使用条件,最后选择了灰色预测G(1,1)模型,时间序列中的自回归移动平均模型(ARIMA)和反向传播的BP神经网络模型对预定人数进行预测。
最后通过三种方法的预测结果与实际值的比较,来衡量哪种模型预测效果更好。
3.2灰色预测模型
3.2.1模型的建立
灰色系统理论以“部分信息已知,部分信息未知”的“小样本”、“贫消息”不确定性为研究对象,主要通过对“部分”已知信息的生成、开发,提取有价值的信息,实现对系统运行行为的正确认识和有效控制。
GM(1,1)模型算法步骤如下:
设给定原始时间序列
有n个观测值。
Step1:
数据处理。
将原始数据列
做累加生成,即
得到一个新序列:
GM(1,1)模型的动态微分方程:
式中:
a为发展灰数,
为内生控制灰数。
Step2:
构造数据矩阵B与数据列
。
设
为待估参数向量,
,利用最小二乘法求解可得
其中:
Step3:
建立时间响应模型
。
将时间响应离散化:
将k值代入离散模型式计算预测累加值
;
Step4:
将预测累加值还原为预测值。
3.2.2模型的求解
按照上面的步骤,利用Matlab编写程序,代入数据,可以预测其他航次的各周预订舱位的人数。
表3.2.1各周预定的人次的预测值和真实值
第5航次
第6航次
周次
头等舱
二等舱
三等舱
头等舱
二等舱
三等舱
14
2
1
34
1
1
7
57
102
12
27
84
164
19
71
119
1
88
138
1
109
161
9
52
187
8
65
178
259
57
167
218
7
81
214
291
76
207
254
6
1
257
296
5
125
31
44
4
3
395
401
3
192
452(450)
459
229
490(450)
466
2
239
545(450)
515(500)
301(250)
607(450)
543(500)
1
297(250)
656(450)
578(500)
397(250)
752(450)
631(500)
0
369(250)
791(450)
648(500)
524(250)
933(450)
735(500)
其他航次每周舱位预定人数的预测结果见附件1。
3.3时间序列预测模型
根据题意,我们认为每次航行各周预定舱位的人数变动规律符合时间序列模型,通过对每次航行个周预定人数的走势分析,我们认为可以尝试采用自回归移动平均模型ARIMA(p,d,q)模拟与预测每次航行各周预定舱位的人数。
差分自回归移动平均模型ARIMA(p,d,q)是自回归移动平均模型ARMA(p,q)转换而来。
ARIMA(p,d,q)模型的建模步骤如下:
步骤一:
样本序列平稳化处理与判断,如果样本系列是非平稳的,可以通过差分使其符合平稳性要求,从而确定模型参数d;
步骤二:
模型参数p,q的确定。
主要通过自相关函数和偏自相关函数的截尾特征与拖尾特征,辅助以AIC与BIC原则,确定模型的参数p和q。
步骤三:
模型诊断,对模型进行统计学检验,评估模型。
为了更加客观的描述不同预测模型对每次航行各周预定舱位的人数预测的效果,本文采用均方根误差和平均相对误差百分比两个指标。
步骤四:
利用模型进行预测。
首先,我们先预测头等舱每次航行各周预定舱位的人数。
根据题目要求,我们需要补全sheet2表格中的数据。
由于有些数据不全,需要预测补全,因此我们先用前5航次的全部数据和部分第6航次的数据来预测第6航次需补全的数据,并将预测后所得的数据,假定为已知数据,依此预测以后各航次所需预测的数据。
前5航次的全部数据和第6航次部分数据的每周预定人数变化折线图,结果如下图
图3.3.1前6航次头等舱每周预定人数
我们将数据按航次分组,得到头等舱预定人数随周次的变化折线图,结果如下图:
图3.3.2头等舱预定人数随周次的变化折线图
根据图二明显看出,头等舱预定人数具有季节性变化。
结合图一和图二,我们可以看出,头等舱预定人数的长期趋势近似于水平趋势。
所以,我们不考虑长期趋势的影响,根据原始数据序列采用原始数据平均法直接测定季节变动。
模型中,头等舱预定人数具有一定的循环规律,即以14个周为周期波动变化,但是该波动不具备固定规律,因此不予以考虑。
我们认为模型中不规则变动影响也较小,也不予以考虑。
本文选取前5航次全部数据和第6航次前13周的数据,建立头等舱每周预定人数的ARIMA(p,d,q)预测模型,确定模型的参数p,d,q的值,利用该模型预测第6航次0-4的头等舱的预定人数。
将预测值与实际值比较,计算预测的均方根误差RMSE与平均绝对误差MAPE。
ARIMA模型中数据平稳性检验、ARIMA模型的建立与预测均采用SPSS19.0完成。
通过SPSS19.0建模分析得:
从自相关系数与偏自相关系数分析,残差检验与单位根检验可以认为:
将原时间序列做一阶季节性差分后,序列趋向于平稳时间序列。
由此可以确定ARIMA(p,d,q)中的参数d值为1,平稳时间序列的样本自相关系数具有拖尾性,偏自相关系数在
时都在随机区间以内,初步确定模型中p值可以取1-8,自相关系数在
处显著具有结尾特征,q值取5,分别取p值为1-8,尝试建立自差分回归移动平均方程,得到不同的AIC与BIC结果,对不同的p,q取值下的AIC与BIC值比较,最终确定参数p值为3。
综合分析结果,得到头等舱每周预定人数的模型为ARIMA(3,1,5)。
利用该模型对第6航次的0-4周的头等舱预定人数进行预测,预测结果与实际结果如表一所示。
计算预测的均方根误差RMSE与平均绝对误差MAPE,如下表所示。
表3.3.1第6航次的0-4周的头等舱预定人数预测结果与实际结果
周次
实际预定人数
预测预定人数
绝对误差
相对误差
4
32
31
1
0.03125
3
37
38
1
0.02702
2
22
28
6
0.27272
表3.3.2均方根误差RMSE与平均绝对误差MAPE
拟合统计量
均值
平稳的R方
.884
R方
.884
RMSE
3.938
MAPE
42.171
正态化的BIC
4.867
计算结果显示,基于ARIMA(3,1,5)模型的头等舱预定人数预测结果的平均相对误差在1%左右,说明采用该模型能够较好的模拟并预测中短期头等舱预定人数。
拟合效果图如下图所示
图3.3.3拟合效果图
从上图可知:
头等舱预定人数预测值很好的拟合真实值,因此我们认为该预测效果比较好。
3.4BP神经网络预测模型
神经网络模型是由多个神经元组成的广泛互连的神经网络,能够模拟生物神经系统真实世界与物体之间所做出的交互反应。
人工神经网络处理信息是通过信息样本对神经网络的训练,使其具有人的大脑记忆,辨识能力,完成各种信息处理能力。
它具有良好的自学习、自适应、联想记忆、并行处理和非线性转换的能力,避免了复杂的数学推导,在样本缺损和参数漂移的情况下,仍能保证稳定的输出。
人工神经网络这种模拟人脑智力的特性,已经成功地应用于众多领域。
目前应用较多的模型是前馈多层式网络中的BP反向传播模型,其模型结构如图所示。
网络节点:
网络输入层神经元节点数就是系统的特征因子(自变量)个数,输出层神经元节点数就是系统目标个数。
隐节点数的多少对网络性能的影响较大,当隐节点数太多时,会导致网络学习时间过长,甚至不能收敛;而当隐节点数过小时,网络的容错能力差。
因此需要利用逐步回归分析法进行参数的显著性检验来动态删除一些线型相关的隐节点,节点删除标准:
当由该节点出发指向下一层节点的所有权值和阈值均落于死区(通常取
等区间)之中,则该节点可删除。
最佳隐节点数L可参考下面公式计算:
其中,m:
输入节点数,n:
输出节点数,c:
介于1~10的常熟。
初始值的确定:
应用函数initff()对网络进行初始化,产生一组随机数,作为网络的初始权值。
最小训练速率:
在经典的BP算法中,训练速率是由经验确定,训练速率越大,权重变化越大,因此,训练速度在不导致振荡前提下,越大越好。
动态参数:
动态系数的选择也是经验性的,一般取0.6-0.8.
允许误差:
一般取0.001–0.0001,当2次迭代结果的误差小于该值时,系统结束迭代计算,给出结果。
迭代次数:
由于神经网络计算并不能保证在各种参数配置下迭代结果收敛,当迭代结果不收敛失望,允许最大迭代次数。
由于在0到14周不同舱位的预定人数波动比较大,这可能受到时间变化的因素的影响,这极大的影响了BP神经网络的预测精度,为了加快神经网络的学习速度,加快神经网络的预测精度,在对预定人数数据进行BP神经网络里之前,首先需要对现成的预定人数数据进行预处理。
数据预处理是训练神经网络的关键不走,对于数据处理的好坏将直接影响到训练好的神经网络的性能,下列图就是对预定人数进行预处理,训练计算机网络结果,其中选择头等舱预定的实际人数座位研究数据应用神经网络算法的训练(以第五次航行训练为例)。
3.4.1头等舱预定人数的网络预测和实际值比较
BP神经网络经过多次训练后,训练结束,可得到如上图所示的对于航行的拟合效果,BP神经网络训练后的预测值与实际值的拟合程度较接近,训练效果效果好。
3.4.1模型的求解
通过对神经网络的训练,有了较好的拟合和预测效果,现在针对问题利用神经网络进行预测(以第五次航班为例,其他航班见附件),结果如下图2-2所示
图3.4.2神经网络预测订票人数图
从上图可以看出:
利用Matlab得到的残差的效果比较理想的,且网络预测值和实际值的吻合度也比较理想。
四、问题二的分析、建模与求解
4.1问题的分析
问题2要求预测每次航行各周预订舱位的价格,此处我们通过BP神经网络对原始数据进行了训练,在训练的基础上来对价格进行了预测。
我们分别对头等舱、二等舱和三等舱进行了预测,并对预测结果进行了分析。
4.2模型的求解
利用Matlab对历史数据来进行训练,训练的结果以与残差如下(此处以头等舱为例,二等舱和三等舱的结果见附件):
图4.2训练的结果以与残差示意图
从上图可看出:
训练结果和真实解几乎重合,且其残差都在理想范围内,因此我们认为利用BP神经网络预测的效果是很理想的。
利用BP神经网络对每周各航次进行预测,其预测结果如下:
表4.2每周各航次的预测值
航次
周次
5
6
7
8
9
10
5
197
40
1820
1944
4
5
3
19
811
1862
1818
2
181
22
1848
1686
1
172
01
1811
1799
8
1496
1722
1769
五问题三的分析、建模与求解
5.1问题的分析
问题三要求根据附表4中的每周预订价格区间和意愿预订人数预测出公司每周给出的预定平均价格,由于预订平均价格与预订价格和实际预订人数有关,并且预订价格与预订价格区间有关,预订实际人数与意愿预订人数有关,即预订平均价格与预订价格区间和意愿预订人数有关,因此我们可以用预订价格区间端值和意愿预订人数作为样本进行训练,以预订平均价格作为目标值,来用神经网络进行仿真,从而得到预订平均价格拟合值。
5.2模型的求解
由第一问的结果可知BP神经网络对预定人数的预测效果非常好,因此我们继续采用神经网络模型来预测公司每周给出的预定平均价格。
BP(BackPropagation神经网络是一种并行的、复杂的、非线性的、动力学系统,他可以代表极为复杂的非线性模型系统。
BP神经网络是一种多层前馈型神经网络,网络中神经节点的传递函数是S型函数,它的输出量是从0到1之间的连续数据,可以实现从输入层到输出层的任意非线性映射。
首先我们利用BP神经网络来预测出每周意愿人数,我们以头等舱每周次每航次为例(其他航次见附录3)
表5.2.1头等舱每周每航次的意愿人数预测
航次
周次
5
6
7
8
9
10
5
193
46
20
30
31
31.8
4
43
36
42
42
40.8
40.2
3
148
39
54
84.3
81.3
64.6
2
83
24
43.5
46.4
49.2
40.8
1
11
20.3
23.1
19.8
18.5
20.4
0
2.5
2.88
3.59
3.24
3.05
3.19
针对需要解决的问题建立起适当的神经网络模型,建立模型步骤如下:
对建立的网络模型进行训练,其中数据预处理是训练神经网络的关键步骤,在经典的BP算法中,训练速率是由经验确定,训练速率越大,权重变化越大,因此,训练速度在不导致振荡前提下,越大越好。
因此对题中所给数据进行预处理,再对神经网络分别对头等舱、二等舱和三等舱的10次航行的票价进行训练。
根据训练的效果可知神经网络对预定价格的预测具有一定的可行性,由此利用学习后的神经网络对每周给出的预定平均价格进行预测,得到结果如下:
图5.2.2头等舱平均价格预测值和实际值的比较
从上图可以看出:
前6周的数据和实际数据的曲线是大致重合的,这就说明BP神经网络的训练效果是非常理想的。
即预测结果是可靠的。
下面根据该BP神经网络来预测出头等舱的价格预测值。
表5.2.2头等舱的价格预测值
航次
周次
5
6
7
8
9
10
5
98
77
956
4
941
978
964
971
951
959
3
958
98
56
2
895
882
844
864
843
800
88
863
885
81
832
934
六问题四的分析、建模与求解
6.1问题四的分析
依据附件中表sheet1-sheet4,建立邮轮每次航行的最大预期售票收益模型,并计算第8次航行的预期售票收益。
我们定义邮轮每次航行的收益为:
每航次每周的平均价格与每航次每周意愿预定人数的乘积。
我们认为问题四的关键是建立模型,求解处预期需求与价格的关系。
不同类别的座位需求和价格都不一样,且都在限制范围内。
所以其中主要任务就是通过对预期的需求数量和价格区间,通过建模实现具体函数的求解(即需求函数)。
因为每航次每周在价格区间内确定价格,会与意愿预定人数有一定的关系,所以我们考虑用每航次每周预定的平均价格与价格区间,意愿预定人数进行回归分析。
在每航次每周重新确定价格之后,每航次每周的意愿预定人数转为实际预定人数会根据价格而受到影响。
6.2最大预期售票收益模型的建立与求解
下面我们建立实际预定人数与意愿预定人数,确定后的平均价格和价格区间之间的数学模型。
第
舱等级的第
周的价格服从价格区间
上均匀分布。
根据均匀分布的概率分布函数和
,可以获得第
舱等级的第
周的实际需求函数为:
这说明,实际需求函数是线性的,即
其中,
,
,截距
,斜率
,
为第
舱等级第
周的意愿预定人数,
为第
舱等级第
周确定的价格。
邮轮在第
舱等级第
周的收益为:
,
则邮轮在第
舱的总收益为:
这样,邮轮每次航行的售票收益有:
其中,
,
.
我们知道,对于邮轮在第
舱等级第
周的收益:
(6.2.1)
是关于
的二次函数故存在最大值。
说明,(6.2.1)存在最大值,即邮轮每次航行有最大预期售票收益。
特别地,对于第8次航行利用Matlab进行求解,当邮轮定价如下时:
表6.2.1邮轮的价格随周次之间的关系
周次
特等舱
二等舱
三等舱
周次
特等舱
二等舱
三等舱
14
1542
1067
732
6
28
5
12
1647
1181
767
4
11
1687
1201
746
3
1
2
2
1748
1312
809
9
1766
1
1247
783
8
1854
2
1240
762
7
1851
1307
862
将上述数据代入(6.2.1),求解得到第8航次的总收益为元。
七问题五的分析、建模与求解
7.1问题五的分析
题目要求我们建立游客升舱意愿模型,为公司制定升舱方案使其预期售票收益最大。
从邮轮公司的利润来考虑,由于邮轮公司的利润是随机变量,这时就需要用数学期望来考察。
一般来讲,实现从低等座位到更高等座位的填充在既定条件下增加收益,且这种方案不是在预定时候制定的,而是在上轮以后制定的。
所以,则应该对当前总需求条件下,在高级座位有空前提下,对结构进行调整,实现对实际需求结构的调整以实现收益最大化。
从邮轮公司的利润状况和游客可能升舱数量的概率来制定合理的预定策略。
最后结合相关优化模型,对模型进行优化,转化为求解极值问题,制定升舱方案使其预期售票收益最大。
7.2模型的建立
7.2.1升舱意愿模型的建立
设从二等舱转移到头等舱的概率为
,从三等舱转移到二等舱的概率为
,从三等舱转移到头等舱的概率为
,则转移概率矩阵为:
状态转移图为:
图7.2.1升舱状态转移图
7.2.2升舱方案的选取
设从二等舱转移到头等舱的人数为
,从三等舱转移到二等舱的人数为
,从三等舱转移到头等舱的人数为
,从二等舱转移到头等舱的差价为
,从三等舱转移到二等舱的差价为
,从三等舱转移到头等舱的差价为
,最大收益为
,则
约束条件:
,
为