如何提取市場驅動大規模使用替代數據
2020年7月15日 在工程的博客
看點播網絡研討會選擇與Python數據分析這個博客討論的解決方案的演示和/或下載以下筆記本自己試試。
介紹
為什麼選擇數據是至關重要的
主要部分——解決方案+描述性的筆記本
體係結構
攝取選擇數據源
使用Python數據分析:
重要術語與TF-IDF勘探
命名實體識別
為什麼選擇數據是至關重要的
替代數據幫助金融機構、保險公司和資產管理者做出更好的決策,揭示了有價值的信息對消費者行為(例如效用支付曆史,交易信息)和擴展各種用例包括貿易分析,信用風險環境、社會和治理風險。傳統的數據源,例如FICO分數或季度10 q報告,挖掘和分析,他們不再提供一個競爭優勢。獲得一個真正的競爭優勢,金融服務機構(FSIs)需要利用替代數據獲得更好的理解他們的客戶,市場,和企業。beplay体育app下载地址一些最常見的替代行業中使用的數據集包括新聞、網絡/手機應用排氣數據,社交媒體數據,信用卡/借記卡數據和衛星圖像數據。
根據一項調查完成道瓊斯新聞專線,66%的受訪者相信替代數據對FSI的成功至關重要。然而,隻有7%的人認為他們是為了最大限度的利用替代數據。Transunion報告確認90%的貸款申請者會中投(未能提供信用評分)沒有選擇數據,凸顯了巨大的價值,這些數據源。兩個主要原因FSIs無法提取值)將選擇數據源整合的挑戰(例如事務)和傳統的數據源(如收益報告)和b)迭代與非結構化數據的實驗。除此之外,曆史數據集很大,經常更新,需要徹底清潔麵部解鎖的價值。
幸運的是,磚統一數據分析平台和三角洲湖,一個開源存儲層,為大數據帶來了ACID事務工作負載,幫Beplay体育安卓版本助企業克服這些挑戰一個可伸縮的數據分析和人工智能雲平台。更具體地說,磚的三角洲湖自動裝卸機給功能的設置和忘記的ETL準備格式分析,數據科學團隊的提高生產力。此外,磚的Apache的火花TM三角洲湖上運行時提供性能優勢解析和分析非結構化和半結構化的來源,比如新聞和圖片,由於優化的數據解析器和簡單的湖庫(例如NLP包)管理。
在這篇文章中,我們探討一個架構基於磚和三角洲湖相結合分析非結構化文本和結構化時間序列客流量數據,嘲笑SafeGraph數據格式。具體業務的挑戰是從這些替代數據源中提取的見解和發現的網絡合作夥伴,競爭對手,和代理銷售近年(quick-serve餐館)植物肉以外的公司之一。我們交付內容與SafeGraph聯合研討會,專門提供策劃的興趣點數據集,幾何形狀和模式,這是可用的在這裏。
發現關鍵驅動股票價格使用替代數據
最大的股票價格的變化發生在新信息發布有關過去的表現或未來潛在的公司的生存能力。在這個例子中,我們檢查替代數據,即新聞文章和客流量數據,看看正麵消息,如名人代言和新聞自由等創新產品獲得植物肉,可以吸引客流量快餐店,增加銷售,最終把股票價格。
開始的任務從新聞文章獲得的見解,我們將設置架構如下圖所示。我們使用三個數據源進行分析:
- 文章從一個叫做GDELT開源的在線數據庫項目
- 使用餐廳客流量(嘲笑起來SafeGraph模式)
- 從雅虎財經市場數據進行初步探索性分析
連接筆記本電腦,我們的分析始於一個圖表來檢查一個簡單的移動平均線(SMA)。如下所示,因為除了肉是一個年輕的公司,我們不能提取最簡單的技術指標,這是我們的主要動力為理解本公司從其他角度,即新聞和客流量數據。
選擇數據源通常存在於原始格式在外部雲存儲,所以一個良好的開端是攝取這湖成三角洲,一個開放的格式基於拚花和最佳湖雲數據的可伸縮性和可靠性分析。我們建立的三層數據存儲使用三角洲湖,每一級的數據從原始攝入數據細化左邊(青銅)來解析和豐富的數據中間層(銀)聚合和標注數據準備商業智能(BI)和機器學習在右邊。
增量地攝取選擇數據源
分析替代數據的第一步是建立攝入管道所有所需的數據來源。在這個例子中,我們將向您展示如何攝取兩個數據來源:
- 頭版新聞文章:我們要把新聞文章相關的植物性食物。我們要利用開放的數據庫調用GDELT掃描50000每天新聞媒體,提供了一個快照每小時的新聞標題和鏈接。
- 地理空間步行:我們將進口(模擬)人流量數據等受歡迎的餐館Dunkin Donuts的紐約城市在過去12個月內使用Safegraph的數據格式,這是一個替代數據供應商專門從事策劃的興趣點和模式的數據集。
自動裝載數據文件到三角洲湖
許多可供選擇的數據源,如新聞或網絡搜索數據,實時到達。在我們的示例中,GDELT文章每15分鍾刷新一次。其他來源,如交易數據,到日常生活中,但它是繁瑣的數據科學團隊必須跟蹤最新的日期以添加新數據數據。自動化的過程中攝取來自上述數據源的數據文件,我們將利用磚三角洲湖的自動裝卸機功能不斷撿起這些文件,因為他們的到來。我們把數據按原樣從原始三角洲格式文件並將其存儲到staging表中。這些表形式的“青銅”層數據平台。Beplay体育安卓版本汽車攝取文件的代碼如下所示。注意,火花流作家有一個“觸發一次”選項:這是特別有用的,以避免不間斷流查詢,而是允許作者安排每天的節奏,設置和忘記的攝入。同時,注意檢查站給我們免費內置容錯和易用性;當我們開始這個查詢,在任何時候,它隻會接新文件從源,我們可以安全地重新啟動失敗。
new_data = spark.readStream。格式(“cloudFiles”)\.option (“cloudFiles.format”,“csv / json /拚花等”)\. schema \(模式).load(< =替代數據”“源=”“桶=”“或=”“容器=”“>)
new_data。writeStream \.trigger(一旦=真正的)\.partitionBy (“日期”)\。格式(“δ”)\.option (“checkpointLocation”,“/ tmp /檢查點/ gdelt_delta_checkpoint”)\.start(< =目標數據”“目標=”“桶=”“或=”“容器=”“>)< /目標> < /替代>
數據分析使用Python
Python是一種流行和通用的語言被世界各地許多數據科學家使用。任務涉及文本清洗和建模,有成百上千的庫和包,這使得我們的首選語言的分析。我們第一次讀到銅層,裝進一個豐富的數據集,其中包含文章文本、時間戳、和語言的GDELT來源。這種豐富的格式將構成的銀層和細節提取附加的筆記本。一旦在銀層的數據,我們可以清潔和總結文本的三個步驟:
- 總結從語料庫,發現語料庫中重要而獨特的條款使用TF IDF的文章
- 總結文章主題從語料庫-主題建模為文章使用分布式LDA可能給我們以下信息:
- 了解當前TAM發現受歡迎的形式的植物肉(如豬肉、雞肉、牛肉)
- 競爭對手或近年出現作為主要的話題嗎?
- 發現有趣的命名實體在文章理解的影響對植物影響肉製品和公司實體
重要術語與TF-IDF勘探
鑒於我們正在研究許多關於植物肉的文章,這些文章中有共性。術語Frequency-Inverse文檔頻率(簡稱TF-IDF)給了我們他們的存在重要術語規範化的大語料庫的文章。這種類型的分析很容易分發與Apache火花和運行在幾秒鍾內成千上萬的文章。下麵是一個使用TF-IDF總結計算值,排名在降序排列。
選擇textSWRemoved、linktext tf_idf從alt_data.plant_based_articles_gold在哪裏((較低的(linktext)就像“% %肉之外%”))訂單通過tf_idfdesc限製5
值得注意的名字和股票信息。本文挖掘文本,我們發現,拉娜Weidgenant創建了一個申請帶來新的植物肉產品鄧肯的菜單。另一個有趣的觀察是股票行情TSX:近年在這裏顯示。這是加拿大的股票證券國際飯店品牌,這將超出肉製品在Tim Hortons地方由於沒有采用客戶。beplay体育app下载地址這個簡單的詞總結讓我們快速了解幾個quick-serve餐館(簡稱近年)和肉之外的影響。
大規模應用主題建模
現在,讓我們使用主題模型來理解文章的主題和主題分布分布的條件。由於我們使用無監督學習技術總結文章內容,生成模型LDA (潛在狄利克雷分配)是一種天然的選擇中發現潛在的主題文章。幸運的是,該算法可分配和內置引發毫升。下麵的簡潔的代碼展示了一個簡短和簡單的配置需要運行這個文本。我們還包括一個條形圖顯示主題從LDA模型的可視化表示。
首先,在運行任何類型的建模練習之前,有必要進一步清潔我們的數據。要做到這一點,讓我們使用健壯的NLP庫nltk過濾短的話,停止詞,去掉標點,阻止我們的令牌。這將大大有助於提高模型的結果。下麵是功能我們將適用於每一行的數據幀之前包裝在一個熊貓UDF。注意,我們定製nltk停止單詞列表,因為我們對我們的文章有額外的信息基礎。特別是,“素食主義”,“植物性”,和肉不一定是有趣的主題或條款——相反,我們希望近年這些產品或服務的信息自己實際的合作夥伴。
從nltk。來kenize import word_tokenize令牌=word_tokenize(文本)#轉換來較低的情況下令牌=(w。較低的()為w在令牌)#過濾器出停止詞從nltk。語料庫進口stopwordsstop_words=集(stopwords.words (“英語”))stop_words.add (“美國”)stop_words.add (“超越”)stop_words.add (“肉”)…單詞=[w為w在話說如果不w在stop_words]
現在我們清潔我們的文本,我們會為兩個步驟:利用火花我)運行一個計數vectorizer詞彙1000 featurize數據向量的大小和ii)適合LDA矢量化數據。注意,我們已經包含了參數文檔集中(或稱為α的LDA),這表明文檔主題密度,更高的值對應於假設每條有很多話題而不是一個小數字。默認是1 / #的話題,這裏我們選擇低價值假設低數量的話題。
從pyspark.ml.clustering進口喬治。#集LDA參數,6話題,可重複的種子和文檔濃度降低值基於的假設為更少的主題lda = lda () \.setOptimizer (“在線”)\.setMaxIter (40)\.setK (6)\.setSeed (1)\.setDocConcentration ([0.1、……0.1])
在每個主題的代表與概率
LDA模型產生了一組六個主題,我們總結以下使用條形圖顯示分布在主題和頂部3條款/主題。一些著名的觀察包括除了肉類蛋白質(雞),合作夥伴(麥當勞)和食品等競爭對手不可能顯著的特色。
命名實體識別
我們的話題模型給我們偉大的信息更近年參與銷售植物肉。現在,我們想知道哪些實體配置在同一篇文章中給我們更多關於任何特殊的夥伴關係或促銷活動的信息。如果我們提取信息除了肉滲透市場,我們可能會使用其他數據源發現事務信息或餐館,例如。
讓我們使用Python NLP庫寬大的內置的命名實體識別來幫助解決這個問題。也,而不是運行的實體識別文章的文字,讓我們運行在文章標題文本本身,看看我們能找到新的合作夥伴的信息或促銷活動。我們使用一個火花熊貓UDF並行化實體識別注釋(如下)。
#並行化寬大的實體識別使用熊貓UDFdefaddEntities(文本):nlp_br = SpacyMagic.get(朗)句子=str(文本)sentence_nlp = nlp_br(句子)返回(“#”. join ([str(詞,word.ent_type_)為詞在sentence_nlp如果word.ent_type_]))@pandas_udf (“字符串”,PandasUDFType.SCALAR)defentitiesUDF(v: pd.Series)- > pd.Series:返回v。地圖(λx: addEntities (x))
現在,我們生產的總結實體信息我們收到了從寬大的邏輯:
- Dunkin '是排名前十的實體之一
- 相關的所有實體SQL探索Dunkin '(史奴比狗狗是一個傑出的)
- 可視化的高亮條促銷Dunkin '和史奴比狗狗除了肉三明治,針對2020年1月。
現在我們已經超出了肉的銷售策略的一個特定的例子,讓我們製定一個假設的有效性推廣使用另一種流行的替代數據類型——地理位置數據,在這種情況下,由Safegraph POI的祭。
下麵是廣大的生產實體的可視化表示,這是很容易可以在磚筆記本。生產這個,我們把文本從上麵的文章中我們觀察到通過SQL探索。
驗證使用Safegraph POI數據信號
到目前為止,我們已經做了許多不同種類的新聞分析。然而,這隻有杠杆GDELT數據集。雖然結果NLP上麵總結了我們需要了解通過夥伴關係超越肉的促銷活動,我們要分析一些代理銷售如何有效地超越肉是快餐市場滲透。我們將使用一個基於SafeGraph嘲笑數據集的地理定位數據模式。SafeGraph's data is coalesced from over 50M mobile devices and offers highly structured formats based on POI (point-of-interest) data for many different brands. The POI data is especially interesting for our use case since we are focused on QSRs (quick-serve restaurants) which tend to have high conversion rates and serve as a proxy for sales. In particular, given a promotion of a Beyond Meat-based product (in this case Snoop Dogg’s breakfast sandwich), we want to understand whether foot traffic was ‘significant’ for this short time period given historical time series data on foot traffic at NYC Dunkin’ locations. We’ll use an additive time series forecasting model,先知每周客流量預測,根據前一年的1月的曆史。原油指標,顯著增加客流量將等同於實際Safegraph交通數量高於80%的預測區間預測交通對於大多數促銷期間的長度(1周)。
注意:腳交通數據中使用這個博客中所示的筆記本和模擬基於SafeGraph模式。為了驗證與真實數據,訪問SafeGraph這些樣本。
雖然SafeGraph的人流量是潔淨的,我們仍然需要爆炸每個記錄創建時間序列為先知。連接筆記本中的代碼創建了一個連續的數量/日期訪問,即num_visits數組轉換為多個記錄,每一個記錄日期如下。
%sql選擇location_name street_address,城市,地區,一年,月,一天,num_visits從ft_raw在哪裏location_name=鄧肯\”
使用上麵的數據,我們可以總通過日期產生時間序列,我們可以使用我們的預測模型,我們叫all_nyc_dunkin。一旦這樣做,我們就會產生一個熊貓數據幀,如下所示。
# Pythonm =先知()m.fit (pdf)
m_nyc_dunkin =先知()m_nyc_dunkin.fit (all_nyc_dunkin)# Python未來= m.make_future_dataframe(時間=15)nyc_future = m_nyc_dunkin。make_future_dataframe(時間=15)
nyc_forecast = m_nyc_dunkin.predict (nyc_future)預測= m.predict(未來)預測[[“死刑”,“yhat”,“yhat_lower”,“yhat_upper”]]. tail (15)
覆蓋上述預測與實際客流量數據,我們看到更多的交通沒有通過我們的測試為“重要”(預測區間內的所有日期保持)。POI數據使得我們快速實現這一有趣的結果用一個簡單的庫導入和聚合在SQL。結論分析,這並不是說收據沒有更高的平均金額相比平均交易價格,但是,我們需要事務數據(另一種數據集)證實了這一點。
總的來說,我們的目標是提高我們發現市場驅動的方法。本文提供的分析大大提高有限的技術市場上我們首先檢查數據。雖然我們可能認為沒有一個強烈的買入或賣出信號除了肉基於文章摘要或人流量,上麵所有的分析可以自動和擴展到其他用例提供每小時儀表板援助的財務決策。
利用替代數據
總之,這篇文章提供了各種各樣的想法如何利用替代數據通知和改善你的財務決策過程。管道代碼提供了在這個博客的目的隻是為了讓你開始這段旅程的探索非傳統的數據。在真實的場景中,你可以處理更多的混亂的數據將需要更多的清潔步驟前的數據準備好了進行分析。但無論有多少步驟你需要執行或數據集有多大,磚提供了一個易於使用的、協作的、和可伸縮的平台,發現從非結構化和孤立的數據在幾分鍾和小時,而不是幾周。beplay娱乐iosBeplay体育安卓版本磚目前正在幫助一些最大的金融機構利用替代數據對投資決策的影響,我們也可以做同樣的為你的組織。
開始
下載筆記本: