मैं एक साधारण पावर लॉ मॉडल को एक डेटा सेट में फिट करने की कोशिश कर रहा हूं जो इस प्रकार है:
mydf
:
rev weeks
17906.4 1
5303.72 2
2700.58 3
1696.77 4
947.53 5
362.03 6
लक्ष्य के माध्यम से बिजली लाइन को पारित करने और rev
भविष्य के हफ्तों के लिए vlaues भविष्यवाणी करने के लिए इसका इस्तेमाल किया जा रहा है। अनुसंधान के एक समूह ने मुझे nls
कार्य करने के लिए प्रेरित किया , जिसे मैंने निम्नानुसार कार्यान्वित किया।
newMod <- nls(rev ~ a*weeks^b, data=modeldf, start = list(a=1,b=1))
predict(newMod, newdata = data.frame(weeks=c(1,2,3,4,5,6,7,8,9,10)))
जब यह एक lm
मॉडल के लिए काम करता है , तो मुझे एक singular gradient
त्रुटि मिलती है , जिसे मैं समझता हूं कि मेरे शुरुआती मूल्यों के साथ क्या करना है a
और b
। मैंने विभिन्न मूल्यों की कोशिश की, यहां तक कि एक्सेल में इसे प्लॉट करने के लिए, एक अकेला पास करने के लिए, एक समीकरण प्राप्त करें, फिर समीकरण से मूल्यों का उपयोग करें, लेकिन मुझे अभी भी त्रुटि मिलती है। मैंने इस तरह के उत्तरों का एक गुच्छा देखा और दूसरे उत्तर की कोशिश की (पहले नहीं समझ सका), लेकिन कोई नतीजा नहीं निकला।
मैं वास्तव में यहां कुछ मदद का उपयोग कर सकता हूं कि सही शुरुआती मान कैसे पाएं। या वैकल्पिक रूप से, मैं nls के बजाय अन्य फ़ंक्शन का क्या उपयोग कर सकता हूं।
मामले में आप mydf
आसानी से विश्राम करना चाहते हैं :
mydf <- data.frame(rev=c(17906.4, 5303.72, 2700.58 ,1696.77 ,947.53 ,362.03), weeks=c(1,2,3,4,5,6))