2023年1月12日
今天去探訪了一家航空貨運客戶,了解了一些需求,是乙個很標準的資料倉儲專案。現有的麵包黃油系統(業務系統)有很多,foc,icargo,xx等等,現在他們做統計、預算要用到一批報表,報表的資料來源都是手工從各個系統的查詢介面抓取到excel裡面,然後再把excel手工製作成報表的樣子。
好乙個惡夢般的報表製作過程啊,資料倉儲正是為了解決這個惡夢而產生的。但是老闆今天沒有著重介紹關於資料倉儲的東西,而是引導他們認識「模型」這個東西,我想原因大概有兩個:
1)挖掘更多的需求。
他們手工製作那批報表是幾個小姑娘在做,客戶「低估」了小姑娘的價值,也同時低估了這個系統的價值,只有挖出更多的需求才能賺錢。
2)推出關鍵競爭力:模型
一起來競爭這個專案還有兩家公司,我們只是候選人之一,所以得有有競爭力的東西拿上檯面來。老闆選擇了「模型」,這個競爭力剛在前不久的乙個專案中勝出了,那家客戶對老闆提出的模型很感興趣,所以選擇了我們。
那什麼是「模型」?
例子就是今天提到油價對他們成本的影響,他們估計油價佔成本的50%左右,而且油價非常不穩定,所以導致收益也跟著波動,於是這裡的模型就是收益隨油價波動的乙個相關曲線,繼而可以設定油價預警線,在這個油價的時候收益可能只有5%,所以需要預警了,這個是只有乙個油價因素的簡單模型,實際情況得加入貨物重量,飛行時間,維修費用等等因素建立乙個互相制約的模型,進而可以根據某幾個因素的變動從而對其他因素作出調整以達到收益最大化。
這個idea看起來很誘人,先不管它,再來看看資料探勘中是怎麼對模型作出定義和解釋的。
很不幸,在data mining中他們不叫做模型,而是叫做模式(pattern),不過還好,名字不同,意義相通。
dm的功能就是:指定的dm任務中要找的模式,dm任務又分為描述(descriptive)和**(predictive),那dm就是指定描述和**的模式。也是說模式是dm的乙個目標,模式經過評估和表示後就是知識,dm這個知識發現過程(kdd)也就結束了。
模式包括
[b]1)概念/類描述:特徵化和區分[/b]
比如顧客的概念包括:bigspenders和bugetspenders,這兩個名詞就是乙個概念,每個概念都有它自己的特徵,這就是特徵化,每個概念都有用來區分和其他概念不同的東西,這個就是區分。
dm找到這種模式可以做什麼?比如特徵化後發現購買國產***的顧客都是bugetspender,比如象我。
[b]2)關聯分析(association analysis)[/b]
關聯分析就是發現關聯規則(association rule)
關聯規則是形如 x=>y 的東西,即 a1c a2^ ...^am => b1^ b2^ ... ^bn 這種形式,其中ai(i屬於[1,m]) bj(j屬於[1,n])是屬性-值對(attribute-value pairs),x=>y 解釋為:「滿足x中的條件的資料多半也滿足y中條件」
比如:age(x,20...29) ^ income(x,20k...29k) => buys(x,"ipod") [support=2%,confidence=60%]
//support是支援度,就是所有資料中符合這條規則的資料佔比
//confidence是置信度,就是滿足規則左邊條件的客戶60%的可能買ipod.我買的是meizu的,但是不屬於那另外的40%,-_-
最近在做規則評分的專案,用上了jboss rules (drools),這條規則用drools的drl語法就是:
when
c:customer(20<=age,age<=29 , 20000<=income,income<=29000)
then
c.buys(new ***("ipod"));
drools裡面的規則的置信度都是100%的 -_-
dm中把以上屬性或謂詞(predicate,例如buys這個動作)稱之為緯度,於是上面這條規則就是多維關聯規則(multidimensional association rule)了,好拉風的名詞。
[b]3)分類(classification)和**(prediction)[/b]
分類和前面的「類描述」很容易混淆。
分類是:找出描述並區分資料類或概念的模型(model)或函式,以便能用模型**類標記為未知的物件類。
匯出模型(derived model)是基於訓練資料(training data,就是已知資料)的分析,它可以用多種形式來表達,比如分類(if-then)規則,判定樹(decision trees),數學公式,神經網路(neural networks)
分類可以用來**資料物件的類標記,當被**的值是數值資料時,通常稱之為**。
[b]4)聚類分析(clustering analysis)[/b]
過程:本著最大化類內的相似性,最小話類間的相似性的原則進行聚類或分組
[b]5)孤立點分析[/b]
孤立點(outlier):和一般的不一樣的那些傢伙。在一些應用中,比如欺詐分析,罕見的事情反而更有趣。孤立點分析也成為孤立點挖掘(outlier mining)
[b] 6)演變分析(evolution analysis)[/b]
描述行為隨時間變化的規律和趨勢,並對其建模。這個在計量經濟學裡面專門有時間序列分析來整。
ok,就這些了,了解了這些模式對資料探勘也就有了乙個大概的了解了,因為dm也有人稱之為模式分析,大致的過程就是發現上面這些模式或者運用這些模式,還不一定全用上。
回到今天俺老闆力推的模型,實際上就是乙個關聯分析,這個我在學計量經濟學的時候還整了個關於各種電腦配件**和一些市場因素的關聯小模型來忽悠過老師,不過建立乙個收益、成本因素的關聯模型來給客戶就不是那麼好忽悠了。關於忽悠,dm中也有介紹,就是模式是不是有趣(interesting)的。怎麼衡量是否有趣呢,有兩個比較重要的指標,就是前面提到的confidence和support.
這次客戶對我們的idea的評價是很有意思,看起來也就是很有趣了,不過只有建立模型並找到模式才能知道他們的confidence和support是多少了,希望是真正的有趣。
資料探勘中模型填補的方法
填補方法與樣本量相關 通常,資料探勘領域 建模時 資料樣本的填補方法與樣本量的大小息息相關,一般,如果變數間取值關聯程度較強,則模型填補的方式似乎更為常見 一種方法是利用proc stdize過程步,這種方法只能利用基本的描述統計的方法進行填補,例如使用均值 中位數等方式,此外,這種方式也能夠同時進...
資料探勘中的資料
資料集資料預處理 相似度和相異性 簡單匹配係數 jaccard係數 余弦相似度 歐幾里得距離 例如礦石硬度 成績 街道號碼 例如日曆日期 攝氏或華氏溫度 例如絕對溫度 貨幣量 計數 年齡 質量 長度 電流 出現遺漏值的原因 處理遺漏值的策略將兩個或多個物件合併成單個物件 聚集是刪除屬性的過程,或壓縮...
SQL 2008中的挖掘模型
sql server 2008 聯機叢書 2009 年 7 月 挖掘模型 analysis services 資料探勘 本節介紹了資料探勘模型的基本體系結構,概述了資料探勘模型的屬性,並說明了建立和處理挖掘模型的方式。mining model architecture defining mining...