業務發生量的預測方法、裝置及設備
本說明書涉及電腦技術領域,尤其涉及一種業務發生量的預測方法、裝置及設備。
隨著網路技術和終端技術的不斷發展,電子商務在人們日常生活中越來越重要,例如,人們可以透過網路支付在購物網站中購買各種商品等。不僅如此,線上海外購和線下當面付等業務也得到了迅猛發展,這樣,支付應用(如支付寶等)需要支持商戶、買家之間以不同的貨幣進行支付與收款。這樣,支付應用就需要結算相應國家的貨幣給相應的商家,因此,支付應用存在大量的換匯需求。
通常,支付應用需要在每個工作日購買一定數量的外匯以應對業務需求,為了儘量減少匯率波動對支付應用的影響,支付應用會在工作日當天與交易對手鎖定當天的購匯金額。在實際應用中,可以透過時間序列演算法,具體如移動平均法、滑動平均值、ARIMA(Autoregressive Integrated Moving Average Model,自回歸積分滑動平均模型)或者Holt-Winters等給出預定時間段的發展趨勢,但是,上述時間序列演算法對時間序列趨勢的一致性要求較高,如果最近的業務發展趨勢有異常,則根據上述演算法得出的預測結果很有可能也是異常的,造成預測值偏差較大,這樣,就需要提供一種能夠準確即時預測業務發生量,且能夠減少業務風險以及提高資金利用效率的方案。
本說明書實施例的目的是提供一種業務發生量的預測方法、裝置及設備,以提供一種能夠準確即時預測業務發生量,同時,能夠減少業務風險以及提高資金利用效率的方案。
為實現上述技術方案,本說明書實施例是這樣實現的:
本說明書實施例提供的一種業務發生量的預測方法,所述方法包括:
將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,以及根據所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量;
根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量。
可選地,所述歷史業務資料包括距離所述預定時間段最近的第一時間段的第一歷史業務資料和除所述第一歷史業務資料外的第二歷史業務資料,
所述根據所述時間粒度的業務發生量向量和所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,包括:
根據所述第一歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第一特徵向量;
根據所述第二歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第二特徵向量。
可選地,所述根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量之前,所述方法還包括:
確定所述第一特徵向量和所述第二特徵向量之間的相似度;
根據所述第一特徵向量和所述第二特徵向量之間的相似度,確定所述第二特徵向量的權重。
可選地,所述確定所述第一特徵向量和所述第二特徵向量之間的相似度,包括:
透過以下任一種方法確定所述第一特徵向量和所述第二特徵向量之間的相似度:歐式距離、向量的夾角餘弦值,以及向量的差的絕對值。
可選地,所述根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量,包括:
分別將所述時間粒度的業務發生量向量與所述第一特徵向量和所述第二特徵向量進行合併,得到合併後的第一特徵向量和第二特徵向量;
基於所述第二特徵向量和所述第二特徵向量的權重,透過損失函數和預定參數優化演算法對初始參數進行優化,得到優化後的初始參數;
根據優化後的初始參數和所述第一特徵向量,確定所述預定時間段內的業務發生量。
可選地,所述預定參數優化演算法包括梯度下降演算法、牛頓法、擬牛頓法、共軛梯度法和啟發式優化演算法。
本說明書實施例提供的一種業務發生量的預測裝置,所述裝置包括:
處理模組,用於將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,以及根據所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量;
業務發生量預測模組,用於根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量。
可選地,所述歷史業務資料包括距離所述預定時間段最近的第一時間段的第一歷史業務資料和除所述第一歷史業務資料外的第二歷史業務資料,
所述處理模組,包括:
第一特徵向量產生單元,用於根據所述第一歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第一特徵向量;
第二特徵向量產生單元,用於根據所述第二歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第二特徵向量。
可選地,所述裝置還包括:
相似度確定模組,用於確定所述第一特徵向量和所述第二特徵向量之間的相似度;
權重確定模組,用於根據所述第一特徵向量和所述第二特徵向量之間的相似度,確定所述第二特徵向量的權重。
可選地,所述相似度確定模組,用於透過以下任一種裝置確定所述第一特徵向量和所述第二特徵向量之間的相似度:歐式距離、向量的夾角餘弦值,以及向量的差的絕對值。
可選地,所述業務發生量預測模組,包括:
合併單元,用於分別將所述時間粒度的業務發生量向量與所述第一特徵向量和所述第二特徵向量進行合併,得到合併後的第一特徵向量和第二特徵向量;
初始參數優化單元,用於基於所述第二特徵向量,透過損失函數和預定參數優化演算法對初始參數進行優化,得到優化後的初始參數;
業務發生量預測單元,用於根據優化後的初始參數和所述第一特徵向量,確定所述預定時間段內的業務發生量。
可選地,所述預定參數優化演算法包括梯度下降演算法、牛頓法、擬牛頓法、共軛梯度法和啟發式優化演算法。
本說明書實施例提供的一種業務發生量的預測設備,所述業務發生量的預測設備包括:
處理器;以及
被安排成儲存電腦可執行指令的記憶體,所述可執行指令在被執行時使所述處理器:
將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,以及根據所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量;
根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量。
由以上本說明書實施例提供的技術方案可見,本說明書實施例透過將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,另外,還可以根據歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,最終,可以根據時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量,這樣,透過業務發生量分佈特徵向量(可以包括多維特徵向量)來對預定時間段內的業務發生量進行預測,可以在短期業務發生量波動較大的情況下相應調節最終的預測結果,有效避免業務發生量在短期波動較大影響最終的預測結果的情況發生,而且,透過業務發生量分佈特徵向量的方式,還可以較好的捕捉到指定時間段中業務發生量的變化趨勢(如歷史業務資料中業務發生量的變化趨勢等),從而可以提高業務發生量的預測準確率,減少業務風險以及提高了資金利用效率。
本說明書實施例提供一種業務發生量的預測方法、裝置及設備。
為了使本技術領域的人員更好地理解本說明書中的技術方案,下面將結合本說明書實施例中的圖式,對本說明書實施例中的技術方案進行清楚、完整地描述,顯然,所描述的實施例僅僅是本說明書一部分實施例,而不是全部的實施例。基於本說明書中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都應當屬於本說明書保護的範圍。
實施例一
如圖1所示,本說明書實施例提供一種業務發生量的預測方法,該方法的執行主體可以為終端設備或伺服器,其中,該終端設備可以如個人電腦等設備,也可以如手機、平板電腦等移動終端設備,該終端設備可以為用戶使用的終端設備。該伺服器可以是獨立的伺服器,也可以是由多個伺服器組成的伺服器集群等。該方法可以用於準確的即時預測業務發生量等處理中,本實施例中以伺服器為例進行說明,對於終端設備的情況,可以根據下述相關內容處理,在此不再贅述。該方法具體可以包括以下步驟:
在步驟S102中,將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量。
其中,預定時間段可以根據實際情況設定,具體如預定時間段可以是未來的一定時長,如從當前時間點到間隔1小時後的時間點等,還可以是當前時間點之前的某一時間段等。離散化處理可以是把無限空間中有限的個體映射到有限的空間中去,以此來提高演算法的時空效率的處理方式,也即是離散化處理是在不改變資料相對大小的條件下,對資料進行相應的縮小的處理方式,離散化處理是在資料本身很大,其自身無法作為數組的下標保存對應的屬性,如果此時只是需要該資料的相對屬性,則可以對該資料進行離散化處理,也即是當資料只與它們之間的相對大小有關,而與資料的具體內容無關時,可以對該資料進行離散化處理。業務發生量向量可以是用戶在完成某一項或多項業務時產生的相關資料的向量。業務發生量可以是進行或完成某一項或多項業務的用戶數量,或者用戶進行或完成的業務的數量等,例如,如圖2所示,其中可以包括多個伺服器,不同的伺服器可以為不同的業務提供服務,人們可以透過不同的業務伺服器完成不同的業務,業務發生量可以包括多種,例如交易量、轉化量等。時間粒度可以是業務發生或業務發生量統計的基本時間單位,如10分鐘或15分鐘等。
在實施中,由於線上海外購,線下當面付業務的迅猛發展,支付應用(如支付寶等)支持商戶、買家之間以不同的貨幣進行支付與收款。如果商戶與買家(即用戶)分別屬於不同的國家或地區,則無論是線上還是線下,用戶只需要使用本地使用的貨幣進行支付,這樣,支付應用就需要結算相應的外幣給不同的商家,因此,支付應用存在大量的換匯需求,這樣,支付應用需要在每個工作日購買一定數量的外匯以應對業務需求。為了儘量減少匯率波動對支付應用的影響,支付應用會在工作日當天與交易對手鎖定當天的購匯金額,這樣,支付應用需要在每個工作日購買一定數量的外匯以應對業務需求,故需要一種準確的即時方法能夠預測業務發生量,減少業務風險以及提高資金利用效率。在實際應用中,可以透過時間序列演算法,具體如移動平均法、滑動平均值、ARIMA或者Holt-Winters等,其輸入參數是時間序列數值,並根據不同的演算法給出預定時間段的發展趨勢,但是,上述時間序列演算法對時間序列趨勢的一致性要求較高,即如果最近的業務發展趨勢有異常,則根據上述演算法得出的預測結果很有可能也是異常的,且上述時間序列演算法對於即時資料的利用率不高,在實踐中不能準確的捕捉當日最新業務發生量的變化趨勢,從而造成預測值偏差較大。
另外,還可以透過比例法來即時預測業務產生量,該方法透過每小時業務產生量所占的比例,結合即時的該小時內的業務產生量,計算出當日的總業務產生量。而該方法對每小時業務產生量所占的比例的一致性要求較高,如果該小時的業務產生量發生驟變,則根據該方法得出的預測結果很有可能是異常的。
可見,為了能夠準確捕捉當日最新的業務發生量的變化趨勢,減小預測誤差,可以透過以下方式處理,具體可以包括以下內容:
可以先確定需要預測的時間段,如從當前時間點到間隔2小時後的時間點具體如當前時間點為10點鐘,間隔2小時後的時間點為12點鐘,則需要預測的時間段(即預定時間段)可以為10點鐘~12點鐘;再如,當前時間點為10點鐘,需要預測的時間段(即預定時間段)可以為10點鐘~當日的24點鐘等。伺服器中可以儲存有某一項或多項業務的相關資料,該資料可以是用戶在請求相關的業務,並在完成該項業務後產生的相關資料。伺服器確定預定時間段後,可以從儲存的相應業務資料中提取在上述預定時間段(如當前時刻的10點鐘~當日的24點鐘)之前一定時長(例如當前時刻的10點鐘之前一個月或二個月等)的歷史業務資料。通常,該歷史業務資料的資料量較大,為了降低伺服器的處理壓力,可以對得到的歷史業務資料進行離散化處理。透過對歷史業務資料的離散化處理,可以將歷史業務資料按照預定的規則離散成時間粒度的業務發生量向量,其中,可以將歷史業務資料劃分為兩個部分,其中的一部分可以為從當日的零點至即時業務資料中最新業務發生時刻(即當前時間點)的歷史業務資料,該部分歷史業務資料可以按照上述規則被離散為業務發生量向量;另一個部分可以為當日的零點之前的歷史業務資料,該部分資料還可以劃分為兩個部分,其中的一個部分可以是每一日的零點至該日中當前時間點對應的時刻的歷史業務資料,例如,當前時間點為10點鐘,當日的日期為2月28日,則該部分的歷史業務資料可以包括2月27日零點鐘~10點鐘的歷史業務資料、2月26日零點鐘~10點鐘的歷史業務資料、2月25日零點鐘~10點鐘的歷史業務資料,以此類推;另一部分可以是每一日中當前時間點對應的時刻~該日24點鐘的歷史業務資料,例如,基於上述示例,該部分的歷史業務資料可以包括2月27日10點鐘~24點鐘的歷史業務資料、2月26日10點鐘~24點鐘的歷史業務資料、2月25日10點鐘~24點鐘的歷史業務資料,以此類推。上述每一個部分的歷史業務資料可以按照上述規則被離散為業務發生量向量。
需要說明的是,可以將當日剩餘時刻(即當前時刻的10點鐘~當日的24點鐘)的業務發生量之和的總業務發生量,也即是需要預測的業務發生量。
在步驟S104中,根據上述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量。
在實施中,伺服器中可以預先設定產生特徵向量的規則或演算法,相應的規則或演算法可以根據實際情況確定,本說明書實施例對此不做限定。伺服器可以先從得到的歷史業務資料中提取連續時間的業務發生量,可以透過上述設定的規則或演算法將歷史業務資料中連續時間的業務發生量產生相應特徵來表徵業務發生量的分佈情況,上述產生的特徵即可以為分佈特徵,然後,伺服器可以將上述得到的分佈特徵與上述步驟S102中得到的時間粒度的業務發生量向量進行合併,得到業務發生量分佈特徵向量。其中,業務發生量分佈特徵向量可以有多種表現形式,例如每小時平均業務發生量、每小時業務發生量的增幅和每小時業務發生量的增長速率等。
在實際應用中,除了上述常用的業務發生量分佈特徵向量外,還可以包括其他特徵向量,例如週期性業務發生量分佈特徵向量(具體如每星期業務發生量分佈特徵向量、每季度業務發生量分佈特徵向量,每個月份業務發生量分佈特徵向量)、活動業務發生量分佈特徵向量(具體如促銷日的業務發生量分佈特徵向量)、滑動移動平均業務發生量分佈特徵向量(具體如計算一定窗口一定週期內的平均業務發生量分佈特徵向量)等。
在步驟S104中,且根據上述時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量。
在實施中,根據上述時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量的具體處理過程可以透過多種方式實現,為了可以很好的從歷史業務資料所體現出的業務發生量趨勢(或可以稱為過往趨勢)中擬合出最符合某一時間段(即預定時間段)內業務發生量趨勢的分佈,可以採用字典學習演算法實現對預定時間段內的業務發生量的預測,其中,字典學習演算法可以包括兩個階段,即字典構建階段和利用字典表示業務發生量階段,上述兩個階段中的每個階段可以透過許多不同演算法實現。字典學習實質上是對於龐大資料集的一種降維表示,另外,字典學習總是嘗試學習蘊藏在歷史業務資料深層中的最質樸的特徵。字典學習可以是預測業務發生量所使用的業務發生量分佈特徵向量與初始參數的線性表示,其中,初始參數可以基於歷史業務資料透過損失函數和參數優化演算法進行不斷迭代優化而得到,其中的損失函數可以用於度量上述業務發生量分佈特徵向量與初始參數的線性函數的擬合程度,可以基於現有線性函數計算預測業務發生量與歷史實際的業務發生量的損失值和梯度,當得到的損失函數最小時,則意味著擬合程度最優,對應的初始參數即為最優參數,損失函數的最小值可以透過參數優化演算法進行求解。其中的參數優化演算法可以包括多種,例如,可以具體使用梯度下降方法,以獲取到最優參數。首先,可以確定當前位置的損失函數的梯度(該梯度的數值可以由損失函數計算得到),可以使用初始步長乘以損失函數的梯度,得到當前位置下降的距離,此時,可以判斷是否對於所有的係數來說,梯度下降的距離都小於設定的誤差值,如果梯度下降的距離小於設定的誤差值,則終止參數優化演算法,此時初始參數已為最優參數,如果梯度下降的距離大於設定的誤差值,則可以更新所有初始參數,並繼續進行上述迭代計算,直至梯度下降的距離小於設定的誤差值為止。
伺服器可以透過預先設定的處理規則或演算法對上述得到的時間粒度的業務發生量向量和業務發生量分佈特徵向量進行合併處理,得到與預測業務發生量相關的多維向量組合,從而得到合併後的業務發生量分佈特徵向量,合併後的業務發生量分佈特徵向量可以是與業務發生量的預測相關的特徵向量。伺服器可以基於歷史業務資料分別對上述損失函數和參數優化演算法進行訓練,確定損失函數和參數優化演算法中的相關參數,從而得到訓練後的損失函數和參數優化演算法,然後,可以基於訓練後的損失函數和參數優化演算法對初始參數進行不斷迭代優化,得到最優參數。然後,可以使用上述業務發生量分佈特徵向量(可以當日的零點至即時業務資料中最新業務發生時刻的歷史業務資料對應的業務發生量分佈特徵向量為主)與上述得到的最優參數進行線性回歸,可以得到預定時間段內的業務發生量。
需要說明的是,在實際應用中,對預定時間段內的業務發生量的預測的處理不僅僅可以透過字典學習演算法實現,還可以透過其它演算法實現,例如稀疏模型的相關演算法等,本說明書實施例對此不做限定。
本說明書實施例提供一種業務發生量的預測方法,透過將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,另外,還可以根據歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,最終,可以根據時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量,這樣,透過業務發生量分佈特徵向量(可以包括多維特徵向量)來對預定時間段內的業務發生量進行預測,可以在短期業務發生量波動較大的情況下相應調節最終的預測結果,有效避免業務發生量在短期波動較大影響最終的預測結果的情況發生,而且,透過業務發生量分佈特徵向量的方式,還可以較好的捕捉到指定時間段中業務發生量的變化趨勢(如歷史業務資料中業務發生量的變化趨勢等),從而可以提高業務發生量的預測準確率,減少業務風險以及提高了資金利用效率。
實施例二
如圖3所示,本說明書實施例提供一種業務發生量的預測方法,該方法的執行主體可以為終端設備或伺服器,其中,該終端設備可以如個人電腦等設備,也可以如手機、平板電腦等移動終端設備,該終端設備可以為用戶使用的終端設備。該伺服器可以是獨立的伺服器,也可以是由多個伺服器組成的伺服器集群等。該方法可以用於準確的即時預測業務發生量等處理中,本實施例中以伺服器為例進行說明,對於終端設備的情況,可以根據下述相關內容處理,在此不再贅述。該方法具體可以包括以下步驟:
在步驟S302中,將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量。
在實施中,伺服器可以即時記錄各項業務產生的相關業務資料,記錄的相關業務資料中可以包括兩部分,一部分是當日(即從當日的零點到當前時刻)產生的業務資料,另一部分可以是當日之前的歷史業務資料。伺服器可以獲取上述兩部分的業務資料,可以對上述兩部分的業務資料根據一定的規則進行資料清洗。透過資料清洗可以對上述兩部分的業務資料進行重新審查和校驗,從而將兩部分的業務資料中的重複資訊刪除,並可以對其中存在的錯誤進行糾正等。得到糾正後的業務資料後,可以對其進行離散化處理,以得到時間粒度的業務發生量向量,其中對歷史業務資料進行離散化處理得到時間粒度的業務發生量向量的具體處理過程可以參見上述實施例一中步驟S102中的相關內容,在此不再贅述。
基於上述內容,伺服器中可以包括兩部分歷史業務資料,因此,歷史業務資料可以包括距離預定時間段最近的第一時間段的第一歷史業務資料和除所述第一歷史業務資料外的第二歷史業務資料,其中的距離預定時間段最近的第一時間段可以是指當日零點開始到當前時間點的時間段,第二歷史業務資料可以是當日之前的歷史業務資料,而第二歷史業務資料也可以包括兩部分,其中的一個部分可以是每一日的零點至該日中當前時間點對應的時刻的歷史業務資料,另一部分可以是每一日中當前時間點對應的時刻至該日24點鐘的歷史業務資料。對於上述劃分的多個部分的歷史業務資料可以分別執行以下步驟S304~步驟S316的處理。
在步驟S304中,根據上述第一歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第一特徵向量。
在實施中,伺服器中可以預先設定產生特徵向量的規則或演算法,相應的規則或演算法可以根據實際情況確定,本說明書實施例對此不做限定。伺服器可以先從得到的第一歷史業務資料中提取連續時間的業務發生量,可以透過上述設定的規則或演算法將第一歷史業務資料中連續時間的業務發生量產生業務發生量分佈的第一特徵向量。例如,如果第一歷史業務資料為當日零點開始到當前時間點的歷史業務資料,則基於第一歷史業務資料的時間粒度的業務發生量向量,可以得到1×N維的第一特徵向量。
在步驟S306中,根據上述第二歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第二特徵向量。
在實施中,伺服器可以先從得到的第二歷史業務資料中提取連續時間的業務發生量,可以透過上述設定的規則或演算法將第二歷史業務資料中連續時間的業務發生量產生業務發生量分佈的第二特徵向量。例如,對第二歷史業務資料中每一日零點開始到該日中當前時間點對應的時刻的歷史業務資料,則基於該歷史業務資料的時間粒度的業務發生量向量,可以得到1×N維的第二特徵向量;對第二歷史業務資料中每一日中當前時間點對應的時刻開始到該日24點鐘的歷史業務資料,則基於該歷史業務資料的時間粒度的業務發生量向量,可以得到1×N維的第二特徵向量。
在步驟S308中,分別將上述時間粒度的業務發生量向量與上述第一特徵向量和上述第二特徵向量進行合併,得到合併後的第一特徵向量和第二特徵向量。
在實施中,伺服器可以將上述得到的第一特徵向量和第二特徵向量分別與上述步驟S302中得到的時間粒度的業務發生量向量進行合併,得到合併後的業務發生量分佈特徵向量(即合併後的第一特徵向量和第二特徵向量)。其中,第一特徵向量和第二特徵向量可以有多種表現形式,例如每小時平均業務發生量、每小時業務發生量的增幅和每小時業務發生量的增長速率等。
需要說明的是,上述合併後的第一特徵向量和第二特徵向量可以包括如每小時平均業務發生量、每小時業務發生量的增幅和每小時業務發生量的增長速率等,此外,還可以包括如週期性業務發生量分佈特徵向量、活動業務發生量分佈特徵向量、滑動移動平均業務發生量分佈特徵向量等。
為了表明各個不同特徵向量的重要關係,可以為第一特徵向量和第二特徵向量分別設置相應的權重,具體可以參見下述步驟S310和步驟S312的處理。
在步驟S310中,確定上述第一特徵向量和上述第二特徵向量之間的相似度。
在實施中,可以透過第一特徵向量和第二特徵向量之間的相似度來判定兩者權重的數值,為此可以設定進行相似度計算的相關演算法,在實際應用中,可以透過以下任一種方法確定第一特徵向量和第二特徵向量之間的相似度:歐式距離、向量的夾角餘弦值,以及向量的差的絕對值。以歐式距離為例,伺服器可以計算第一特徵向量與第二特徵向量之間的歐氏距離,透過得到的歐式距離的資料,可以判定第一特徵向量和第二特徵向量之間的相似度,即當第一特徵向量與第二特徵向量之間的歐氏距離越小,則表明第一特徵向量與第二特徵向量之間越接近,兩者的相似度越高,在後續進行業務發生量預測時,該第二特徵向量的比重越大;當第一特徵向量與第二特徵向量之間的歐氏距離越大,則表明第一特徵向量與第二特徵向量之間相差越大(或差別越大),兩者的相似度越低,在後續進行業務發生量預測時,該第二特徵向量的比重越小。相應的,對於以向量的夾角餘弦值或向量的差的絕對值為相似度計算演算法的具體處理方式和判斷方式,可以與上述歐式距離的情況類似,具體可以參見歐式距離的處理過程,在此不再贅述。
在步驟S312中,根據第一特徵向量和第二特徵向量之間的相似度,確定第二特徵向量的權重。
在實施中,伺服器透過上述步驟S310的處理得到第一特徵向量和第二特徵向量之間的相似度後,可以基於兩者的相似度確定第二特徵向量的權重,在實際應用中可以將上述計算得到的第一特徵向量與第二特徵向量之間的歐氏距離的數值作為第二特徵向量的權重,或者,可以將第一特徵向量與第二特徵向量之間的夾角餘弦值作為第二特徵向量的權重,或者,可以將第一特徵向量與第二特徵向量的差的絕對值作為第二特徵向量的權重等。
可以透過字典學習演算法確定預定時間段內的業務發生量,其中的字典學習演算法中可以包括初始參數,而且,字典學習演算法中還涉及到損失函數和參數優化演算法,具體處理過程可以參見下述步驟S314和步驟S316的處理。
在步驟S314中,基於上述第二特徵向量和第二特徵向量的權重,透過損失函數和預定參數優化演算法對初始參數進行優化,得到優化後的初始參數。
其中,預定參數優化演算法可以包括多種,以下提供多種可選的演算法,可以包括梯度下降演算法、牛頓法、擬牛頓法、共軛梯度法和啟發式優化演算法等。損失函數可以是指一種將一個事件映射到一個表達與該事件相關的經濟成本或機會成本的實數上的函數。
在實施中,可以在伺服器中預先設定損失函數和參數優化演算法的具體內容,例如可以設定梯度下降演算法或牛頓法作為參數優化演算法,並可以將預先設定的損失函數的具體形式寫入到伺服器中。伺服器可以透過第二歷史業務資料對應的第二特徵向量和第二特徵向量的權重,以及預先設定的損失函數和參數優化演算法,對字典學習演算法中的初始參數進行迭代計算,可以透過多次的迭代計算,得到最優的初始參數,進而得到優化後的初始參數。
在步驟S316中,根據優化後的初始參數和上述第一特徵向量,確定預定時間段內的業務發生量。
上述步驟S316的具體處理過程可以參見上述實施例一中步驟S104中的相關內容,在此不再贅述。
透過上述步驟S302~步驟S316的處理過程,透過採用多維特徵向量的方式來預測業務發生量,該處理過程中對時間趨勢的一致性要求不高,例如近期或者臨近1小時內業務發生量波動較大(或者,上漲或下降明顯),則該處理過程可以自動調節最終得到的預測結果;另外,該處理過程可以較好的捕捉到指定時間段中業務發生量的變化趨勢,並透過字典學習演算法可以很好的從歷史業務資料中業務發生量的變化趨勢中擬合最符合即時資料的趨勢分佈。利用該處理過程可以在即時預測中取得優於透過時間序列方式進行預測的準確率。
本說明書實施例提供一種業務發生量的預測方法,透過將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,另外,還可以根據歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,最終,可以根據時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量,這樣,透過業務發生量分佈特徵向量(可以包括多維特徵向量)來對預定時間段內的業務發生量進行預測,可以在短期業務發生量波動較大的情況下相應調節最終的預測結果,有效避免業務發生量在短期波動較大影響最終的預測結果的情況發生,而且,透過業務發生量分佈特徵向量的方式,還可以較好的捕捉到指定時間段中業務發生量的變化趨勢(如歷史業務資料中業務發生量的變化趨勢等),從而可以提高業務發生量的預測準確率,減少業務風險以及提高了資金利用效率。
實施例三
以上為本說明書實施例提供的業務發生量的預測方法,基於同樣的思路,本說明書實施例還提供一種業務發生量的預測裝置,如圖4所示。
該業務發生量的預測裝置包括:處理模組401和業務發生量預測模組402,其中:
處理模組401,用於將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,以及根據所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量;
業務發生量預測模組402,用於根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量。
本說明書實施例中,所述歷史業務資料包括距離所述預定時間段最近的第一時間段的第一歷史業務資料和除所述第一歷史業務資料外的第二歷史業務資料,
所述處理模組401,包括:
第一特徵向量產生單元,用於根據所述第一歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第一特徵向量;
第二特徵向量產生單元,用於根據所述第二歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第二特徵向量。
本說明書實施例中,所述裝置還包括:
相似度確定模組,用於確定所述第一特徵向量和所述第二特徵向量之間的相似度;
權重確定模組,用於根據所述第一特徵向量和所述第二特徵向量之間的相似度,確定所述第二特徵向量的權重。
本說明書實施例中,所述相似度確定模組,用於透過以下任一種裝置確定所述第一特徵向量和所述第二特徵向量之間的相似度:歐式距離、向量的夾角餘弦值,以及向量的差的絕對值。
本說明書實施例中,所述業務發生量預測模組402,包括:
合併單元,用於分別將所述時間粒度的業務發生量向量與所述第一特徵向量和所述第二特徵向量進行合併,得到合併後的第一特徵向量和第二特徵向量;
初始參數優化單元,用於基於所述第二特徵向量和所述第二特徵向量的權重,透過損失函數和預定參數優化演算法對初始參數進行優化,得到優化後的初始參數;
業務發生量預測單元,用於根據優化後的初始參數和所述第一特徵向量,確定所述預定時間段內的業務發生量。
本說明書實施例中,所述預定參數優化演算法包括梯度下降演算法、牛頓法、擬牛頓法、共軛梯度法和啟發式優化演算法。
本說明書實施例提供一種業務發生量的預測裝置,透過將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,另外,還可以根據歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,最終,可以根據時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量,這樣,透過業務發生量分佈特徵向量(可以包括多維特徵向量)來對預定時間段內的業務發生量進行預測,可以在短期業務發生量波動較大的情況下相應調節最終的預測結果,有效避免業務發生量在短期波動較大影響最終的預測結果的情況發生,而且,透過業務發生量分佈特徵向量的方式,還可以較好的捕捉到指定時間段中業務發生量的變化趨勢(如歷史業務資料中業務發生量的變化趨勢等),從而可以提高業務發生量的預測準確率,減少業務風險以及提高了資金利用效率。
實施例四
以上為本說明書實施例提供的業務發生量的預測裝置,基於同樣的思路,本說明書實施例還提供一種業務發生量的預測設備,如圖5所示。
所述業務發生量的預測設備可以為上述實施例提供的伺服器或終端設備。
業務發生量的預測設備可因配置或性能不同而產生比較大的差異,可以包括一個或一個以上的處理器501和記憶體502,記憶體502中可以儲存有一個或一個以上儲存應用程式或資料。其中,記憶體502可以是短暫儲存或持久儲存。儲存在記憶體502的應用程式可以包括一個或一個以上模組(圖示未示出),每個模組可以包括對業務發生量的預測設備中的一系列電腦可執行指令。更進一步地,處理器501可以設置為與記憶體502通信,在業務發生量的預測設備上執行記憶體502中的一系列電腦可執行指令。業務發生量的預測設備還可以包括一個或一個以上電源503,一個或一個以上有線或無線網路介面504,一個或一個以上輸入輸出介面505,一個或一個以上鍵盤506。
具體在本實施例中,業務發生量的預測設備包括有記憶體,以及一個或一個以上的程式,其中一個或者一個以上程式儲存於記憶體中,且一個或者一個以上程式可以包括一個或一個以上模組,且每個模組可以包括對業務發生量的預測設備中的一系列電腦可執行指令,且經配置以由一個或者一個以上處理器執行該一個或者一個以上程式包含用於進行以下電腦可執行指令:
將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,以及根據所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量;
根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量。
可選地,所述歷史業務資料包括距離所述預定時間段最近的第一時間段的第一歷史業務資料和除所述第一歷史業務資料外的第二歷史業務資料,
所述根據所述時間粒度的業務發生量向量和所述歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,包括:
根據所述第一歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第一特徵向量;
根據所述第二歷史業務資料中連續時間的業務發生量,產生業務發生量分佈的第二特徵向量。
可選地,所述根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量之前,所述方法還包括:
確定所述第一特徵向量和所述第二特徵向量之間的相似度;
根據所述第一特徵向量和所述第二特徵向量之間的相似度,確定所述第二特徵向量的權重。
可選地,所述確定所述第一特徵向量和所述第二特徵向量之間的相似度,包括:
透過以下任一種方法確定所述第一特徵向量和所述第二特徵向量之間的相似度:歐式距離、向量的夾角餘弦值,以及向量的差的絕對值。
可選地,所述根據所述時間粒度的業務發生量向量和所述業務發生量分佈特徵向量,確定所述預定時間段內的業務發生量,包括:
分別將所述時間粒度的業務發生量向量與所述第一特徵向量和所述第二特徵向量進行合併,得到合併後的第一特徵向量和第二特徵向量;
基於所述第二特徵向量和所述第二特徵向量的權重,透過損失函數和預定參數優化演算法對初始參數進行優化,得到優化後的初始參數;
根據優化後的初始參數和所述第一特徵向量,確定所述預定時間段內的業務發生量。
可選地,所述預定參數優化演算法包括梯度下降演算法、牛頓法、擬牛頓法、共軛梯度法和啟發式優化演算法。
本說明書實施例提供一種業務發生量的預測設備,透過將預定時間段之前的歷史業務資料進行離散化處理,得到時間粒度的業務發生量向量,另外,還可以根據歷史業務資料中連續時間的業務發生量,產生業務發生量分佈特徵向量,最終,可以根據時間粒度的業務發生量向量和業務發生量分佈特徵向量確定預定時間段內的業務發生量,這樣,透過業務發生量分佈特徵向量(可以包括多維特徵向量)來對預定時間段內的業務發生量進行預測,可以在短期業務發生量波動較大的情況下相應調節最終的預測結果,有效避免業務發生量在短期波動較大影響最終的預測結果的情況發生,而且,透過業務發生量分佈特徵向量的方式,還可以較好的捕捉到指定時間段中業務發生量的變化趨勢(如歷史業務資料中業務發生量的變化趨勢等),從而可以提高業務發生量的預測準確率,減少業務風險以及提高了資金利用效率。
上述對本說明書特定實施例進行了描述。其它實施例在所附申請專利範圍的範圍內。在一些情況下,在申請專利範圍中記載的動作或步驟可以按照不同於實施例中的順序來執行並且仍然可以實現期望的結果。另外,在圖式中描繪的過程不一定要求示出的特定順序或者連續順序才能實現期望的結果。在某些實施方式中,多任務處理和平行處理也是可以的或者可能是有利的。
在20世紀90年代,對於一個技術的改進可以很明顯地區分是硬體上的改進(例如,對二極體、電晶體、開關等電路結構的改進)還是軟體上的改進(對於方法流程的改進)。然而,隨著技術的發展,當今的很多方法流程的改進已經可以視為硬體電路結構的直接改進。設計人員幾乎都透過將改進的方法流程程式化到硬體電路中來得到相應的硬體電路結構。因此,不能說一個方法流程的改進就不能用硬體實體模組來實現。例如,可程式化邏輯器件(Programmable Logic Device,PLD)(例如現場可程式化閘陣列(Field Programmable Gate Array,FPGA))就是這樣一種積體電路,其邏輯功能由用戶對器件程式化來確定。由設計人員自行程式化來把一個數位系統“整合”在一片PLD上,而不需要請晶片製造廠商來設計和製作專用的積體電路晶片。而且,如今,取代手工地製作積體電路晶片,這種程式化也多半改用“邏輯編譯器(logic compiler)”軟體來實現,它與程式開發撰寫時所用的軟體編譯器相類似,而要編譯之前的原始碼也得用特定的程式化語言來撰寫,此稱之為硬體描述語言(Hardware Description Language,HDL),而HDL也並非僅有一種,而是有許多種,如ABEL(Advanced Boolean Expression Language)、AHDL (Altera Hardware Description Language)、Confluence、CUPL(Cornell University Programming Language)、HDCal、JHDL(Java Hardware Description Language)、Lava、Lola、MyHDL、PALASM、RHDL(Ruby Hardware Description Language)等,目前最普遍使用的是VHDL(Very-High-Speed Integrated Circuit Hardware Description Language)與Verilog。本領域技術人員也應該清楚,只需要將方法流程用上述幾種硬體描述語言稍作邏輯程式化並程式化到積體電路中,就可以很容易得到實現該邏輯方法流程的硬體電路。
控制器可以按任何適當的方式實現,例如,控制器可以採取例如微處理器或處理器以及儲存可由該(微)處理器執行的電腦可讀程式碼(例如軟體或韌體)的電腦可讀媒體、邏輯閘、開關、專用積體電路(Application Specific Integrated Circuit,ASIC)、可程式化邏輯控制器和嵌入微控制器的形式,控制器的例子包括但不限於以下微控制器:ARC 625D、Atmel AT91SAM、Microchip PIC18F26K20 以及Silicone Labs C8051F320,記憶體控制器還可以被實現為記憶體的控制邏輯的一部分。本領域技術人員也知道,除了以純電腦可讀程式碼方式實現控制器以外,完全可以透過將方法步驟進行邏輯程式化來使得控制器以邏輯閘、開關、專用積體電路、可程式化邏輯控制器和嵌入微控制器等的形式來實現相同功能。因此這種控制器可以被認為是一種硬體部件,而對其內包括的用於實現各種功能的裝置也可以視為硬體部件內的結構。或者甚至,可以將用於實現各種功能的裝置視為既可以是實現方法的軟體模組又可以是硬體部件內的結構。
上述實施例闡明的系統、裝置、模組或單元,具體可以由電腦晶片或實體實現,或者由具有某種功能的產品來實現。一種典型的實現設備為電腦。具體的,電腦例如可以為個人電腦、膝上型電腦、蜂窩電話、相機電話、智慧電話、個人數位助理、媒體播放器、導航設備、電子郵件設備、遊戲控制台、平板電腦、可穿戴設備或者這些設備中的任何設備的組合。
為了描述的方便,描述以上裝置時以功能分為各種單元分別描述。當然,在實施本說明書一個或多個實施例時可以把各單元的功能在同一個或多個軟體和/或硬體中實現。
本領域內的技術人員應明白,本說明書的實施例可提供為方法、系統、或電腦程式產品。因此,本說明書一個或多個實施例可採用完全硬體實施例、完全軟體實施例、或結合軟體和硬體方面的實施例的形式。而且,本說明書一個或多個實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書的實施例是參照根據本說明書實施例的方法、設備(系統)、和電腦程式產品的流程圖和/或方塊圖來描述的。應理解可由電腦程式指令實現流程圖和/或方塊圖中的每一流程和/或方塊、以及流程圖和/或方塊圖中的流程和/或方塊的結合。可提供這些電腦程式指令到通用電腦、專用電腦、嵌入式處理機或其他可程式化資料處理設備的處理器以產生一個機器,使得透過電腦或其他可程式化資料處理設備的處理器執行的指令產生用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的裝置。
這些電腦程式指令也可儲存在能引導電腦或其他可程式化資料處理設備以特定方式工作的電腦可讀記憶體中,使得儲存在該電腦可讀記憶體中的指令產生包括指令裝置的製造品,該指令裝置實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能。
這些電腦程式指令也可裝載到電腦或其他可程式化資料處理設備上,使得在電腦或其他可程式化設備上執行一系列操作步驟以產生電腦實現的處理,從而在電腦或其他可程式化設備上執行的指令提供用於實現在流程圖一個流程或多個流程和/或方塊圖一個方塊或多個方塊中指定的功能的步驟。
在一個典型的配置中,計算設備包括一個或多個處理器(CPU)、輸入/輸出介面、網路介面和記憶體。
記憶體可能包括電腦可讀媒體中的非永久性記憶體,隨機存取記憶體(RAM)和/或非揮發性記憶體等形式,如唯讀記憶體(ROM)或快閃記憶體(flash RAM)。記憶體是電腦可讀媒體的示例。
電腦可讀媒體包括永久性和非永久性、可移動和非可移動媒體可以由任何方法或技術來實現資訊儲存。資訊可以是電腦可讀指令、資料結構、程式的模組或其他資料。電腦的儲存媒體的例子包括,但不限於相變記憶體(PRAM)、靜態隨機存取記憶體(SRAM)、動態隨機存取記憶體(DRAM)、其他類型的隨機存取記憶體(RAM)、唯讀記憶體(ROM)、電可擦除可程式化唯讀記憶體(EEPROM)、快閃記憶體或其他記憶體技術、唯讀光碟唯讀記憶體(CD-ROM)、數位多功能光碟(DVD)或其他光學儲存、磁盒式磁帶,磁帶磁碟儲存或其他磁性儲存設備或任何其他非傳輸媒體,可用於儲存可以被計算設備存取的資訊。按照本文中的界定,電腦可讀媒體不包括暫存電腦可讀媒體(transitory media),如調變的資料信號和載波。
還需要說明的是,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、商品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、商品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,並不排除在包括所述要素的過程、方法、商品或者設備中還存在另外的相同要素。
本領域技術人員應明白,本說明書的實施例可提供為方法、系統或電腦程式產品。因此,本說明書一個或多個實施例可採用完全硬體實施例、完全軟體實施例或結合軟體和硬體方面的實施例的形式。而且,本說明書一個或多個實施例可採用在一個或多個其中包含有電腦可用程式碼的電腦可用儲存媒體(包括但不限於磁碟記憶體、CD-ROM、光學記憶體等)上實施的電腦程式產品的形式。
本說明書一個或多個實施例可以在由電腦執行的電腦可執行指令的一般上下文中描述,例如程式模組。一般地,程式模組包括執行特定任務或實現特定抽象資料類型的例程、程式、對象、組件、資料結構等等。也可以在分散式計算環境中實踐本說明書一個或多個實施例,在這些分散式計算環境中,由透過通信網路而被連接的遠端處理設備來執行任務。在分散式計算環境中,程式模組可以位於包括儲存設備在內的本地和遠端電腦儲存媒體中。
本說明書中的各個實施例均採用遞進的方式描述,各個實施例之間相同相似的部分互相參見即可,每個實施例重點說明的都是與其他實施例的不同之處。尤其,對於系統實施例而言,由於其基本相似於方法實施例,所以描述的比較簡單,相關之處參見方法實施例的部分說明即可。
以上所述僅為本說明書的實施例而已,並不用於限制本申請。對於本領域技術人員來說,本申請可以有各種更改和變化。凡在本申請的精神和原理之內所作的任何修改、等同替換、改進等,均應包含在本申請的申請專利範圍的範疇之內。
S102、S104、S106‧‧‧步驟
S302、S304、S306、S308、S310、S312、S314、S316‧‧‧步驟
401‧‧‧處理模組
402‧‧‧業務發生量預測模組
501‧‧‧處理器
502‧‧‧記憶體
503‧‧‧電源
504‧‧‧有線或無線網路介面
505‧‧‧輸入輸出介面
506‧‧‧鍵盤
為了更清楚地說明本說明書實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的圖式作簡單地介紹,顯而易見地,下面描述中的圖式僅僅是本說明書中記載的一些實施例,對於本領域普通技術人員來講,在不付出創造性勞動性的前提下,還可以根據這些圖式獲得其他的圖式。
圖1為本說明書一種業務發生量的預測方法實施例;
圖2為本說明書一種業務發生量的預測系統的結構示意圖;
圖3為本說明書另一種業務發生量的預測方法實施例;
圖4為本說明書一種業務發生量的預測裝置實施例;
圖5為本說明書一種業務發生量的預測設備實施例。