كيف يمكنني أن أفعل تحليل الانحدار في سيج؟
سؤال
وحاولت دون جدوى هذا:
find_fit(data, quadratic_residues)
وأنا أحاول العثور على أفضل لاحتواء البيانات حول معدلات تدفق المياه: HTTP : //dl.getdropbox.com/u/175564/rate.png
و--- تحرير بعد تعليق ---
والقانون الجديد:
var('x')
model(x) = x**2
find_fit((xlist, reqlist), model)
ورسالة الخطأ:
Traceback (click to the left for traceback)
...
TypeError: data has to be a list of lists, a matrix, or a numpy array
و--- تحرير
ورسالة الخطأ الآن:
Traceback (click to the left for traceback)
...
ValueError: each row of data needs 2 entries, only 5 entries given
وهنا نفس كصورة: http://dl.getdropbox.com/u/175564/sage.png
المحلول
mydata = [[1,3],[2,7],[3,13],[4,24]]
var('a,b,c')
mymodel(x) = a*x^2 + b*x + c
myfit = find_fit(mydata,mymodel,solution_dict=True)
points(mydata,color='purple') + plot(
mymodel(
a=myfit[a],
b=myfit[b],
c=myfit[c]
),
(x,0,4,),
color='red'
)
نصائح أخرى
وأعتقد أن مشكلتك هي أن quadratic_residues ربما لا يعني ما كنت أعتقد أنه يعني. إذا كنت تحاول تناسب أفضل نموذج من الدرجة الثانية أعتقد أنك تريد أن تفعل شيئا من هذا القبيل.
var('a, b, c, x')
model(x) = a*x*x + b*x + c
find_fit(data, model)
ومحاولة ستيفن مثاله ركضت أيضا في الخطأ:
ValueError: each row of data needs 5 entries, only 2 entries given
وهنا مثال أكثر وضوحا أن لقد اختبرت أن تعمل في حكيم 4.7.
sage: l=[4*i^2+7*i+134+random() for i in xrange(100)]
sage: var('a,b,c,x')
(a, b, c, x)
sage: model=a*x^2+b*x+c
sage: find_fit(zip(xrange(100),l),model,variables=[x])
[a == 4.0000723084513217, b == 6.9904742307159697, c == 134.74698715254667]
وApperently كنت في حاجة إلى المتغيرات = [س] أن يقول حكيم أي من أ، ب، ج و x يتوافق مع المتغير في النموذج الخاص بك.
لا تنتمي إلى StackOverflow