使用 > params < - pnbd.EstimateParameters(cal.cbs)
从BTYD包中我得到以下错误:
" optim(logparams,pnbd.eLL,cal.cbs = cal.cbs,max.param.value = max.param.value,L-BFGS-B需要'fn '的有限值 ".
这是什么意思?这个错误的原因是什么?我的cbs(客户通过足够的统计)矩阵是21394 3大,具有所需的colums:x,tx,T.cal.
信息cbs:
你能试试这个吗:
R> cal.cbs1 = subset(cal.cbs, x<100)
R> params <- pnbd.EstimateParameters(cal.cbs1)
Run Code Online (Sandbox Code Playgroud)
假设客户的购买次数 (x) 不应超过他/她观察到的天数 (T.cal),因为该算法假设每个用户每天最多只能进行一次购买。如果一名用户进行两次以上购买,dc.MergeTransactionsOnSameDate 函数应将它们合并为每天一次购买。所以先尝试使用小x。
另外,我确实相信 pnbd.EstimateParaters() 函数存在一些计算错误,因为它在 R 中调用了 optim() 函数。您看到的错误消息来自 optim() 函数。