[英]How to forecast time series for many products, including a seasonality factor in R
[英]How to implement LINEX loss function for LightGBM time series forecast?
在需求預測中,請記住,低估需求對大多數企業的傷害更大,因為高估某種產品的需求會增加成本。
Gradient Boosting 機器的標准損失 function 是 RMSE,它沒有平滑的導數。
為了使目標更“商業化”,我們可以定義一個自定義損失 function,將產品價格考慮在內(例如非對稱 MSE)。
另一種可能性是所謂的 LINEX 損失 function。LINEX 代表線性指數損失並說明不對稱損失。
然而,我在R中很難實現LINEX。我只找到了一個沒有深入描述的公式。
圖示示例顯示了 xgboost model 的實現。
有誰知道,如何在防風草中實現這個?
這是一個示例,如何實現自定義損失 function:
library(tidymodels)
library(lightgbm)
library(bonsai)
mod <- boost_tree("regression") %>%
set_engine("lightgbm",
objective = function(preds, dtrain) {
truth <- as.numeric(getinfo(dtrain, "label"))
error <- truth - preds
gradient <- -2 * error
hess <- rep.int(2, length(preds))
list(grad = gradient, hess = hess)
}
)
您可能必須編寫自定義標准 function 。
您還可以添加一個GitHub 問題來實現它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.