3.0 SciPy

3.1.1 Data Modeling and Fitting


In [ ]:
# Using curve_fit which is chi2 based (best-fit method)

In [3]:
# It seems there is some mismatch of compiled version of scipy which
# give me an error. It does not seems  trivial solution. But this runs without 
# an error on spyder-app environment. See Scikit-learn/Exe_311_OReillySciPyAndNumPy.py

import numpy as np
from scipy.optimize import curve_fit

# Creating a function to model and create data
def func(x, a, b):
    return a * x + b

# Generating clean data
x = np.linspace(0,10,100)
y = func(x,1,2)

# Adding noise
yn = y + 0.9 * np.random.normal(size=len(x))

# using curve_fit
popt, pcov = curve_fit(func, x, yn)

#popt == best fit values for the model func

print(popt)


---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
<ipython-input-3-42b146fde76d> in <module>()
      1 import numpy as np
----> 2 from scipy.optimize import curve_fit
      3 
      4 # Creating a function to model and create data
      5 def func(x, a, b):

/Users/samantha/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/scipy/optimize/__init__.py in <module>()
    144 from __future__ import division, print_function, absolute_import
    145 
--> 146 from .optimize import *
    147 from ._minimize import *
    148 from ._root import *

/Users/samantha/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/scipy/optimize/optimize.py in <module>()
     33 from numpy import (atleast_1d, eye, mgrid, argmin, zeros, shape, squeeze,
     34                    vectorize, asarray, sqrt, Inf, asfarray, isinf)
---> 35 from .linesearch import (line_search_BFGS, line_search_wolfe1,
     36                          line_search_wolfe2, line_search_wolfe2 as line_search)
     37 

/Users/samantha/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/scipy/optimize/linesearch.py in <module>()
     14 from __future__ import division, print_function, absolute_import
     15 
---> 16 from scipy.optimize import minpack2
     17 import numpy as np
     18 from scipy.lib.six.moves import xrange

ImportError: cannot import name minpack2

In [1]:


In [ ]: