SAS Visual Investigator

SAS Viya (57)

教學目標

初步了解部署 SAS Visual Investigator 基本概念。

重點概念

首先在金融犯罪領域最常見的模型調整過程就是抽樣資料之後交給主題專家進行處理,以確定活動是否可疑,建立這些目標價值是調整模型的關鍵組成部分,能夠產生更有效和有效的模型,以利避免詐欺活動和識別恐怖主義融資活動,此外提供過程的可追溯性以建立模型的門檻值和權重對於檢測可疑活動的受管制方面至關重要,而 SAS Visual Investigator 不僅提供了一個用於資料探索和分析的強大功能之外,更能夠透過附加的工作流程實現分析。

接著當我們開始要將 SAS Visual Investigator 部署至 IT 內部環境時,若僅執行 SAS Viya Infrastructure Resource Kit (VIRK) 中的 Pre-installation Playbook 驗證部署環境,則在執行部署的 Ansible Playbook 時,則會發生 Elasticsearch 服務會無法啟動的問題,為了解決此問題第一步驟我們會先查詢「/opt/sas/viya/config/var/log/svi-elasticsearch/sas-elasticsearch.log」記錄檔中的錯誤訊息,第二步驟我們根據錯誤訊息推斷可能造成無法啟動 Elasticsearch 服務的根本原因,根據「max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]」錯誤訊息我們將能夠推斷需要設定「vm.max_map_count」值為「263144」,第三步驟我們執行解決根本原因的指令「sudo sysctl -w vm.max_map_count=262144」,請注意此指令設定當重新開機之後就會重置為 65530,所以需要將此指令加入至 Linux 的啟動流程中,當我們完成以上三個步驟之後,理應就能夠執行部署的 Ansible Playbook 順利部署完成 SAS Visual Investigator。

查詢無法啟動 Elasticsearch 服務的錯誤訊息

1
2
3
4
5
6
7
# cd /opt/sas/viya/config/var/log/svi-elasticsearch
# vi sas-elasticsearch.log

[ERROR][o.e.b.Bootstrap ] [BGFsX7P] node validation exception
[1] bootstrap checks failed
[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

解決無法啟動 Elasticsearch 服務的問題

1
2
3
# sudo sysctl -w vm.max_map_count=262144
# cd /etc/init.d
# sudo ./sas-viya-svi-elasticsearch-default start

查詢無法啟動 Elasticsearch 服務的錯誤訊息

1
2
3
4
5
6
7
8
# cd /opt/sas/viya/config/var/log/svi-elasticsearch
# vi sas-elasticsearch.log

java.lang.IllegalStateException: failed to obtain node locks, tried
[[/opt/sas/viya/config/data/svi-elasticsearch/sas-elasticsearch]] with lock id
[0]; maybe these locations are not writable or multiple nodes were started
without increasing [node.max_local_storage_nodes] (was [1])?

解決無法啟動 Elasticsearch 服務的問題

1
2
3
4
# ps aux | grep elastic
# sudo kill -9 <PID>
# cd /etc/init.d
# sudo ./sas-viya-svi-elasticsearch-default start

再來 SAS Visual Investigator 主要是基於 SAS Viya 強大分散式資料處理和 Elasticsearch 強大的全文搜尋功能,因此我們不僅能夠部署至一台伺服器之外能夠根據客戶不同的需求,更能夠根據客戶需求將 CAS Worker、RabbitMQ、Elasticsearch Master、Elasticsearch Data 和 Postgres 分別部署至不同伺服器中進行分散式處理和提供高可用性的服務,其中我們需要特別修改 inventory.ini 和 vars.yml 兩個設定檔。 inventory.ini 設定檔重點在於 ElasticSearch_IsMaster=true 代表部署 Elasticsearch Master,ElasticSearch_IsData=true 代表部署 Elasticsearch Data,當然我們也能夠在同一台伺服器同時設定 ElasticSearch_IsMaster=true 和 ElasticSearch_IsData=true 代表同時部署 Elasticsearch Master 和 Elasticsearch Data 至同一台伺服器中,至於 Postgres 資料庫,則需要同時修改 [pgpoolc] 和 [sasdatasvrc] 設定,以及修改 vars.yml 設定檔中的「INVOCATION_VARIABLES」,否則在自動化部署時會出現「Please add sasdatasvrc variable definitions for the system named ‘XXX’」的錯誤訊息。

inventory.ini 設定檔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

[sas-casserver-worker]
casworker

[elasticsearch]
elasticmaster ElasticSearch_IsMaster=true ElasticSearch_IsData=false ElasticSearch_HeapSize=8g ElasticSearch_QueueSize=1000
elasticdata ElasticSearch_IsMaster=false ElasticSearch_IsData=true ElasticSearch_HeapSize=8g ElasticSearch_QueueSize=1000

[rabbitmq]
rabbitmq

[pgpoolc]
postgresql

[sasdatasvrc]
postgresql

vars.yml 設定檔

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

INVOCATION_VARIABLES:
postgresql:
pgpoolc:
- PCP_PORT: '5430'
PGPOOL_PORT: '5431'
SANMOUNT: '{{ SAS_CONFIG_ROOT }}/data/sasdatasvrc'
SERVICE_NAME: postgres
sasdatasvrc:
- NODE_NUMBER: '0'
NODE_TYPE: P
PG_PORT: '5432'
SANMOUNT: '{{ SAS_CONFIG_ROOT }}/data/sasdatasvrc'
SERVICE_NAME: postgres

最後當我們部署完成 SAS Visual Investigator 之後,請先透過「/etc/init.d/sas-viya-all-services status」指令確認 SAS Visual Investigator 直接相關的關鍵服務皆有正常啟動,否則就會發生能夠登入至 SAS Visual Investigator 中,但是會發生伺服器錯誤的訊息,導致無法正常進行操作。至於 Postgres 主要是設定每個微服務的相關設定、警示訊息、內部實體、歷史選擇關係、附件檔案以及稽核記錄。

服務名稱 描述
svi-ai Visual Investigator 分析和索引服務,主要將 CSV 檔案導入至 Postgres 資料庫中的 AIUSERDATA Schema 中,並且在 Data Hub 中進行註冊。
svi-alert Visual Investigator 警示服務,主要接受警示事件和情境觸發事件,並且透過領域、策略和佇列建立和更新調查警示。
svi-audit Visual Investigator 稽核服務,主要記錄在應用程式中的使用者操作,並且為管理員提供 API 以利查詢記錄稽核。
svi-datahub Visual Investigator 資料中心服務,主要提供與實體互動的服務,其中包括實體和關係設定,檢索和儲存。
svi-elasticsearch Visual Investigator 搜尋服務,主要提供用於文本,地理空間,時間和關係搜索和內容索引的服務。
svi-entity-resolution Visual Investigator 實體解析服務,主要執行實體解析的功能。
svi-feature Visual Investigator 功能服務,主要檢索使用者所有使用功能的集合。
svi-mobile Visual Investigator 行動服務,主要提供行動相關的功能服務。
svi-network-analytics Visual Investigator 網路分析服務,主要提供用於與網路連接圖相關的中心計算和圖形化等功能。
svi-sand Visual Investigator 搜尋和探索服務,主要用於在索引,搜索和提供資料可視化功能。
svi-transport Visual Investigator 傳輸服務,主要從正在執行的實例中提供設定資料的 .zip 檔案,並且接受/部署設定資料的 .zip 檔案至系統中。
svi-visual-investigator Visual Investigator 網站服務,主要提供給客戶端網頁瀏覽器的畫面。
svi-vsd-service Visual Investigator 情境服務,主要提供情境操作的相關功能。

相關資源

SAS 基本介紹 (9)

基本介紹

教學目標

初步了解 SAS 相關解決方案在金融科技方面的應用。

重點概念

昨天參加 2016 SAS Taiwan Forum 學習了許多 SAS 解決方案如何針對金融科技進行分析與應用,數位化和大數據是未來五年發展的市場趨勢,主要目標為提升客戶體驗,簡單來說,就是在對的時間和對的通路推薦對的方案,以利滿足客戶的需求,其中對的時間代表當與客戶互動發現有需要時,系統就能夠立即取得商業洞見和建議最佳行動方案。接著對的通路,不僅僅只是網頁和行動裝置而已,對於銀行而言更包括了許多互動式的客戶通路,例如電話客服、分行位置、自動櫃員機、…等,建議最佳的下一步動作,同時針對信用授權、詐騙分析、客訴處理等事項,制定分析之的決策,以利在正確的時間、地點和情境,滿足客戶的需求。此時針對數位化我們可以透過 SAS Event Stream Processing 相關解決方案針對正在發生的事件進行同步的了解,整合串流、評估和儲存的模式,簡單來說就是當接收資料時就會即時進行分析,並且在新事件發生時更新相關狀況的情報,即時掌握趨勢脈動,以及針對大數據我們可以透過 SAS Real-Time Decision Manager 相關解決方案在即時客戶互動的過程中,針對決策流程自動分析與套用,協助做出更適當且明智的決定。

然而目前企業內部則面臨的挑戰,主要有三點,分別為人才、流程和組織,更進一步探討就是缺乏客戶洞察、業務和通路不互相溝通以及企業文化的要素。此時可以藉由 SAS Customer Intelligence 相關解決方案,先從聆聽,接著了解,再來決策,最後行動解決目前企業內部所面臨的挑戰,舉例來說,若我們從業務的角度思考時,則可以整合線上和線下不同的通路資料,從業務需求進行分析,以利解決問題,同時在過程中不斷提升客戶體驗,例如:專業理專針對不同的客戶提供適當的商品投資組合時,是否能夠透過以資料分析的方式針對市場景氣、資產配置和客戶偏好提供最適當的建議呢?此時可以我們可以透過 SAS Text Analytics 相關解決方案進行理財新聞的匯整幫助理專快速理解市場景氣。SAS Visual Analytics 提供互動儀表板根據客戶風險屬性與投資傾向分析結果,進行資產配置的建議,像是挑選合適的基金。SAS Visual Statistics 針對客戶進行分群之後,接著以交叉資料表二維方式呈現關聯相關的投資組合,再來以泡泡圖多維方式呈現找出價值的狀況,最後以熱力圖多維方式產生最有價值的客群名單,此時再針對此客群的投資組合共通性提出不同策略的解決方案經營客群。此外當客戶在特店進行信用卡消費時,發現額度不夠時,是否能夠即可線上即時進行信用審查,自動化提高額度呢?此時我們可以透過 SAS Event Stream Processing 和 SAS Real-Time Decision Manager 相關解決方案解決此問題。

雖然透過 SAS 工具能夠先解決缺乏客戶洞察和業務和通路不互相溝通的挑戰,但還是無法解決企業文化要素的挑戰。破壞式創新應用的金融科技才會有未來,而非僅是利用科技改善金融服務。金融產業在未來會不會成為擁有金融相關牌照的資訊科技公司呢?在 1990 年代初期大力推廣自動櫃員機的前花旗銀行總裁 John Reed,曾說過:”Banking is just bits and bytes.”,簡單來說金融服務就是一連串的資訊處理。然而金融產業的本質主要就是信用,在於解決資訊不對稱的問題,例如:銀行會先從社會大眾取得存款,再借給有資金需求的企業,此時就擔任資金中介者,此時因為資金牽涉社會大眾,所以必需施以高度監管。然而中國大陸則在法規和監理不嚴謹和龐大市場人口的情況下發展出許多金融科技的應用,例如:一站式互聯網理財主要有四種典型的業務模式,分別為自助化、顧問化、社交化和智慧化,其中基於大數據的智慧化理財決策是非常關鍵的因素,此時若再以全球市場來看知名的金融科技新創公司破壞式創新應用。

  1. Wealthfront:主要就是改變傳統的理財投資組合的銷售模式。
  2. Motif Investing:主要是提供投資組合服務的提供商。
  3. Mint:主要是提供個人日常財務管理,推薦金融商品以利省錢收取佣金。
  4. ZestFinance:主要是針對無信用資料或記錄不佳者進行大數據建模進行風險分析。
  5. Kabbage:主要貸款給小企業,針對營運、第三方、線上交易、社群評價進行風險分析。

當然還有許多破壞式創新後應用的金融科技,但是對於金融產業的獲利關鍵,主要還是風險管理能力,一般來說在過往我們只有在交易與交付的當下接觸到客戶,接著才會進行客戶經營和商品銷售,可是現今我們是否能夠進行銷售前移,也就是說透過 SAS Customer Intelligence 360 相關解決方案提供全方位的客戶資訊,透過大數據的分析在交易和交付發生前先了解客戶的興趣和需求,讓我們能夠愈早接觸到客戶,提供最適當的商品時,此時成功率更高。然而客戶真的是優質的客戶嗎?此時我們就可以透過 SAS Real-Time Decision Manager 相關解決方案,進行大數據的管理與實務應用,主要有三大重點,分別為變數多 (Data) 、模型多 (Model) 和更新快 (Deploy) ,也就是每位客戶會有許多變數,從變數中挑選特徵變數,接著建立分析模型,再來校正模型,最後進行風險評分。傳統風險主要是以信貸違約風險為主,現今風險主要是以信用品質為主,但是因為需要採用第三方資料使得完整度較低,導致變數轉多,來源規範性較低,此時除了需要自動化篩選變數之外,更需要能夠整合決策進行模型的置換與比較,像是挑戰者模型挑選與淘汰機制,更重要的是模型部署可以透過自動化決策平台進行,其中包括業務規則、分析模型和商業流程。此外我們還可以透過 SAS Visual Investigator 針對個人為主的消費金融和公司為主的企業金融進行社群關聯分析,接著將風險因素和關聯因素相加得出風險評分,同時針對高風險的事件發出警示訊息等應用。簡單來說就是流程化資料探勘分析,優化降低誤判風險,以利帶來更多的價值。

總結我們可以從整個企業進行全面思考,接著以資料分析為戰略,最後再以業務案例為驅動,在對的時間機搭配最合適的工具以利資訊人員與業務人員協同合作,至於金融科技的關鍵重點則在於解決人才、流程和組織的挑戰。

相關資源