2011-11-26 5 views
13

Próbuję dopasować niektóre dane i takie tam, wiem, że jest proste polecenie, aby to zrobić z python/numpy/matplotlib, ale nie mogę go znaleźć. Myślę, że jest coś takiego jakDopasowanie krzywej z pytonem

popt,popc = numpy.curvefit(f,x) 

gdzie popt jest paramters z f, popc jest dopasowanie jakości i f jest predefiniowanych funkcji f. Czy ktoś z was to wie?

+1

Jeśli jest to jednorazowe, łatwiej jest po prostu podłączyć wartości do wyszukiwarki funkcji na stronie http://zunzun.com/ i pozwolić mu znaleźć najlepszą pasującą krzywą. Dostępny jest również ich kod Pythona. – endolith

Odpowiedz

28

Spójrz na scipy.optimize.curve_fit:

scipy.optimize.curve_fit (F xdata, ydata P0 = None, Sigma = None, ** kW)

pomocą nieliniowej najmniejszych kwadratów aby dopasować funkcję, f, do danych.

+0

Jedno pytanie: czy istnieje prosty sposób uzyskania wartości R-kwadrat z curve_fit, czy też uzyskać SSE, aby móc obliczyć R-kwadrat? Mogę wykonać trochę pracy i zrobić to w scipy.optimize.leastsq, ale kod będzie znacznie bardziej szczegółowy. –

0

Found it. Curve_fit z optymalizacji w scipy

+0

Czy ta odpowiedź nie jest duplikatem zaakceptowanej odpowiedzi? –