logo
Loading...

為什麼範例檔需針對 y值做轉換成自然對數處理?是否因為數值存在outlier - Cupoy

我在寫作業007的時候看到範例檔針對y值做轉換成自然對數處理,請問這邊為什麼要做這個處理呢?因為數值...

為什麼範例檔需針對 y值做轉換成自然對數處理?是否因為數值存在outlier

2020/06/01 下午 09:50
機器學習共學討論版
Avery
觀看數:399
回答數:10
收藏數:3

我在寫作業007的時候看到範例檔針對y值做轉換成自然對數處理,請問這邊為什麼要做這個處理呢?因為數值存在outlier嗎?

另外想請問在什麼樣的資料情況下會針對y去做處理,又有什麼樣的方式可以進行呢?謝謝

回答列表

  • 2020/06/02 上午 00:01
    Yang 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 😃😃😃