मैं व्यक्तिगत जहाजों के लिए सरल यादृच्छिक प्रभावों को मॉडल करने के लिए mgcv में गम का उपयोग करके मछली पकड़ने की कुल मॉडलिंग में दिलचस्पी रखता हूं (जो कि मत्स्य में समय के साथ बार-बार यात्राएं करता है)। मेरे पास 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
मुझे लगता है कि यह इसलिए कहा जा रहा है क्योंकि वेसलिड एक कारक है, लेकिन मैं यादृच्छिक प्रभावों के लिए इसका उपयोग कर रहा हूं।
मैं सरल यादृच्छिक प्रभावों (bs = "re") के बिना गम का उपयोग करके सफलतापूर्वक भविष्यवाणी करने में सक्षम रहा हूं।
क्या आप इस मॉडल के बिना वेसलिड शब्द की भविष्यवाणी करने के बारे में कोई सलाह दे सकते हैं (लेकिन फिर भी इसे फिटिंग में शामिल करें)?
धन्यवाद!