林鑫 解沐萱 陳巍立 孟楠 王雪瑩 梁晨旭
摘要:伴隨著網絡訂票平臺的普及,越來越多的人選擇這些平臺來訂購飛機票,然而航空公司會根據自己的一套復雜定價機制隨時調整機票價格,機票的價格波動幅度比較大。文章基于山海關機場的某航線,連續追蹤了半年的數據建立了時間序列模型,并給出了預測機票價格的ARMA模型,為顧客節省費用提供了一定的理論依據以及實際幫助。
關鍵詞:機票價格;價格預測;ARMA模型;山海關機場;時間序列模型 文獻標識碼:A
中圖分類號:TP393 文章編號:1009-2374(2016)05-0019-02 DOI:10.13535/j.cnki.11-4406/n.2016.05.010
1 概述
航空公司根據收益管理系統進行實時價格調整,票價變化明顯,所以機票價格浮動大這一特點使價格預測極具實際應用價值。目前,國內針對機票價格預測模型的研究多在超售模型、價格走勢規律、航空公司定價機制等方面。而國外已有如FareCast和FareCompare等成熟的機票價格預測工具,是機票價格預測和追蹤網站中的佼佼者。由于國內的航空公司使用的收益管理與國外有所不同,導致國外的預測方式大多不適合國內的機票價格變化。在此基礎上,國內有許多學者對機票價格的預測進行了研究。顧兆軍以北京首都機場某航線為例,主要從飛機的離港時間入手,結合時間序列算法建立了機票的價格預測模型;陳巖松主要從技術層面利用垂直搜索技術和HBase分布式數據庫建立了機票價格預測系統;黃承真主要從云計算的視角,利用Hadoop的任務分配策略從技術層面上建立了機票價格預測的模型。
本文將在此基礎上以國內航線為例,研究某既定日起飛的航班機票在預售期內的價格浮動,利用時間序列算法建立某既定日期與航班的機票在未來幾天內的價格走勢預測模型。
本文的組織結構如下:第一部分為理論基礎,介紹了時間序列的重要概念和定義,并引入了ARMA模型的基本理論;第二部分為模型建立,從數據預處理,包括缺失值的填補和異常值的剔除,并從數據的平穩性及隨機性的檢驗、模型識別、參數估計和檢驗詳細介紹了整個模型的建立過程;第三部分為模型預測,通過建立的ARMA模型預測未來5期的機票價格,并與實際值進行對比確定誤差率;第四部分為模型結論,總結了本文對于基于ARMA模型的機票價格預測所做的工作,并指出了模型的優缺點,對未來的研究工作提出了建議。
2 理論基礎
在統計研究中,常用按時間順序排列的一組隨機變量表示一個隨機時間的時間序列,簡記為或。對于一個時間序列來說,通過平穩性檢驗可以分為平穩序列和非平穩序列兩大類。對于平穩序列而言,我們已經有一套非常成熟的平穩序列建模方法。在統計上,通常可以建立一個線性模型來擬合該序列的發展,并借此提取該序列中的額有用信息。其中ARMA(auto regression moving average)即自回歸移動平均模型是目前最常用的平穩序列擬合模型。
一般而言,我們把具有如下結構的模型稱為自回歸移動平均模型,簡記為ARMA(p,q):若=0,該模型稱為中心化ARMA(p,q)模型。特別是當q=0時,ARMA(p,q)模型就退化成了AR(p)模型;當p=0時,ARMA(p,q)模型就退化成了MA(q)模型。
3 模型建立
3.1 模型假設及數據搜集
由于當今網絡訂票平臺的普及,人們可以提前數天就預訂飛機票。而由于種種原因,機票的價格始終在不斷波動,即某天的機票在航班起飛之前會有不同的價格。為了方便模型的建立,我們考慮如下假設:(1)機票的最低價必然出現在飛機起飛之前的30天內;(2)顧客沒有航班偏好性以及時段偏好性,購買機票時始終以“最便宜”為目的;(3)機票價格在一天內保持不變;(4)飛機航班始終能滿足顧客需求。
在此基本假設下,我們利用網絡爬蟲在去哪兒、攜程等多個網站獲得了山海關機場從秦皇島飛往石家莊半年的數據。而同時為了反映同一天機票價格在不同預訂時期的變動,我們對連續30天的數據取算術平均值,進行模型的建立。
3.2 數據預處理
數據預處理主要可以分為三部分:數據清洗、異常值剔除、缺失值的填補。
由于機票價格數據是通過網絡爬蟲在網絡訂票平臺獲取的,因此會出現數據冗余、無關數據等問題,我們首先需要對數據進行基本的數據清洗。
對于清理之后的數據,我們要識別出時間序列的異常值。考慮到進行時間序列建模時在模型定階上我們很大程度上地參考了自相關圖和偏自相關圖的拖尾性和結尾性,而其判斷標準為兩倍標準差,即兩倍標準差以外的值為異常值。利用這個原理,我們計算了時間序列觀察值的Z分數,并剔除大于兩倍標準差的數據。
對于缺失數據的處理一般有刪除個案、刪除缺失值等會丟失樣本信息的方法,也有插補法,即利用其他數據替代或者估算缺失值,常見的有均值插補法、線性插補法、EM算法等。本文針對時間序列數據的特性,選擇了均值插補法,彌補被剔除了的異常值以及原本就存在的缺失值,以便于進行模型的下一步分析。
3.3 平穩性及隨機性的檢驗
拿到了完整的、無缺失的時間序列數據之后,我們首先對它的平穩性和純隨機性進行檢驗。對于平穩性檢驗,我們首先進行直觀、簡潔的觀察。我們可以發現,除了某幾個跳躍點以外,該序列基本上始終在一個常數值附近隨機波動,沒有明顯的趨勢或者周期性。為了更精確地確定該序列是否平穩,我們使用單位根檢驗中最常見的PP檢驗對序列平穩性進行進一步分析。
我們不難發現,當置信水平為0.05的條件下,無常數均值、無趨勢的時間序列可基本認為平穩,但階數為1和2時該序列表現出不平穩的特點,沒有通過PP檢驗。而對于有常數均值、無趨勢的時間序列和既有常數均值、又有線性趨勢的時間序列來說,該時間序列顯著平穩。因此,該序列可基本認為平穩,可進行下一步的時間序列建模。而對于純隨機性檢驗而言,我們構造相關的統計量來進行檢驗。
原假設,
備擇假設至少存在某個,,
構造LB(Ljung-Box)統計量:
式中:n為序列觀測期數;m為指定延遲期數。證明LB統計量近似服從自由度為m的卡方分布,因此我們在軟件中計算可得結果。
檢驗結果顯示,在各階延遲下LB檢驗統計量的P值都非常小(<0.0001),所以我們可以以很大的把握(置信水平>99.999%)斷定該事件序列數據屬于非白噪聲序列,即該序列蘊含著值得提取的相關信息,值得建模,可進行下一步的分析。
3.4 模型識別
現在我們使用SAS軟件編程來對模型進行識別。在SAS中,我們運用MINIC命令對于在自相關延遲階數≤5,移動平均延遲階數也≤5的所有ARMA(p,q)模型中,以BIC信息量最小為原則選出相對最優模型。
結果顯示,適合該序列做預測的最優模型為ARMA(3,1)模型,結論一致。
3.5 參數估計和檢驗
對于該序列的參數估計,我們采用條件最小二乘法。它假定過去未觀測到的序列值等于0,即通過迭代法,使得上式達到最小值的估計值即為參數的條件最小二乘估計。
同樣地,我們利用SAS軟件編程得到模型的參數
估計。
我們發現,除了的P值為0.0008以外,其余三個參數P值都非常小(<0.0001),所以我們可以以很大的把握(置信水平>99.999%)斷定該模型的四個自變量對因變量的影響都很明顯。
同時,我們仍然使用LB統計量對模型進行顯著性檢驗。模型的有效與否即看它的信息提取是否足夠充分。如果所用的模型足夠好,擬合的殘差項中將不再蘊含任何相關信息,即白噪聲序列,仍然在SAS中進行檢驗。
4 結語
本文針對山海關機場的秦皇島到石家莊航線的機票數據,提出了一種基于ARMA平穩時間序列的機票價格預測模型。該模型著重考慮了對于某天的機票在不同日期預訂的價格變化,給出了供顧客參考的平均價,與真實值相比,其平均相對誤差只有2.58%,誤差價格都在70元以內,具有一定的現實意義。同時,本文仍有一定的局限性,尤其是時間序列模型需要的樣本量較大,同時需要實時更新最新的機票數據,以此達到最佳的機票預測效果。因此,如何充分利用網絡上龐大的數據庫為模型建立提供更多的訓練樣本以此來提升模型的精確度以及利用云計算的巨大計算能力和儲存能力來提升算法效率都有待我們繼續研究。
參考文獻
[1] 顧兆軍,王雙,趙億.基于時間序列的機票價格預測模型[J].中國民航大學學報,2013,(31).
[2] 陳巖松.機票價格預測系統設計與實現[D].大連理工大學,2013.
[3] 黃承真.云計算環境下機票價格預測及任務分配研究[D].中國科學技術大學,2014.
[4] 王燕.應用時間序列分析[M].北京:中國人民大學出版社,2013.
[5] 楊池然.SAS從入門到精通[M].北京:電子工業出版社,2011.
[6] 陳劍,肖勇波,劉曉玲,等.基于乘客選擇行為的航空機票控制模型研究[J].系統工程理論與實踐,2006,(1).
[7] 段智彬,孫恩昌,張延華,等.基于ARMA模型的網絡流量預測[J].中國電子科學研究院學報,2009,(4).
[8] 唐玉娜,李啟會.ARMA模型在預測問題中的應用
[J].嘉興學院學報,2006,(18).
作者簡介:林鑫(1994-),男,福建漳州人,東北大學秦皇島分校數學與統計學院學生,研究方向:數據挖掘、應用統計。
(責任編輯:周 瓊)