為什麼範例檔需針對 y值做轉換成自然對數處理?是否因為數值存在outlier
我在寫作業007的時候看到範例檔針對y值做轉換成自然對數處理,請問這邊為什麼要做這個處理呢?因為數值存在outlier嗎?
另外想請問在什麼樣的資料情況下會針對y去做處理,又有什麼樣的方式可以進行呢?謝謝
回答列表
-
2020/06/02 上午 00:01Yang Wang贊同數:1不贊同數:0留言數:1
通常取 log 會有以下原因:
1. 縮小資料的數值,方便計算。
2. 可以將乘法計算轉換稱加法計算。
3. 可以削弱模型的共線性及異方差性。
可以先對該資料做圖應該就會比較清楚。
note:資料集中如果有負數就不能取對數,因為定義域不能小於零。
-
2020/06/02 上午 02:31張維元 (WeiYuan)贊同數:1不贊同數:0留言數:1
嗨,這邊補充我的想法:
log 常用在兩種情境:
1. 資料範圍太大,可以縮小一點 => 讓資料的值變小
2. 資料偏態嚴重,可以集中一點 => 讓資料間的差距也相對變小更平穩
這裡的話應該是 2.
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/06/02 下午 04:45張維元 (WeiYuan)贊同數:0不贊同數:1留言數:1
「那再請問一下,如果對資料偏態嚴重的y取log讓資料變得相對平穩,那這樣會不會造成y的結構失真,影響預測結果呢?謝謝」
=> 會的,不過一般我們會假設資料是符合常態分佈,這樣對模型來說也比較好運算。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/06/03 上午 10:38張維元 (WeiYuan)贊同數:0不贊同數:0留言數:1
「那如果用 Shapiro-Wilk 常態性檢定之後發現 feature 並非常態分佈,這時候應該怎麼辦?」
=> 那你要想一下是收集資料的方式導致的?還是資料定義導致的?我們盡量會採用常態的資料,這樣模型學習的效果比較強。如果真的資料的分佈是不符合的話,就要挑選適合的模型。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃
-
2020/06/03 上午 10:42張維元 (WeiYuan)贊同數:1不贊同數:0留言數:1
補充一下,這邊我們想要提醒的是「Shapiro-Wilk」是對收集到的資料做檢驗,但不代表背後的資料真的是這樣,有可能很多不同的成因會導致。當然,也有可能這就是真實的資料分布,但我們還是會透過某些手法來做調整,也許會犧牲某些程度的完整性。
舉個離端的例子,像有些 Umbalanced data 就是一種非常不常態的資料,例如:失火、罹患重症之類的資料必然是所有資料的少數。那我們實際上的處理手段,可能是利用抽樣的方式讓資料平衡一點,盡可能分布平均一點。這就是一種「犧牲某些程度的資料完整性」的手法。
如果這個回答對你有幫助請主動點選「有幫助」的按鈕,也可以追蹤我的GITHUB帳號。若還有問題的話,也歡迎繼續再追問或者把你理解的部分整理上來,我都會提供你 Review 和 Feedback 😃😃😃