2016年10月8日

【SAS 小技巧】小數點後做無條件捨去或進位

SAS內建函數中無條件捨去的函數為CEIL,無條件進位的函數為FLOOR,但在預設功能只能做到捨去或進位到整數。看一下SAS的說明及範例
無條件捨去:
CEIL(argument)
image34
  無條件進位:
FLOOR(argument)
image29

2016年5月30日

【SAS 小技巧】替換文字中的中文字串(K函數+Macro)

曾在用K函數處理中文字串文章中提及專門用來處理中文的K函數,但沒有實際的例子,最近發生了一個案例,把處理心得分享給大家參考。

原問題為,想把地址中的某一條路刪除。

例如:
台北市中山路50號 → 台北市50號
北市板橋區中山路二段 → 北市板橋區二段

這樣的取代如果用EXCEL或WORD不難處理,但在SAS中似乎不是那麼人性。

以下程式我不會特別說明語法的指令,有興趣者可請自行研究或連至我推薦的網頁查詢。

2016年5月2日

KAMERA 急診資料挑戰賽

臉友轉貼上這個比賽,開啟了人生第一場數據分析比賽,KAMERA 急診資料挑戰賽

原本只是抱著看熱鬧的心情,把資料下載下來後,稍微研究一下資料的格式,開始思考要如何分析這份資料,從不同月份、星期、時段、醫院別等思考,原本還打算整理一些外部的資料,例如溫度、濕度、雨量,但取得方式比預期的困難許多,也可能要花額外的費用,也就做罷了。

回到主辦單為提供資料的原本架構,從中思考有那些變項可以分析,可以套用哪些模型,首先當然先把資料分布做一個基本分析,最後我的第一個模型就是『以前一年同月份資料為基礎,計算各變項組合下的平均值』,這嚴格來說不算模型,算算平均值而已。

第一次上傳後得到0分!!!這個狀況持續了幾天(一天只能上傳兩次),最後發現上傳的檔案格式必須完全符合主辦單位所提供的資料架構才能計算分析,在成功得到分數後,竟然就得到97分(滿分100),過來幾天稍微調整了一下成長率的問題,分數就非常漂亮了。因為原本沒有打算很認真,就把這個比賽放了幾天沒用管他。

等到某一天回來發現有一堆高手分數都高於98分,也激起了我的鬥志,因為不想要再嘗試統計模型了,就將結果依據估計值的大小慢慢調整每一個變項組合的加權(註1),最後得到分數為98.842,最後結算為第5名(佳作)。

image

發表會那天,前三名得獎者在台上說著他們的分析方法和策略,還真的都滿有趣的。當天行政院長張善政還專程參加(張揆出席高屏地區急診資料挑戰賽成果分享會)。

發表會後的晚宴也相當精緻,得獎者及DSP知識長互相間的討論,討論到資料分析技巧的問題和產業的現況,整體來說我覺得是一個滿有意義的活動,不過比賽真的會要花心力,需要休息一下,過一段時間會考慮挑戰國外的比賽!!

原檔

2016-05-02 12.30.09

PS:
註1:我調整加權的方法不是有效率的方法,得獎者在其方法中均有不同的加權方式,有人使用K-MEAN或類神經網路或許都是更有效率的方法。