一、 為什么要進行對數化處理
1. 縮小數據的絕對數值,方便計算。
例如,每個數據項的值都很大,許多這樣的值進行計算可能對超過常用數據類型的取值范圍,這時取對數,就把數值縮小了;在實證模型中,縮小值之后相關系數數值會更大一些(原值可能需要四到五位有效數字)。
2. 取對數后,可以將乘法計算轉換稱加法計算。
3. 某些情況下,在數據的整個值域中的在不同區間的差異帶來的影響不同。
從log函數的圖像可以看到,自變量x的值越小,函數值y的變化越快,還是前面的例子,同樣是相差了300,但log500-log200>log800-log500,因為前面一對的比后面一對更小。也就是說,對數值小的部分差異的敏感程度比數值大的部分的差異敏感程度更高。這也是符合生活常識的,例如對於價格,買個家電,如果價格相差幾百元能夠很大程度影響你決策,但是你買汽車時相差幾百元你會忽略不計了。
4. 取對數之后不會改變數據的性質和相關關系,但壓縮了變量的尺度。
例如800/200=4, 但log800/log200=1.2616,數據更加平穩,也消弱了模型的共線性、異方差性等。
5. 且所得到的數據易消除異方差問題。
6. 在經濟學中,常取自然對數再做回歸,這時回歸方程為 lnY=a lnX+b ,兩邊同時對X求導,1/Y*(DY/DX)=a*1/X, b=(DY/DX)*(X/Y)=(DY*X)/(DX*Y)=(DY/Y)/(DX/X) 這正好是彈性的定義。
當然,如果數據集中有負數當然就不能取對數了。實踐中,取對數的一般是水平量,而不是比例數據,例如變化率等。
二、在進行對數化處理的過程中為什么要加1
如果在原始數據中,有一些數為0,在進行對數化的過程中可能會造成數據的缺失。+1不會讓有效樣本量變少