李雪菲,李 錚,張 賀,榮國平
1(南京大學(xué) 軟件學(xué)院,南京 210046)2(隆德大學(xué) 電氣與信息技術(shù)系,瑞典 隆德 22363)
亞馬遜是云服務(wù)行業(yè)最早開發(fā)業(yè)務(wù)的領(lǐng)先巨頭,其彈性云更是受到廣泛應(yīng)用.其中,彈性云的定價模式共有三種:按需、預(yù)定以及競價[1,2].
1)按需:消費者根據(jù)固定使用單元,為其使用的虛擬機來付費,不需長期承諾.
2)預(yù)定:消費者為服務(wù)提前支付一定費用,并從其使用情況獲得折扣和更低價格.
3)競價:消費者為資源競價,當(dāng)投標(biāo)價超過定價則消費者方可獲得使用權(quán).
競價型云服務(wù)以其低廉的價格和易用性受到廣泛歡迎,可以在花費最少的情況下使用高性能的計算資源.
由于商業(yè)保密等原因,亞馬遜公司并不向外公布其定價模式[3].但是,由于競價型云服務(wù)的巨大潛力,研究該種定價模式一方面可以幫助云服務(wù)供應(yīng)商參考并提供類似的定價模式,另一方面,可以幫助使用競價型云服務(wù)的用戶選擇合適自身的消費組合,以達到節(jié)約其成本的目的[4].
本次研究以從亞馬遜官方網(wǎng)站獲得的價格歷史作為樣本,對數(shù)據(jù)進行了整理、篩選和清洗,獲得了1053種云服務(wù)的價格歷史,每條價格歷史的價格數(shù)量從幾百條到五十萬條不等.之后,對應(yīng)繪制了走勢圖,完成了云服務(wù)價格歷史的可視化,像股票走勢一樣,可以直觀地判斷價格的變化.
為了挖掘數(shù)據(jù)中隱藏的規(guī)律和特征,采用兩種分類方法:KNN分類算法和k-means聚類算法,對競價型云服務(wù)做了分類.結(jié)果顯示,可以很好地對云服務(wù)進行分類,可從中比較出較為典型的價格實例.同時,對于源數(shù)據(jù)和過程產(chǎn)生的數(shù)據(jù)進行了樸素統(tǒng)計分析,從中發(fā)現(xiàn)了大量的規(guī)律.
綜上,本文對亞馬遜官方提供的大量混雜數(shù)據(jù)做了整理、篩選和清洗,以及可視化、分類和數(shù)據(jù)挖掘.繼而,對價格歷史繪制了相應(yīng)的走勢,并以兩種分類方法對云服務(wù)做出了分類.未來將以此為基礎(chǔ),繼續(xù)總結(jié)價格的典型規(guī)律,尋找價格走勢共同的特點,從而獲得更多對于定價策略的認(rèn)識,以達到為云服務(wù)提供商的定價參考和對用戶的消費建議的目的.
隨著計算機水平的發(fā)展,云計算技術(shù)和云計算理念正在不斷發(fā)展.云計算以一種新型的商業(yè)模式,聯(lián)合基礎(chǔ)設(shè)施、平臺以及軟件作為服務(wù)的內(nèi)容,通過網(wǎng)絡(luò)租賃的方式提供給用戶使用.
黎春蘭[5]等根據(jù)即用即付費(pay-per-use)和預(yù)訂(subscription)這兩種定價模型及其四種形式:每單位定價、分級定價、預(yù)訂定價和動態(tài)定價,以服務(wù)內(nèi)容為依據(jù),進一步分析了 IaaS、PaaS和SaaS三種基本的云服務(wù)模型的定價策略;殷秀葉[6]等提出一種刺激機制,可以通過歷史資源使用情況制定預(yù)定價格.
Javadib等[7]認(rèn)為,在公共云的現(xiàn)貨市場中,隨機調(diào)度算法和容錯機制是競價型實例的特征,并通過最大期望算法和混合高斯分布為競價型實例提出了一個數(shù)學(xué)模型[8],這種模型可以擬合競價型實例的價格歷史,但由于定價政策在不斷變化,該存在著一定的局限性;Wee[9]將競價型實例視為具有實時定價性質(zhì)的計算資源;Orna Agmon等人[10]認(rèn)為價格并不是由市場驅(qū)動的,有時可能是由亞馬遜官方指定、提前假設(shè)好;Vivek等[11]提供了一種現(xiàn)貨價格預(yù)測算法,以盡可能地延長連續(xù)使用云服務(wù)的時間,這一研究非常具有現(xiàn)實意義.
Saha[12]提出了一些關(guān)于中小型企業(yè)使用實例的推薦、Sangho Yi[13]則采用研究斷點的方式,以及Mattess等[14]等研究都針對于減少用戶成本.
而William[15]提出了一種資源分配策略,能夠快速地在間歇性的虛擬機池上運行計算密集型作業(yè);陳冬林[16]等運用數(shù)學(xué)模型求解出最優(yōu)定價區(qū)間,通過算例驗證了價格變動對市場需求和利潤的影響,并分析了需求價格彈性對利潤的敏感性.
1)數(shù)據(jù)集含有大量數(shù)據(jù),實例種類混雜,需要分析的源數(shù)據(jù)總量達到15.5G以上,析出云服務(wù)種類達1053條.僅根據(jù)數(shù)據(jù)集文本,難以直接判斷單個實例的價格變動歷史和價格變動趨勢.
2)整理以后,析出1053種云服務(wù)實例,發(fā)現(xiàn)許多實例具有相似的走勢形狀,然而,難以直接判斷價格的共同特征.這意味著,需要對實例進行分類,許多實例有可進一步分析的相似之處.然而,使用監(jiān)督學(xué)習(xí)類的KNN分類方法對1053種云服務(wù)分類,較為依賴主觀的人工標(biāo)簽.
3)另外,數(shù)據(jù)蘊含著許多隱藏規(guī)律,需要找出這些規(guī)律.
4)由于不同云服務(wù)產(chǎn)生價格的時刻不同,因此,在比較不同云服務(wù)實例時,用歐氏距離判斷遠近有一定的誤差.
對于難點1),可編寫程序,整理數(shù)據(jù)集,將每條實例的價格歷史整理、篩選、清洗出來.
對于難點2),將對實例的價格歷史繪制走勢圖做好可視化,其次,對實例做分類,挖掘不同云服務(wù)實例價格歷史的共同數(shù)據(jù)規(guī)律.對于人工標(biāo)簽的誤差,將引入k-means算法共同分類,選取兩種分類結(jié)果的交集,作為比較典型的分類結(jié)果.
對于難點3),將使用樸素統(tǒng)計方法對官方原始數(shù)據(jù)以及程序運行過程中獲得的數(shù)據(jù)進行統(tǒng)計分析,獲取最值、方差等等,挖掘數(shù)據(jù)的內(nèi)部規(guī)律.
對于難點4),將補齊價格產(chǎn)生的時間.
從亞馬遜官方網(wǎng)站下載的原始數(shù)據(jù)集,是根據(jù)時間排列而混雜排布的,如表1所示.因此,第一步需要將按照種類、運行的操作系統(tǒng),以及數(shù)據(jù)中心所在的地區(qū)這三個條件組合,篩選出單條組合價格歷史,以便后續(xù)對其進行更細致的分析.
由于亞馬遜官方網(wǎng)站只提供過去兩個月內(nèi)的數(shù)據(jù),因此需要在距離上次下載不到兩個月的時間內(nèi),下載新的數(shù)據(jù)集,這樣可以保證數(shù)據(jù)集能在時間上完整地覆蓋.因此數(shù)據(jù)集與數(shù)據(jù)集之間,含有許多重復(fù)的數(shù)據(jù).
首先,整理和篩選了官方網(wǎng)站下載的混亂數(shù)據(jù)集,獲得了1053種云服務(wù)的購買組合方式,每一種云服務(wù)組合都含有一條價格歷史.其次,對于價格歷史做了可視化整理,發(fā)現(xiàn)許多云服務(wù)有相似的價格軌跡.將基于逐條整理的云服務(wù)價格歷史做進一步的分析,以反向推導(dǎo)的方式推測其定價策略.
由于數(shù)據(jù)集中實例僅按照價格產(chǎn)生時間點排列,因此難于直接分析每個實例的特點和歷史.從內(nèi)容來看,種類、系統(tǒng)、地區(qū)三個條件唯一決定一條實例,因此,程序依次遍歷這三個條件,將相同種類、使用相同系統(tǒng)、運行在相同數(shù)據(jù)中心的實例數(shù)據(jù)集合到一起.表1是需要整理的數(shù)據(jù)集,來自2015年9月8日的官網(wǎng).對其運行單條實例整理程序,析出的某一條實例的價格歷史如表2所示,由于篇幅有限僅展示部分.
在整理數(shù)據(jù)以后,可獲得規(guī)定時段內(nèi)的、通過條件組合篩選的價格歷史.
由于每個數(shù)據(jù)集的大小從0.2GB到4GB不等,因此如果直接執(zhí)行拼接所有數(shù)據(jù)集并剔除重復(fù)數(shù)據(jù)的程序,會使得整個數(shù)據(jù)集異常龐大,不利于擴展使用.因此,使用一種不斷擴充的方法.首先,對數(shù)據(jù)集分別執(zhí)行實例整理程序.在2015年11月4日下載的數(shù)據(jù)集中,獲得了879個實例,最后一個數(shù)據(jù)集,即為從2016年11月19日下載的數(shù)據(jù)集中,獲得了1050個數(shù)據(jù).
表1 從亞馬遜網(wǎng)站獲得的云服務(wù)競價型實例的歷史價格(部分)
Table 1 Price history of Amazon spot instance from their official website
價格價格產(chǎn)生的時間點實例類型操作系統(tǒng)地區(qū)0.27242015-09-08T15:32:31+0200cc2.8xlargeLinux/UNIX(Amazon VPC)us-east-1b0.41802015-09-08T15:32:30+0200r3.8xlargeLinux/UNIX(Amazon VPC)us-east-1a0.37772015-09-08T15:32:30+0200r3.8xlargeLinux/UNIX(Amazon VPC)us-east-1b0.27932015-09-08T15:32:30+0200m3.2xlargeWindowsus-east-1b0.05122015-09-08T15:32:28+0200c1.mediumWindowsus-east-1b0.07522015-09-08T15:32:28+0200m2.xlargeWindowsus-east-1a0.01132015-09-08T15:32:27+0200m1.mediumLinux/UNIXus-east-1c0.07082015-09-08T15:32:26+0200m3.xlargeSUSE Linuxus-east-1e0.06642015-09-08T15:32:26+0200m3.xlargeSUSE Linuxus-east-1c0.08712015-09-08T15:32:25+0200m3.2xlargeLinux/UNIX(Amazon VPC)us-east-1c
表2 經(jīng)整理us-east-1a地區(qū)的c1.medium 在Linux/Unix(Amazon VPC)系統(tǒng)運行的價格歷史
Table 2 Price history of c1.medium at us-east-1a zone with Linux/Unix OS
價格時間點價格實例類型操作系統(tǒng)地區(qū)2015-09-07T22:08:09+02000.0162c1.mediumLinux/UNIX(Amazon VPC)us-east-1a2015-09-06T22:07:56+02000.0162c1.mediumLinux/UNIX(Amazon VPC)us-east-1a2015-09-05T22:05:56+02000.0162c1.mediumLinux/UNIX(Amazon VPC)us-east-1a2015-09-04T22:02:47+02000.0162c1.mediumLinux/UNIX(Amazon VPC)us-east-1a2015-09-04T21:56:04+02000.0161c1.mediumLinux/UNIX(Amazon VPC)us-east-1a2015-09-04T21:49:24+02000.0162c1.mediumLinux/UNIX(Amazon VPC)us-east-1a2015-09-04T19:39:49+02000.0161c1.mediumLinux/UNIX(Amazon VPC)us-east-1a
在清洗數(shù)據(jù)的過程中,還顯示了數(shù)據(jù)產(chǎn)生或結(jié)束的時段.比如實例cc1.4xlarge Windows us-east-1b在9月28號以后就不再產(chǎn)生數(shù)據(jù)了,然而,實例i2.4xlarge Windows us-east-1a從2015年11月12日開始才產(chǎn)生數(shù)據(jù).
結(jié)果,截至2016年11月19日下載的數(shù)據(jù)集,共從中整理出了1053種實例的價格歷史.
圖1 來自美國東部數(shù)據(jù)中心運行在Linux/Unix系統(tǒng)上的c1.medium實例價格軌跡圖例Fig.1 Plot of price history from c1.medium instance at us-east-1a zone with Linux/Unix OS
在獲得全年價格歷史以后,我們?nèi)匀粺o法直觀地判斷價格變動的歷史.因此,對其可視化,繪制走勢圖,將會直觀反映出實例在一年以內(nèi)的變化歷史,這將有助于判斷云服務(wù)的類型,直觀顯示它的特點.圖像中,時間為橫軸,價格為縱軸.走勢圖形式如圖1所示.
繪圖程序會自動根據(jù)價格的最大值和最小值來決定圖像坐標(biāo)軸的數(shù)據(jù)大小.可視化以后,可以對數(shù)據(jù)的走勢有更為直觀的判斷和了解.
另外,實現(xiàn)了用哈希碼判斷圖像相似度的比較算法[17],可以通過漢明距離判斷兩個實例是否相似.哈希值表征為64位01數(shù)字序列.一般認(rèn)為,漢明距離大于10,可以直接判斷這兩個圖像不相似,而如果漢明距離小于5,可認(rèn)為兩張圖像非常相似.
在繪制了上文中圖中所示的走勢圖之后,可以發(fā)現(xiàn),許多實例有著相同的走勢歷史.因此,對實例價格走勢進行進一步的分類,可以將某一些可以分成一類的云服務(wù)特點歸納起來,以求找到比較典型的特點.[18]KNN是一種監(jiān)督學(xué)習(xí)算法,因此需要先驗知識,首先,需要對實例手工標(biāo)注標(biāo)簽.
參照實例圖像走勢情況,給1053個數(shù)據(jù)中的48個做了標(biāo)簽,共有7種標(biāo)簽,每種6至8個,由于共析出1053條數(shù)據(jù),因此人工判斷是否相近會有一定誤差,在這里,筆者選取了認(rèn)為走勢最為典型的實例并將其劃分為可確定的7種類型.在選取典型實例作標(biāo)簽以后,使用哈希碼計算了漢明距離,以確認(rèn)類中各實例確實相似.典型類別的走勢縮略如下:
A類:后三個月顯著增長且波動穩(wěn)定;B類:后三個月顯著增長且波動劇烈;C類:有少量穩(wěn)定出現(xiàn)的固定值;D類:無固定峰值,波動劇烈,但是存在穩(wěn)定變化的區(qū)間;E類:波動劇烈且不存在穩(wěn)定變化的區(qū)間;F類:價格呈段式變化;G類:固定峰值出現(xiàn)頻率極高.典型類別與其代表圖像如圖2所示.根據(jù)已標(biāo)注標(biāo)簽樣本測試數(shù)據(jù)的分類.通過交叉驗證,可以證明,在K=15的情況下,準(zhǔn)確度可以達到85%以上.每個類別含有實例數(shù)量表格如表3所示.
表3 每個類別含有實例數(shù)量
Table 3 Instance type and amount
實例類別實例數(shù)量A182B220C273D81E47F3G199
可以發(fā)現(xiàn),測試的結(jié)果中,F類別僅有3個實例.然而,數(shù)量比較多的實例類別大概為200-300左右.這顯示出,人工標(biāo)注的某些類別可能含有的實例較少,而類別含實例數(shù)量較多的,很有可能可以從中細分出一些子類別.
KNN分類算法需要獲得先驗知識,屬于一種監(jiān)督學(xué)習(xí)算法.在KNN分類算法中,我們需要對數(shù)據(jù)標(biāo)注分類,這會產(chǎn)生一些由于人為造成的誤差.與分類算法不同的是聚類算法.聚類算法不需要人工為樣本標(biāo)注標(biāo)簽,是一種將相似點集合到一起的無監(jiān)督學(xué)習(xí)算法.
圖2 典型類別與其代表圖像Fig.2 Classical types and trend plots
可以很好地避免掉由于人為產(chǎn)生的誤差.k-means算法作為最經(jīng)典的一種聚類算法,結(jié)構(gòu)簡明,運行效率高,且可以展現(xiàn)出較好的聚類結(jié)果.
表4 K-means 每種
類別實例數(shù)量統(tǒng)計
Table 4 Result of k-means
and instance amount
實例類別實例個數(shù)02051927310041085566103721181299411084
在確定k值時,使用簇半徑和平均質(zhì)心距離作為判定標(biāo)準(zhǔn),測試k值從2到30,對于每個k值做了50次k-means計算,取平均值作為判斷依據(jù),結(jié)果顯示如表4所示.
隨著k值的增大,類別的數(shù)量會越來越大.另一方面,平均質(zhì)心距離則會不斷減小.為了權(quán)衡平均質(zhì)心和k值的關(guān)系,計算了平均質(zhì)心距離的下降速度.可發(fā)現(xiàn),從k=2開始平均質(zhì)心距離迅速下降,在k=11時下降到0.874左右,在此期間,質(zhì)心距離差從0.27迅速下降到0.05左右.之后,質(zhì)心距離差下降速度非常慢,基本維持在0.01-0.02左右.因此,本次研究中,k-means算法中的k值取11.聚類的每個類別含有的實例組合購買方式的數(shù)量如表5所示.
受機器學(xué)習(xí)中Boosting方法啟發(fā),使用多種分類器,然后采用投票的方式,最終將多種分類器整合到一起以加強分類效果.兩種方法比較,可以選取分類結(jié)果的交集,通過投票法獲得最終結(jié)果,這部分類型便會是潛在的典型價格類別.
競價型云服務(wù)產(chǎn)生價格的時間點不完全相同,因此直接計算價格分類會產(chǎn)生一些誤差.有學(xué)者在研究時間序列時按照周或日的時間單位,如果云服務(wù)產(chǎn)生價格的時間點全部相同,那么就能夠更加精準(zhǔn)地判斷云服務(wù)的分類.使用補齊法,將沒有價格的時間點用變化之前的價格補充進去,就能使得不同的云服務(wù)在相同的時間點上都有價格.
按照亞馬遜對動態(tài)定價云服務(wù)的使用規(guī)則說明,在價格再次浮動之前,用戶可按照當(dāng)前價格購買云服務(wù).換句話說,我們在補充的虛構(gòu)數(shù)據(jù)采集時間點上的價格可以視作下一次變動之前的“當(dāng)前價格“,亦即上一次變動后一直沒再改變的價格.這一補充數(shù)據(jù)的處理方法除了帶來數(shù)據(jù)量的增加,對真實時間序列上的價格數(shù)據(jù)走勢并未做任何本質(zhì)上的改動,故此應(yīng)該是可以接受的.這一目的是為了能夠讓不同云服務(wù)實例的價格數(shù)據(jù)在相同的時間序列上嚴(yán)格公允地對比.
此外,經(jīng)過分析和瀏覽已獲得的價格歷史數(shù)據(jù),發(fā)現(xiàn)存在著不同的實例,他們的價格范圍不同但是變動趨勢相似,因此也將被歸為同一類.為此,在KNN算法中,可用補齊后的數(shù)據(jù)做差,以標(biāo)準(zhǔn)差做為判斷樣本遠近的條件.
由于全年數(shù)據(jù)量達到10G以上,因此在測試程序之初只使用了2016年11月18日的價格數(shù)據(jù).從中發(fā)現(xiàn),即使是以天為單位做計算,僅對兩個實例補齊,使用標(biāo)準(zhǔn)差做分類判別依據(jù)時,計算時長仍然可達到16小時以上.然而,如果僅以天作為樣本單位,那么全年的數(shù)據(jù)將會失去其本身的全局意義.
表5 K-means 最佳k值選擇測試結(jié)果
Table 5 Determine the optimal number of clusters in a dataset
k值平均質(zhì)心距離類簇半徑k值平均質(zhì)心距離類簇半徑k值平均質(zhì)心距離類簇半徑21.78596277.422658376120.8579416445.062190141220.6950251034.40473745431.5109948526.704772864130.8314372424.855551549230.6960980584.30238814841.2726391586.388680257140.8185823224.791342623240.6825492754.23618649751.2491980255.84864931150.8022433464.463512342250.6582042414.1693276261.1322707835.66575769160.8024003724.558108948260.6613133854.18726427471.0570068845.615079648170.7606917494.596851188270.6423600563.93589368981.0108023795.393959469180.7527539784.576849456280.6429504124.23576851690.9614493755.225730334190.7473217854.364603997290.6346306864.137234481100.9098293215.165907359200.7299064874.425607615110.8741819515.09299484210.7091923044.519128251
對于聚類算法的數(shù)據(jù),應(yīng)對全局進行補齊,可以推測,其運行的時間更長.測試全局補齊程序僅使用了從2016年1月1日至2016年1月7日一周的數(shù)據(jù).測試以后發(fā)現(xiàn),測試時長過長,總時間點數(shù)量達到了24萬個,占到一周時間點總數(shù)(60萬)的大約三分之一.
在測試的過程中,還計算了相同的時間點.從中發(fā)現(xiàn),即便是肉眼可判斷為相似的實例,其產(chǎn)生價格的時間點相同度也非常低.測試挑選了四個實例做測試(c1.mediumSUSE Linux(Amazon VPC)us-east-1a實例、c1.mediumSUSE Linux(Amazon VPC)us-east-1b實例、c1.mediumSUSE Linux(Amazon VPC)us-east-1c實例以及c1.mediumSUSE Linux(Amazon VPC)us-east-1e).這些實例是經(jīng)過人工挑選的相近實例,經(jīng)計算,對應(yīng)的標(biāo)準(zhǔn)差極小但重復(fù)時間點個數(shù)占比仍不足20%.因此補齊法在理論上可行,但由于工程上計算時間過長,所以當(dāng)前可行性不大.為解決該問題,可以壓縮價格基本不變的區(qū)間,避免補齊帶來的大量重復(fù)數(shù)據(jù).只對價格變動大的部分進行價格在時間維度上的補齊.
綜上,通過補齊法可分類,但由于時間過長,因此現(xiàn)階段雖然具有理論可行性,但是其算法卻需要優(yōu)化.
實驗所使用的數(shù)據(jù)來源于亞馬遜的官方網(wǎng)站,從2015年9月開始,到2016年11月為止.在測試的過程中,從原始數(shù)據(jù)、衍生數(shù)據(jù)以及經(jīng)過計算得到的數(shù)據(jù)中,發(fā)現(xiàn)了許多特點和規(guī)律.本節(jié)將著重描述從數(shù)據(jù)本身發(fā)現(xiàn)的規(guī)律和特點.
從這些規(guī)律中,可以發(fā)現(xiàn):
1)價格變化更頻繁,產(chǎn)生得更密集;服務(wù)種類不斷增加,由2015年11月的879個增加到2016年11月的1050個.如表6所示.
2)樸素數(shù)據(jù)統(tǒng)計,[15]從數(shù)值統(tǒng)計表中可發(fā)現(xiàn),不同實例有相似值.例如相同的最值、中位數(shù),或是相近的方差,這說明亞馬遜官方很可能設(shè)置了固定的價格.
3)許多實例存在著“固定價格”,這里是指:某個固定的價格出現(xiàn)多次.可以在許多其他的實例中發(fā)現(xiàn)相同的現(xiàn)象這個固定值可能是最高值,或者是最低值,或者是某個中間值,它會在一段或多段時間內(nèi)大量反復(fù)地出現(xiàn).
表6 文件大小和實例數(shù)量統(tǒng)計表
Table 6 Size of source files and types amount
序號起始時間數(shù)據(jù)集大小/MB實例數(shù)量/個12015.09.23256.287922015.10.26510.897232015.12.06596.597242016.01.2071697252016.02.17854.897162016.04.181177.697272016.06.041546.2498182016.06.151628.1698192016.06.161638.4981102016.08.032539.521041112016.09.214300.81050
4)產(chǎn)生價格的時間點則不同,從現(xiàn)在的價格數(shù)據(jù)歷史可以看出,有一些實例的價格變動的時間間隔已經(jīng)大大縮小,并且越來越趨于無規(guī)律化;然而,有一些實例的價格在全局時間內(nèi)甚至沒有變化過.有一些實例的價格變動的時間間隔已經(jīng)不是過去的一個小時或兩三個小時,而是變得更加密、更加無序.
5)計算每個月的平均價格發(fā)現(xiàn),許多實例的價格數(shù)據(jù)在很長一段時間內(nèi)都維持在固定價格或有小幅波動:在2015年11月至2016年8月間,有相當(dāng)一部分實例的價格沒有發(fā)生變化,這說明在2015年11月左右,以及2016年8月左右,亞馬遜對競價型實例的定價策略做了一定的調(diào)整.在2016年9月至2016年11月期間,可以發(fā)現(xiàn),價格區(qū)間明顯變小,數(shù)據(jù)量明顯增多.許多實例的價格開始升高.這說明,在2015年11月和2016年8月亞馬遜很有可能修改了其定價策略.
經(jīng)過對數(shù)據(jù)整理、合并、剔除重復(fù)數(shù)據(jù),現(xiàn)有程序可以完美地整合數(shù)據(jù),并可以將從亞馬遜官方網(wǎng)站上新下載的數(shù)據(jù)做新一輪的整合.同時,可以根據(jù)實例歷史數(shù)據(jù)繪制對應(yīng)的價格變動歷史走勢圖像,通過圖像相似度判定的算法判定兩個實例是否相似.另外,還計算了月平均數(shù)據(jù),從中發(fā)現(xiàn),亞馬遜公司在2015年11月左右和2016年8月左右對其價格政策做出了調(diào)整.
亞馬遜目前的動態(tài)定價云服務(wù)共有1053種實例類型,其歷史價格走勢多數(shù)雜亂無章參差不齊,故此在未來工作中對全部云服務(wù)實例進行研究是不現(xiàn)實的,對這1053種云服務(wù)實例的價格走勢進行分類,可以幫助我們挑選出最典型的、最具有代表性的價格數(shù)據(jù),參與到下一步基于歷史數(shù)據(jù)的云服務(wù)價格預(yù)測及定價模式的挖掘分析工作中.
現(xiàn)在已有的兩種分類聚類算法,KNN分類算法和k-means聚類算法可以對實例進行劃分類別,分類算法需要人工判斷部分樣本類別并對剩余樣本判斷分類,聚類則根據(jù)樣本自身性質(zhì)將樣本適當(dāng)?shù)貏澐殖刹煌念悇e.兩種方法并行實施,采用Boosting算法,可以對云服務(wù)的分類結(jié)果進行分析,使用多種分類器,采用投票的方式,最終將多種分類器整合到一起以加強分類效果.選擇兩個分類中都會產(chǎn)生的類別,那么這部分一定就是最典型的類型.
然而,每種云服務(wù)購買組合產(chǎn)生價格的時間點都不同,這會對分類結(jié)果的判斷產(chǎn)生一定偏差.因此,引入了補齊法和以標(biāo)準(zhǔn)差作為判斷樣本距離的標(biāo)準(zhǔn),能夠讓不同的服務(wù)有相同的時間點,減少計算的誤差.設(shè)計實現(xiàn)的補齊法雖然在理論上與實踐上均可行,但由于補齊法產(chǎn)生的時間點過多,所以運行時間過長,在工程上缺乏可建設(shè)性.
如果能夠?qū)?shù)據(jù)補齊算法進行優(yōu)化,將會使看起來沒有關(guān)系的價格數(shù)據(jù)顯示出更多的相似之處,可以減少因為時間點不一致而帶來的誤差.
未來將繼續(xù)以亞馬遜競價型云服務(wù)的價格歷史作為樣本,結(jié)合云計算和機器學(xué)習(xí)算法知識進行深入研究.我們將繼續(xù)深入分析價格歷史、并相應(yīng)地展開預(yù)測模型的構(gòu)建等相關(guān)工作.我們將著手于在下一步的工作中分析典型的價格軌跡,運用統(tǒng)計分析以及建模的方式獲得其價格的變動特性與特征.進而,通過回歸測試或其他方法擬合價格的生成算法,以期對亞馬遜競價型云服務(wù)的價格做出一定的預(yù)測,并給出一個確切的預(yù)測準(zhǔn)確度.