開始使用免費開始

把補值與建模包成一個函式

只要你在補值後的資料上做任何分析或建模,就應該把補值帶來的不確定性納入考量。只對資料集進行一次補值後就直接跑模型,等於忽略了補值只是對遺漏值的估計,而且這個估計本身有不確定性。這類模型得到的標準誤往往偏小。解方是多重補值,而其中一種實作方式就是自助抽樣(bootstrapping)。

在接下來的練習中,你會使用熟悉的 biopics 資料。目標是透過自助抽樣的多重補值加上線性迴歸,檢視在手邊的資料下,女性主角的傳記電影是否比男性主角的票房更低。

先從撰寫一個函式開始:它會建立一個自助抽樣樣本、對其進行補值,並且擬合線性迴歸模型。

本練習屬於課程

在 R 中以插補處理遺漏值

檢視課程

練習說明

  • indices 指定的列索引重新抽樣 data 的列,切片後指定給 data_boot
  • 以 5 個鄰居對自助抽樣的 data_boot 進行 kNN 補值,並將結果指定給 data_imp
  • data_imp 上擬合一個線性迴歸模型,用 sub_sexsub_typeyear 解釋 earnings

動手互動練習

試著完成這個範例程式碼,體驗一下這個練習。

calc_gender_coef <- function(data, indices) {
  # Get bootstrap sample
  data_boot <- data[___, ]
  # Impute with kNN imputation
  data_imp <- ___
  # Fit linear regression
  linear_model <- ___
  # Extract and return gender coefficient
  gender_coefficient <- coef(linear_model)[2]
  return(gender_coefficient)
}
編輯並執行程式碼