對資料做一些變換的目的是它能夠讓它符合我們所做的假設,使我們能夠在已有理論上對其分析。
對數變換(log transformation)是特殊的一種資料變換方式,它可以將一類我們理論上未解決的模型問題轉化為已經解決的問題。我將說兩模擬較有代表性的模型。
這句話交代了假設,也就是說,數學模型在實際問題的應用(應用數學)
在資訊檢索中,使用最多的權重是「逆文字頻率指數」 (inverse document frequency 縮寫為idf),它的公式為log(d/dw)其中d是全部網頁數。
比如,我們假定中文網頁數是d=10億,應刪除詞「的」在所有的網頁中都出現,即dw=10億,那麼它的idf=log(10億/10億)= log (1) = 0。
假如專用詞「原子能」在兩百萬個網頁中出現,即dw=200萬,則它的權重idf=log(500) =6.2。
又假定通用詞「應用」,出現在五億個網頁中,它的權重idf = log(2)則只有 0.7。也就只說,在網頁中找到乙個「原子能」的比配相當於找到九個「應用」的匹配。利用 idf,上述相關性計算個公式就由詞頻的簡單求和變成了加權求和,即 tf1idf1 + tf2idf2 +… + tfn*idfn。
在上面的例子中,該網頁和「原子能的應用」的相關性為 0.0161,其中「原子能」貢獻了 0.0126,而「應用」只貢獻了0.0035。這個比例和我們的直覺比較一致了。
告訴你為什麼資料要取對數
平時在一些資料處理中,經常會把原始資料取對數後進一步處理。之所以這樣做是基於對數函式在其定義域內是單調增函式,取對數後不會改變資料的相對關係,取對數作用主要有:
縮小資料的絕對數值,方便計算。例如,每個資料項的值都很大,許多這樣的值進行計算可能對超過常用資料型別的取值範圍,這時取對數,就把數值縮小了,例如tf-idf計算時,由於在大規模語料庫中,很多詞的頻率是非常大的數字。
取對數後,可以將乘法計算轉換稱加法計算。
某些情況下,在資料的整個值域中的在不同區間的差異帶來的影響不同。例如,中文分詞的mmseg演算法,計算語素自由度時候就取了對數,這是因為,如果某兩個字的頻率分別都是500,頻率和為1000,另外兩個字的頻率分別為200和800,如果單純比較頻率和都是相等的,但是取對數後,log500=2.69897, log200=2.30103, log800=2.90308 這時候前者為2log500=5.39794, 後者為log200+log800=5.20411,這時前者的和更大,取前者。因為前面兩個詞頻率都是500,可見都比較常見。後面有個詞頻是200,說明不太常見,所以選擇前者。
從log函式的影象可以看到,自變數x的值越小,函式值y的變化越快,還是前面的例子,同樣是相差了300,但log500-log200>log800-log500,因為前面一對的比後面一對更小。
也就是說,對數值小的部分差異的敏感程度比數值大的部分的差異敏感程度更高。這也是符合生活常識的,例如對於**,買個家電,如果**相差幾百元能夠很大程度影響你決策,但是你買汽車時相差幾百元你會忽略不計了。
4. 取對數之後不會改變資料的性質和相關關係,但壓縮了變數的尺度,例如800/200=4, 但log800/log200=1.2616,資料更加平穩,也消弱了模型的共線性、異方差性等。
所得到的資料易消除異方差問題。
在經濟學中,常取自然對數再做回歸,這時回歸方程為 lny=a lnx+b ,兩邊同時對x求導,1/y*(dy/dx)=a1/x, b=(dy/dx)(x/y)=(dyx)/(dxy)=(dy/y)/(dx/x) 這正好是彈性的定義。
當然,如果資料集中有負數當然就不能取對數了。實踐中,取對數的一般是水平量,而不是比例資料,例如變化率等。
資料處理使用對數的原因
1.對數函式影象 2.平時在一些資料處理中,經常會把原始資料取對數後進一步處理。之所以這樣做是基於對數函式在其定義域內是單調增函式,取對數後不會改變資料的相對關係,取對數作用主要有 1 縮小資料的絕對數值,方便計算。例如,每個資料項的值都很大,許多這樣的值進行計算可能對超過常用資料型別的取值範圍,這...
封裝的對資料處理的方法
crds系統函式庫,用於配置crdsfunctions.tld檔案,便於頁面採用el表示式呼叫 version 1.0 author houtingsong maci hotesion date jun 9,2009 12 08 20 pm email houtingsong163 163.com ...
資料處理 SAS程式對資料整合
讀入資料,生成sas資料集work.productapurchase work為sas預設的工作邏輯庫,引用其中的資料集時可省略 work.data productapurchase infile e data ch2 productapurchase.csv delimiter firstobs ...