999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

社會化信息對股市波動影響分析—基于SparkR平臺的實現

2017-04-14 00:47:16倪麗萍馬馳宇劉小軍
計算機應用與軟件 2017年3期
關鍵詞:分類文本情感

倪麗萍 馬馳宇 劉小軍

(合肥工業大學管理學院 安徽 合肥 230009)(合肥工業大學過程優化與智能決策教育部重點實驗室 安徽 合肥 230009)

社會化信息對股市波動影響分析—基于SparkR平臺的實現

倪麗萍 馬馳宇 劉小軍

(合肥工業大學管理學院 安徽 合肥 230009)(合肥工業大學過程優化與智能決策教育部重點實驗室 安徽 合肥 230009)

社會信息化的飛速發展使得社會化信息日益豐富。這些信息會對股市波動產生一定影響,然而這些信息數量巨大且多屬于非結構化數據,使得分析社會化信息對市場的影響具有一定的難度。嘗試通過分布式計算技術來解決這個問題,并從信息量和信息情感兩個方面考察社會化信息對股市的影響。通過搭建SparkR平臺,首先討論如何利用該平臺解決大數據環境下股市社會化信息的特征選擇以及情感分類問題,其次對比了信息量和信息情感對市場的影響情況,說明信息情感變化更能準確說明市場的波動變化情況。為進一步驗證方案的可行性,定義了不同的情感計量方式并對比了不同方案的優缺點,進而給出分析社會化信息對股市波動影響的綜合解決方案,并且通過實驗驗證了該方案的有效性。

SparkR 特征選擇 分布式計算 文本挖掘 情感分類

0 引 言

近年來隨著社會信息化的飛速發展,金融門戶網站日益繁榮,微博、論壇日趨活躍,金融行業產生了海量數據,尤其是海量的非結構化數據。研究表明這些非結構化文本數據中包含的評論、情感因子等信息對金融行業產生著巨大的影響,所以金融文本數據分析日益興起和被重視,國內外學者在金融文本數據分析方面也取得了一系列成果。

國外,研究者Wuthrich等人開發了一個基于門戶網站上隔夜新聞的股票指數預測系統,根據該系統的建議進行交易,平均收益率達到5.2%。Lavrenko等人在2000年左右開發了基于雅虎財經網站公布的新聞文章的Enalyst系統來預測美國股市的價格趨勢,利用該系統平均每次交易的收益為23個基點[3]。Zhang等人研究了Twitter上金融信息對美國三大股指的影響[4]。Gilbert等利用博客數據構建了焦慮情緒指數并證明該指數能夠反向預測標普500指數走勢[5]。Bollen等基于Twitter數據發現情緒可以預測未來2~6天的道瓊斯指數走勢[6]。Peramunetilleke等人將文本分類技術應用到外匯市場短期走勢中,得到了較好的結果[7]。相較于國外,國內關于金融文本數據分析的研究尚處于起步階段,一些學者將文本分析技術用于金融市場。黃潤鵬等將微博中的信息用于上證指數的預測[8]。賴凱聲等討論了微博情緒因子和上證指數的相關性走勢圖[9]。朱浩然等討論了金融微博中的情感分析問題,并進而將其應用于市場預測中[10]。此外,還有一些學者討論了特定文本信息源下金融文本分析技術,例如,王巖等研究了面向金融領域論壇的話題檢測和熱度評價方法[11]。

上述研究雖然促進了文本金融數據分析方法和應用的發展,但是網絡金融文本數據具有數據來源廣泛、結構復雜多樣和數據量大的特點,上述研究沒有考慮到處理的時效性。因此要求尋找新的解決方案以適應大數據的挑戰。

本文將分布式計算技術引入到文本金融數據分析中。構建了SparkR平臺既可以利用R語言的便利性和易于操作性,也可以利用Spark平臺進行分布式計算,解決文本金融數據分析中的大數據挑戰。

基于上述,本文以SparkR為基礎討論基于SparkR平臺下社會信息量和社會信息情感態度對市場的影響情況。

1 社會化信息對股價波動的影響分析

本文分別考察新聞信息量和新聞信息情感對股價波動的影響,為了完成這一任務需要解決如下兩個問題:(1) 進行特征選擇來挑選出關鍵信息以便通過情感分類算法區分社會化信息的情感態度;(2) 對社會化信息進行情感分類區分其情感態度后,量化情感態度并考察其對股市波動的影響。為了解決這兩個問題,本文設計了三個模型從不同的角度予以探討。所有模型以上證50股指為研究對象,因此選取上證50所包含的50只股票在2013年-2014年內的所有要聞。選取方法為以50只股票所屬企業的主題名稱作為關鍵詞,在每個網站進行搜索,抓取所有相關新聞網頁。通過爬蟲函數抓取和訊財經、新浪財經、騰訊財經三個網站的股票要聞板塊新聞,建立模型分析互聯網股票新聞與上證50股指波動的相關性。

模型一 探討新聞信息量對股價波動的影響。

定義1 新聞信息量。新聞信息量是指在一段時間內一家企業發生的相關新聞總量。

計算新聞信息量時,將以該企業主題名搜索的相關網頁歸屬于該企業新聞,賦予權重α,對以其他企業主題名搜索卻包含該企業主題名稱的新聞賦予權重β,對每一家企業求取加權的新聞和,得到每一家企業的新聞信息量。具體公式如下:

Ii=αPi+βNi

(1)

其中0<β<α<1,Pi為歸屬于該企業的新聞數量,Ni為包含該企業主體名但不屬于該企業的新聞數量。最后通過上證50指數的派許加權方式得到上證50的新聞信息量。模型一沒有進行特征篩選和情感態度分類,僅僅考察了社會化信息數量上如何影響股市波動。

模型二 探討新聞情感信息量對股價波動的影響。

定義2 新聞情感信息量。新聞情感信息量是指在一段時間內一家企業發生的正向新聞與負向新聞數量之差。

即使是要聞板塊的新聞也不會全部對股價波動有較大影響,并且新聞對股價的影響有正負之分,所以需要對新聞進行分類以區分新聞對股價的不同影響。因此模型二引入新聞情感來區分新聞,并分別統計同一段時間段中正向新聞和負向新聞的數量,進而考察新聞情感信息量對股價的影響。

在模型二中,本文依然采用模型一的新聞歸屬與賦權方式。為了篩選出對股價有影響的新聞并對這些新聞進行情感分類,本文通過K-means聚類獲取所需的特征詞和訓練集。為了提高聚類準確率并充分提取分類極性詞,本文選取周股價漲跌幅在5%以上的企業新聞文本作為聚類訓練集,去除訓練集包含的一些金融常用詞、停用詞后,將新聞聚為正反兩類。分別選取包含文本數較多的正類和負類作為分類訓練集,計算極性詞頻后將正反新聞都高頻出現的極性詞刪除作為特征詞候選集。為了進一步提取最終的特征詞,本文利用如下方法實現,實現過程分為如下三步:

Step1 設訓練樣本初始特征集為φ,按詞頻從大到小依次從候選詞集中選擇一個特征詞添加到特征集中,并對訓練樣本進行訓練得到初步模型。

Step2 將分類后的新聞與之前的聚類結果做比較,人工標注分類與聚類不同的新聞樣本,再針對性地對特征詞進行調整。調整的過程為如果人工標注結果與聚類結果一致,則按照特征集提取關鍵詞,從特征集中去除在相應反類中詞頻最高的關鍵詞。如果人工標注結果與分類器結果一致,則將該篇文章從訓練集中刪除,調整相應的詞頻,完成整個調整過程。

Step3 重復Step1、Step2,直到準確率保持穩定后停止訓練,得到最終模型。最后利用訓練好的分類器對新聞分類,確定新聞的情感,并將一些由于信息混雜或情感信息不充分導致無法分類的新聞作為對股價影響不明顯的新聞去除。

通過上述步驟可求得每一家企業的新聞情感信息量,具體公式為:

Ii=α(Li-Ji)+β(Mi-Ki)

(2)

其中Li為歸屬于該企業新聞中正向情感新聞數量,Ji為歸屬于該企業的新聞中負向情感新聞數量,Mi為包含該企業主體名但不屬于該企業的新聞中正向情感新聞數量,Ki為包含該企業主體名但不屬于該企業的新聞中負向情感新聞數量。最后通過上證50指數的派許加權方式得到上證50的新聞情感信息量。流程如圖1所示。

圖1 新聞情感信息量模型流程圖

模型二通過聚類算法來進行特征選擇。通過分類算法進行情感分類。本文中通過有偏的選擇訓練樣本來提高聚類的準確性。本文認為聚類的結果包含兩種,一種是需要的包含特殊信息的新聞,這一類新聞對股市的影響較大,通過分詞可以獲取所需的主要特征,即解決特征選擇問題。另一種是包含信息不充分、對股市影響較小或不明確的新聞,這一類新聞予以刪除。通過樣本有偏選擇和聚類算法,可以充分利用大量新聞準確快速提取關鍵信息,以適應數據量爆炸和快速響應的現實需求。

模型三 探討新聞情感詞強度對股價波動的影響

定義3 新聞情感詞強度。新聞情感詞強度是指在一段時間內一家企業發生新聞中正向情感詞與負向情感詞數量之差。

模型二通過分類算法求得新聞的情感,還可以利用情感詞的數量來表示新聞的情感。為了研究的充分性,模型三引入新聞情感詞強度。本文依然采用模型一的新聞歸屬與賦權方式,引入路透社金融詞典并對其進行人工修正選出其中的情感詞作為情感詞詞典。分別求取每篇新聞中包含的正負情感詞數量,求得每家企業的新聞情感詞強度,公式為:

Ii=α(Wi-Xi)+β(Yi-Zi)

(3)

其中Wi為歸屬于該企業的新聞中正向情感詞數量,Xi為歸屬于該企業的新聞中負向情感詞數量,Yi為包含該企業主體名但不屬于該企業的新聞中正向情感詞數量,Zi為包含該企業主體名但不屬于該企業的新聞中負向情感詞數量。最后通過上證50指數的派許加權方式得到上證50的新聞情感詞強度。模型三通過情感詞典的方式進行特征選擇,并通過計算詞頻來進行情感態度區分。這樣區分相對較為簡單,也可以得到情感結果。

由于新聞文本數眾多以及文本分詞后形成的詞頻矩陣屬于高維稀疏矩陣,所以相應的聚類、分類算法需要在分布式平臺下實現,以適應大數據金融分析的及時性與準確性要求。下面探討這些算法在SparkR平臺下的實現。

2 SparkR模型及網絡金融文本數據挖掘算法實現

SparkR是AMPLab發布的一個R的開發包,其將Spark和R結合,其既具有Spark的數據結構和應用架構,又利用了R語言完成數據分析的便利性,所以十分適合完成金融大數據分析任務。該R包為ApacheSpark的R輕量前端,提供了RRDD的API,用戶可以在集群上通過Rshell交互性的運行job。SparkR提供了PipelinedRDD優化,可以將Execute交由RVM計算的內容統一處理,然后統一將計算結果返回給Execute,而不用兩者之間頻繁漸次通信,從而大大地節省了傳輸和序列化反序列化的時間。最后,SparkR還支持常見的閉包功能,用戶定義的函數中所引用的變量會自動被發送到集群中其他機器上。[1]SparkR將R語言結合SparkContext通過JNI接口來啟動一個JavaSparkContext,然后由JavaSparkContext連接到Worker上的Executor。SparkR運行原理如圖2所示。

圖2 SparkR運行原理

由于可以很方便地利用該包實現相應的金融大數據分析所需的爬蟲、聚類、分類算法,根據上節描述,在聚類算法上本文選取的是k-means算法,在分類算法上選擇的是隨進森林方法。具體的實現算法描述如下。

其中Step2完成選取特征詞的任務,并在Step3利用reduceByKey算子得出特征詞矩陣。

2.1 文本數據預處理

在獲取新聞語料庫后,需要對新聞進行文本預處理。而文本預處理的工作核心為將中文文檔進行分詞處理,并形成特征詞詞頻矩陣。分詞工具采取的是R提供的Rwordseg包。文本預處理任務分三個階段完成。第一階段,將爬蟲抓取后的文本分布式存儲到每個節點上,利用分詞工具分布式對所有文本進行分詞,形成文本的詞頻矩陣。第二階段將自定義的有序金融詞典特征詞初始化為RDD并將之廣播,通過進行字符匹配并記錄下匹配到的特征詞序號作為key值,value值為1。第三階段利用reduceBeKey算子對每篇文檔進行處理,將key值相同的value值相加,并加上新聞標號,則得到相應文檔詞頻矩陣的三元組記為(i,key,value),其中i表示這是第i篇文檔,key為關鍵詞在金融詞典的序號,value為該特征詞在該文檔出現的次數。相關步驟如算法1所示。

算法1 文本預處理算法

輸入:待分詞的新聞文本

輸出:文本詞頻矩陣

Step1 將新聞文本初始化為RDD,并將之利用分詞函數分詞。

Step2 定義函數filter=function(x){if(x ==dictRDD[i]) return c(i,1)},lapply(fileRDD,fun=filter)結果記為featureRDD,為c(key,value)類型,key為i,value為1。

Step3 調用reduceByKey(featureRDD, “+”,2L),結果為每篇文檔每個非0詞頻關鍵詞的詞頻。

其中Step2完成選取特征詞的任務,并在Step3利用reduceByKey算子得出特征詞矩陣。

2.2 CART算法和隨機森林算法在SparkR上的分布式實現

CART算法和隨機森林算法主要用于分類。其中CART算法由Breiman等人在1984年提出,是應用廣泛的決策樹學習方法。CART假設決策樹是二叉樹,內部節點特征的取值為“是”和“否”,是一種給定輸入樣本條件下輸出預測值條件概率分布的學習方法。該方法由生成樹和剪枝兩部分構成,其中生成樹是遞歸構建二叉決策樹的過程。CART方法采用基尼指數來進行分裂特征的選擇[13]。

定義4(基尼指數)。分類問題中,假設有K個類,樣本點屬于第K類的概率為Pk,則概率分布的基尼指數定義為:

(4)

對于二類分類問題,若樣本點屬于第1個類的概率是p,則概率分布的基尼指數為:

Gini(p)=2p(1-p)

(5)

對于給定的樣本集合D,其基尼指數為:

(6)

式中,Ck是D中屬于第k類的樣本子集,K是類的個數。如果樣本集合D根據特征A是否取某一可能值a被分割成D1和D2兩部分,即:

(7)

則在特征A的條件下,集合D的基尼指數定義為:

(8)

隨機森林算法是一種集成分類算法,最早由LeoBreiman和AdeleCutler提出。隨機森林是一個集成多個無剪枝CART樹的分類器。其輸出結果的類別取決于個別樹輸出的類別的眾數而定。其中每棵樹使用的訓練集是從總的訓練集中采用又放回抽樣抽取出來的。這意味著總的訓練集中的有些樣本可能多次出現在一棵樹的訓練集中,也可能從未出現在一棵樹的訓練集中。在訓練每棵樹的節點時,使用的特征是從所有特征中按照一定比例隨機地無放回抽取的。根據LeoBreiman的建議,假設總的特征數量為M,這個比例可以是sqrt(M)、1/2sqrt(M)和2sqrt(M)。下面本文將分別討論如何在SparkR上實現CART樹和隨機森林算法。

2.2.1CART樹的SparkR分布式生成算法

假定所有的特征變量的取值都是離散的,則將樣本數據按行讀入為DataFrame格式。分別抽取特征變量和類標簽并使用toRDD算子轉化為featureRDD和labelRDD。其中featureRDD和labelRDD中每個元素均為c(key,value)類型,其中key為該元素在原DataFrame中的行號,value為相應的值。則可以用三個步驟生成CART樹,第一階段首先生成一個由該行在每列特征變量取值與該特征變量名組合作為key,將1作為value的鍵值對,然后使用reduceByKey算子統計出每個變量值有多少樣本。第二個階段將第一階段中的key與labelRDD組合作為key,1作為value的鍵值對,以便使用reduceByKey統計出每個變量屬于特定類的樣本數量。第三階段,計算相應的Gini值,并通過split函數分割樣本。記錄原樣本的行號,以保證樣本一致性。具體算法步驟如算法2所示。

算法2CART樹的SparkR分布式實現

輸入:訓練樣本數據

輸出:CART樹

Step1 調用count(labelRDD)函數得到樣本總數,記為m。

Step2 partitionBy (map(featureRDD,fun= function(k,v){c(特征變名, paste(k,v,sep=“-”))}))記為partitionRDD,將其緩存。

中國在全球奢侈品市場扮演的重要角色已無需解釋,值得注意的是,過去一年,擁抱互聯網和電商正逐漸成為鐘表行業的主流趨勢,特別在中國市場,不少代表傳統鐘表業核心價值的高端品牌正突破以往束縛,大膽試水線上渠道。

Step3 map(partitionRDD,fun= function(k,v){c(unlist(strsplit(v)) [1],paste(key, unlist(strsplit(v))[2],sep=“-”))}),將結果記為splitfeatureRDD并緩存。

Step4 調用map(splitfeatureRDD,fun= function(k,v){c(v,1)})函數,結果記為denRDD。

Step5 調用lapplyPartition(denRDD,fun=reduceByKey)函數。

Step6 調用unionRDD(splitfeatureRDD,labelRDD)函數,結果記為combineRDD。

Step7 調用lapplyPartition(combineRDD,fun=reduceByKey)函數。

Step8 調用map(combineRDD,fun= splitfun2)函數,結果記為numRDD。

Step9 調用lapplyPartition(numRDD,fun=reduceByKey)函數。

Step11 調用split(featureRDD,cp)函數,調用split(labelRDD,cp)函數

Step12 重復步驟1-8,直到滿足停止條件。生成CART樹。

Step10基尼指數中概率p為numRDD與denRDD中元素的value相除,分離變量的取值在樣本中的占比為denRDD中的value/m。Step11選取Gini值最小的變量,將樣本集按照該變量取值劃分成兩個子集,用key值保證樣本對應完整。

整個算法終止條件為節點中的樣本個數小于預定閾值,或樣本集的基尼指數小于預定閾值,或者沒有更多的特征。分布式生成CART樹后可以利用生成好的CART模型分布式并行分類,只需將數據樣本初始化為RDD,然后按照所選取的特征并行分類即可。

2.2.2 隨機森林算法的分布式實現

本文先完成樣本的初始化為RDD的任務。同時將所有的特征變量名初始化為一個新的RDD,記為featurenameRDD。然后確定使用到的CART數量t,在不同節點分布式生成t棵CART棵樹,方法如2.2.1節所述。其中抽樣用sampleRDD算子完成。利用sampleRDD算子中的withReplacement參數來指定放回抽樣和無放回抽樣,完成樣本的有放回抽樣和特征的無放回抽樣。在抽樣后利用split函數將featureRDD中對應列變為新的RDD進行訓練,完成隨機森林算法。

2.3K-means聚類算法在SparkR上的分布式實現

K-means是一種無監督式學習算法,是典型的基于原型的目標函數聚類方法。它以數據點到原型的某種距離作為優化的目標函數,利用函數求極值的方法得到迭代運算的調整規則[14]。算法需要首先確定參數k,即整個樣本數據需要被劃分為多少個類。然后算法將n個數據集合劃分到這k個類中,使類間相似度差距比較大,而類內相似度比較低,其中在本文中樣本間的相似度以歐氏距離作為度量。下面將討論在SparkR上如何分布式實現K-means算法。

K-means聚類算法分三個階段求解。第一步,定義距離函數為樣本點之間的歐氏距離,并求出樣本與哪個聚類中心最近。第二階段將樣本按照最近的聚集點劃分為k份,第三階段重新計算聚類中心。在第二階段計算時需要同時計算出每個類中包含樣本的數量。具體實現步驟如算法3所示。

算法3K-means算法的分布式實現

輸入:數據集、聚類個數k、閾值距離convergeDist

輸出:k個類的中心

Step1 讀入數據集,并初始化為RDD,記為pointRDD。

Step2 調用takeSample(pointRDD,withReplacement=F)函數,記為kpoint。開始循環迭代。

Step3 調用lapply(pointRDD,fun=function(p) { dist.fun(points,kpoints)}),自定義函數dist.fun = function(P,C) {apply(C,1,function(x) {colSums((t(p)-x)^2)))},記為matRDD。

Step4 調用lapply(matRDD,fun=function(x){max.col(-x)}),結果記為cp。

Step5 調用lapply(pointRDD,fun=function(x){cbind(1, x)}),將1填入每個樣本,仍記為pointRDD。

Step6 調用lapplyPartition(lapply(pointRDD,function(x) {c(uninque(cp),split.data.frame(x,cp))})),結果記為splitRDD,將pointRDD劃分。

Step7 調用reduceByKey(splitRDD,“+”,2L)。

Step8 計算新的中心點,定義函數計算lapply(splitRDD,function(x){sum=x[[2]][,-1],count= x[[2]][,1] sum/count}),記為newpoint。

Step9 調用lapply(newpointRDD,fun=function(p) { dist.fun(points,kpoints)}),記為d,tempDist=d, kpoint=newpoint。

Step10 當tempDist>convergeDist時,迭代Step4-Step10,直到tempDist<=convergeDist停止迭代。

Step11 輸出迭代得到的kpoint。即是最后的k個類的集聚中心點。

其中Step1中使用takeSample算子無放回抽樣完成抽樣任務,Step3和Step4分別求出樣本點到聚集點的距離以及最近的聚集點。Step8計算新的中心點。算法直到tempDist小于給定的閾值convergeDist結束。

3 實驗及結果分析

3.1 社會化信息對股市波動影響驗證

根據第1節的模型,本文進行了如下三組實驗。選取2013年到2014年上證50所包含的50只股票作為研究樣本,考慮到新聞對股價的影響有一定持續性,所以本文選取這50只股票的周收盤價作為研究節點。以2012年12月28日的收盤價作為初始節點,計算這50只股票的加權收盤價,加權方式采用上證50指數采用的派許加權。利用抓取2013年到2014年新浪財經、和訊財經、騰訊財經上的股票要聞板塊新聞作為語料庫,并將50家企業主題名作為特征詞保存為特征詞詞典1,新聞權重α=0.75,β=0.25。

3.1.1 第一組實驗及結果分析

在第一組實驗中,本文探討新聞信息量與股價波動的關系,實驗步驟如下:

Step1 將新聞文本集分詞,分布式存儲到SparkR平臺上。

Step2 通過算法1求取每篇新聞包含哪些特征詞詞典1的特征詞,得到每篇新聞包含的企業主體。

Step3 分別計算50家企業的新聞信息量,并加權得到最后的新聞信息量。

圖3 上證50指數與新聞信息量波動圖

從圖3中可以看出,大部分情況下新聞信息量會隨著指數的波動而波動,即當指數發生明顯波動時,相應的新聞信息量也會波動到高點。但也存在如下問題:(1) 當股價發生明顯波動時,新聞信息量波動與股指波動相差不大,而當股指波動平緩時,兩者相差較大。這可能是模型一沒有對新聞進行篩選,導致當股價波動較小時,仍有一些對股價影響不大的新聞發生,從而導致新聞波動率的波動幅度小于股指的波動幅度并且波動值高于股指的波動值。(2) 在有些時間段中新聞信息量的波動遠遠高于股指的波動,本文認為這主要由于一周的新聞信息量雖然發生了很大波動,但所包含的新聞既有正向又有負向,因此對股指波動大小的指示性不夠準確。

3.1.2 第二組實驗及結果分析

第二組實驗通過聚類尋找由關鍵信息表示的新聞,而這些新聞可以實質性地影響股價上漲或者下跌。再通過分類完成對所有新聞正負情感劃分,實驗過程如第1節模型二所述,實驗步驟如下:

Step1 將新聞文本集分詞,分布式存儲到SparkR平臺上,篩選聚類訓練集。

Step2 通過聚類提取分類訓練集和特征詞候選集。

Step3 按詞頻大小依次將特征詞候選集中極性詞添加到特征詞中,訓練分類模型,直到分類準確率不再發生明顯變化。

Step4 通過人工標注調整分類模型。

Step5 對剩余新聞分類,計算新聞情感信息量。

依然按照模型一對股票波動率的定義,分別畫出一年來新聞情感信息量和指數波動的時間序列圖,結果如圖4所示。

圖4 上證50指數與新聞情感信息量波動圖

從圖4中可以看出,與圖3相比,新聞情感信息量的波動與股價波動規律更接近,更準確地說明了兩者相關性。根據市場規律,本文假設對企業股價產生影響的新聞是有規律性的,例如企業的財報,企業盈利或者虧損,企業并購重組等,但是也存在一些日常波動往往與消息面關系并不那么密切,例如超跌反彈,獲利回吐,或者莊家的洗盤行為等,導致新聞情感信息量與股指波動不會完全吻合。所以本文認為,除卻這些日常波動外,新聞情感信息量波動與指數波動基本相關。

3.1.3 第三組實驗及結果分析

第三組實驗探討新聞情感詞強度對股價波動的影響。本文引入路透社金融詞典并對其進行人工修正選出其中的情感詞,并保存為特征詞詞典2。具體實驗步驟如下:

Step1 將新聞文本集分詞,分布式存儲到SparkR平臺上。

Step2 通過算法1計算每篇新聞包含的特征詞詞典2中的特征詞個數,計算每篇新聞的正負情感詞詞數之差。

Step3 通過算法1求取每篇新聞包含哪些特征詞詞典1的特征詞,得到每篇新聞包含的企業主體。

Step4 分別計算50家企業的新聞情感詞強度,并加權得到最后的新聞情感詞強度。

如實驗二做法,比較企業新聞情感詞強度波動與指數波動的關系,結果如圖5所示。

圖5 上證50指數與新聞情感詞強度波動圖

與實驗二相比,兩者都可以明顯地衡量股指的劇烈波動,不同的是當股指波動較小時,新聞情感詞強度的波動要小于實際股指的波動。這很有可能是模型三受限于情感詞典,并且新聞量較大,情感詞典很難準確表達新聞情感。這導致在指數波動較小時,包含特定情感詞的新聞較少,不能準確衡量股指的波動幅度。

通過上述三個實驗,本文討論了三種衡量社會化信息情感的方式并分別驗證了其與股指波動的關系。通過波動圖可知,模型二使用的新聞情感信息量來衡量社會化信息情感最為準確。這不僅表現在當股指波動較大時新聞情感信息量的波動幅度也較大,還表現在當股指波動較小,新聞情感信息不明顯或者有效新聞量不充足時,新聞情感信息量的波動也與上證50指數波動大致一致。這主要由于模型二與模型一、模型三相比有以下兩點優勢:(1) 通過有偏樣本的選擇可以有效去除對股市波動影響較小的新聞,以便有效進行特征選擇,并盡量準確地篩選出與股市波動最相關的新聞。(2) 通過聚類算法的特征選擇方式可以更充分利用大量新聞靈活篩選出最有效的特征,由于這些特征所代表的新聞情感均較為突出明顯,所以使用這些特征對剩余新聞進行分類時結果較為準確。在最后的情感值計算時忽略掉那些有一定量分類樹給出結果為無法分類的新聞,也使得最后選取出的新聞情感較為明顯,最大可能去除不相關新聞的影響。綜上兩點都使得模型二的新聞篩選是最有效的,這在大數據環境下,信息量龐大的情況下尤為重要。并且由于中國股市的變化日新月異,金融情感詞典很難完全準確獲取,使用聚類算法訓練可以極大節省人力,更適合大數據環境的需求。

由上述三個實驗可以證實本文的實驗方案是有效可行的。利用SparkR平臺可以并行化爬取、分類、聚類算法,從而提高數據處理效率。同時還可以分布式存儲數據,方便完成更復雜的算法實現。尤其在特征選擇時,利用SparkR的高效性,可以反復迭代訓練,以提高準確率。

3.2 SparkR平臺性能驗證

為了進一步驗證SparkR平臺的性能,本文以分類模型訓練為例設計一組與單機運行的對比實驗,實驗內容為2.2節介紹的隨機森林算法在SparkR平臺上運行與在單機平臺上運行效率對比。本文使用第1節模型二挑選出的特征,從有偏新聞樣本中選取10 000,50 000,100 000,200 000條新聞作為訓練集,分別在SparkR平臺和單機平臺訓練隨機森林模型。連續運行10次分別記錄兩個平臺所使用的時間,取其平均值作為最后的時間。

本文中搭建的實驗平臺有5臺機器,每臺機器的配置如下:CPU為Intel Core2 Duo ,內存為1 GB。Hadoop版本為2.6.0,Java版本為1.7.0_67。Spark版本為1.3.1,R版本為3.1.3。每臺機器通過實驗室局域網連接。最后的運行時間如表1所示。

表1 基于SparkR和單機平臺隨機森林算法運行時間對比

由表1可見,SparkR平臺的處理時間遠遠小于單機平臺,尤其是數據量越來越大時性能提升更為明顯,說明SparkR平臺運行效率遠遠高于單機平臺。

3.3 SparkR平臺伸縮性驗證

為了進一步驗證SparkR平臺在大數據情形下的穩定性表現,本文通過測試不同數據集以及不同節點數上SparkR平臺的表現情況來驗證其伸縮性。測試數據集為從有偏新聞集中選取10 000、50 000、100 000、200 000條新聞,將每組實驗重復進行十次,取其平均執行時間作為實驗最終結果,結果如表2所示。

表2 不同節點數基于SparkR運行隨機森林算法時間對比

由表2可見,SparkR平臺具有良好的伸縮性,這使得本文可以通過增加平臺節點數的方式來提高SparkR平臺的運行效率,確保SparkR平臺可以勝任大數據分析的任務。

3.4 特征選擇方法對比

為了進一步說明利用有偏樣本通過聚類算法進行特征篩選要比通過詞典進行特征篩選有效,本文設計如下對比實驗。因社會化新聞數量多且并不是所有新聞都有明確的情感態度,所以無法通過人工標注的方式來獲取分類所需的訓練集和測試集。因此本文從第1節模型二聚類完成后的樣本中分別從正向樣本和負向樣本各選取3 000篇新聞作為訓練集,再從聚類完成樣本中挑選出600篇與訓練集不重復的新聞作為驗證集。由于第1節模型二的樣本選擇是有偏的,因此可以大概認為聚類完成后的單向新聞文本情感態度一致。然后分別通過第1節模型二的聚類算法和第1節模型三的詞典進行特征篩選,并利用上述訓練集訓練分類模型,分類算法采用的是2.2節介紹的隨機森林分類算法,再通過測試集驗證分類準確率,以此來比較聚類算法與人工詞典進行特征選擇的有效性。為了充分驗證兩種方法的準確率,本文將訓練集中新聞數量依次遞增為1 000、2 000、4 000、6 000篇新聞進行準確率對比。將每組對比進行10次,取其平值作為最后的準確率,實驗結果如表3所示。

表3 基于聚類和人工字典的特征選擇后隨機森林算法分類準確率對比

從表3看出,雖然因為樣本有偏導致兩者的分類準確率都較高,但是聚類進行特征選擇的準確率還是要高于人工詞典法,并且隨著訓練集的不斷增大,可以更加充分的提取關鍵信息,使得聚類算法的準確率更加優于人工詞典,從側面說明模型二中情感分類的準確率要高于模型三,更加有利于刻畫社會化信息的情感。

4 結 語

本文討論了基于SparkR平臺分析社會化信息對股市波動性影響,并給出了綜合解決方案,克服了數據量繁雜以及盡量減少了人工介入帶來的不可操作性。本文通過三個實驗詳細闡述了如何衡量社會化信息的情感并分別驗證了其對股市波動的影響。其次,還分析了SparkR平臺的性能以及伸縮性,證明了該平臺可以有效地用于大數據環境下的金融數據分析。最后,通過實驗驗證了聚類算法進行特征選擇的有效性,討論并分析了三個模型的各自優缺點。不過現在SparkR平臺還處于發展初期,文中選擇實現的算法比較基礎,后期可以嘗試通過改進算法來適應更加復雜的應用,同時進一步研究量化方法以便更準確地說明社會化信息對股市的影響作用。

[1] Amplab-extras.SparkR(R frontend for Spark)[EB/OL].[2014-9-25].http://amplab-extras.github.io/SparkR-pkg/.

[2] The R Foundation.The R Project for StatisticalComputing[EB/OL].[2014-10-6].http://www.r-project.org/.

[3] Lavrenko V,Schmill M,Lawrie D,et al.Mining of concurrent text and time series[C]//KDD-2000 Workshop on Text Mining.2000:37-44.

[4] Bollen J,Mao H,Zeng X.Twitter mood predicts the stock market[J].Journal of Computational Science,2011,2(1):1-8.

[5] Gilbert E,Karahalios K.Predicting tie strength with social media[C]//Proceedings of the SIGCHI Conference on Human Factors in Computing Systems.ACM,2009:211-220.

[6] Zhang X,Fuehres H,Gloor P A.Predicting stock market indicators through twitter “I hope it is not as bad as I fear”[J].Procedia-Social and Behavioral Sciences,2011,26:55-62.

[7] Peramunetilleke D,Wong R K.Currency exchange rate forecasting from news headlines[J].Australian Computer Science Communications,2002,24(2):131-139.

[8] 黃潤鵬,左文明,畢凌燕.基于微博情緒信息的股票市場預測[J].管理工程學報,2015,29(1):47-52.

[9] 賴凱聲,陳浩,錢衛寧,等.微博情緒與中國股市:基于協整分析[J].系統科學與數學,2014,34(5):565-575.

[10] 朱浩然,梁循,馬躍峰,等.金融領域中文微博情感分析[C]//第八屆中國管理學年會——中國管理的國際化與本土化,2013.

[11] 王巖.面向金融領域BBS的話題發現和熱度評價[D].哈爾濱工業大學,2010.

[12] Zaharia M,Chowdhury M,Das T,et al.Resilient distributed datasets:a fault-tolerant abstraction for in-memory cluster computing[C]//Proceedings of the 9th USENIX conference on Networked Systems Design and Implementation,2012.

[13] De Ath G,Fabricus K E.Classification and Regression Trees:A Powerful Yet Simple[J].Technique for Ecological Data Analysis,2000,81(11):3178-3192.

[14] 周麗娟,王慧,王文伯,等.面向海量數據的并行KMeans算法[J].華中科技大學學報(自然科學版),2012(S1):150-152.

THE RESEARCH OF THE IMPACT OF SOCIAL INFORMATION ON STOCKMARKET VOLATILITY BASED ON THE SPARKR

Ni Liping Ma Chiyu Liu Xiaojun

(SchoolofManagement,HefeiUniversityofTechnology,Hefei230009,Anhui,China)(KeyLaboratoryofProcessOptimizationandIntelligentDecision-making,MinistryofEducation,Hefei230009,Anhui,China)

With the rapid development of information society, social information is becoming richer. This information will influence the stock market volatility. However, the data is in huge amount, and most of them are unstructured, thus increasing the difficulty of analyzing the impact of the social information on the market. This problem is trying to be solved by the distributed calculating technology and discuss the impact of social information on the stock market from two aspects of information volume and information sentiment. By building SparkR platform firstly how to use this platform to solve the problem of feature selection and sentiment classification of social information of the stock market is discussed. Secondly, the impact on the market of information volume and sentimental information is compared. Experimental result shows the sentimental information can accurately describe the changes of market. In order to validate the feasibility of this solution further, this paper defines the different sentimental measurement method, compares the advantages and disadvantages of these different solutions, and then gives the integrated solutions for analyzing the impact of social information on stock market volatility. Finally, the effectiveness of the proposed solution is verified by experiment.

SparkR Feature selection Distributed analysis Text mining Sentiment classification

2016-01-13。國家自然科學

71301041,71271071)。倪麗萍,副教授,主研領域:金融數據分析,數據挖掘,人工智能。馬馳宇,碩士。劉小軍,碩士。

TP181 TP391

A

10.3969/j.issn.1000-386x.2017.03.033

猜你喜歡
分類文本情感
分類算一算
如何在情感中自我成長,保持獨立
失落的情感
北極光(2019年12期)2020-01-18 06:22:10
情感
在808DA上文本顯示的改善
分類討論求坐標
基于doc2vec和TF-IDF的相似文本識別
電子制作(2018年18期)2018-11-14 01:48:06
如何在情感中自我成長,保持獨立
數據分析中的分類討論
教你一招:數的分類
主站蜘蛛池模板: 色久综合在线| 日韩视频免费| 欧美在线伊人| 色欲综合久久中文字幕网| 成人自拍视频在线观看| 九九热视频精品在线| 亚洲精品不卡午夜精品| 欧美色视频日本| 女人18一级毛片免费观看| 亚洲制服丝袜第一页| 精品视频免费在线| 日韩av无码DVD| 日韩区欧美国产区在线观看| 国产高清不卡视频| 最新亚洲人成无码网站欣赏网| 亚洲欧洲综合| 无遮挡国产高潮视频免费观看 | 亚洲天堂网在线观看视频| 国产女人在线| 久久久久无码精品| 在线免费a视频| 国产精品亚欧美一区二区| 国产大片黄在线观看| 国产白浆一区二区三区视频在线| 天天躁日日躁狠狠躁中文字幕| 中文字幕 91| 亚洲视频一区| 青青青国产精品国产精品美女| 四虎成人精品在永久免费| 亚洲日韩国产精品综合在线观看| 久久国产精品娇妻素人| 亚洲人在线| 国产精品女主播| 欧美人人干| 91无码视频在线观看| 久草中文网| 亚洲福利视频一区二区| 久久综合成人| jijzzizz老师出水喷水喷出| 午夜福利网址| 91麻豆精品国产91久久久久| 欧美激情视频一区二区三区免费| 久久久久国产精品嫩草影院| 欧美一区中文字幕| 婷婷色中文| 国产理论一区| 国产午夜福利亚洲第一| 亚洲日本中文综合在线| 国产对白刺激真实精品91| 欧美劲爆第一页| 国产香蕉在线| 18禁影院亚洲专区| 伊人91在线| 日韩黄色精品| 天堂久久久久久中文字幕| 亚洲无码久久久久| 最新日韩AV网址在线观看| 女人18毛片久久| 九九久久精品免费观看| 欧美一级大片在线观看| 国产欧美视频在线| 久久精品国产精品国产一区| 婷婷99视频精品全部在线观看| 东京热一区二区三区无码视频| 亚洲一区无码在线| 欧美在线国产| 亚洲天天更新| 国产白浆在线| 怡红院美国分院一区二区| 特级精品毛片免费观看| 欧美精品一区二区三区中文字幕| 亚洲区视频在线观看| 91精品情国产情侣高潮对白蜜| 99热这里只有精品免费| 久久网欧美| 97国产精品视频自在拍| 午夜福利网址| 午夜视频www| 日本不卡在线| 日韩精品亚洲人旧成在线| 免费在线成人网| 国产又粗又爽视频|