Мене цікавить моделювання загального вилову риби з використанням гами в мгкв для моделювання простих випадкових ефектів для окремих суден (які роблять багаторазові поїздки з часом у риболовлі). У мене 98 предметів, тож я думав, що буду використовувати ген замість гамма для моделювання випадкових ефектів. Моя модель:
modelGOM <- gam(TotalFish ~ factor(SetYear) + factor(SetMonth) + factor(TimePeriod) +
s(SST) + s(VesselID, bs = "re", by = dum) + s(Distance, by = TimePeriod) +
offset(log(HooksSet)), data = GOM, family = tw(), method = "REML")
Я зашифрував випадковий ефект з bs = "re" і by = dum (я прочитав, що це дозволить мені передбачити ефекти судна за їх прогнозованими значеннями або нулем). "дум" - вектор 1.
Модель працює, але у мене проблеми передбачити. Я вибрав один із судин для прогнозів (Vessel21) та середні значення для всього іншого, окрім передбачувача, що цікавить прогнози (Відстань).
data.frame("Distance"=seq(min(GOM$Distance),max(GOM$Distance),length = 100),
"SetYear" = '2006',
"SetMonth" = '6',
"TimePeriod" = 'A',
"SST" = mean(GOM$SST),
"VesselID" = 'Vessel21',
"dum" = '0', #to predict without vessel effect
"HooksSet" = mean(GOM$HooksSet))
pred_GOM_A_Swordfish <- predict(modelGOM, grid.bin.GOM_A_Swordfish, type = "response",
se = T)
Помилка, яку я отримую:
Error in Predict.matrix.tprs.smooth(object, dk$data) :
NA/NaN/Inf in foreign function call (arg 1)
In addition: Warning message:
In Ops.factor(xx, object$shift[i]) : - not meaningful for factors
Я думаю, що це називається тому, що VesselID є фактором, але я використовую це як гладкий для випадкових ефектів.
Мені вдалося спрогнозувати використання гри без простих випадкових ефектів (bs = "re").
Чи можете ви надати які-небудь поради щодо того, як передбачити цю модель без терміну VesselID (але все-таки включити її в примірку)?
Дякую!