I need to fit an experimental histogram by a simulated one (to determine several parameters of the simulated one with which it fits best). I've tried curve_fit from scipy.optimize, but it does not work in this case: an error "... is not a python function" is returned. Is it possible to do this automatically in scipy or some other python module? If not, could you, please, give some links to probable algorithms to adjust them myself?
Optimization block in python (scipy) - a histogram with a histogram
694 Views Asked by Alexandra Shchukina At
1
There are 1 best solutions below
Related Questions in PYTHON
- new thread blocks main thread
- Extracting viewCount & SubscriberCount from YouTube API V3 for a given channel, where channelID does not equal userID
- Display images on Django Template Site
- Difference between list() and dict() with generators
- How can I serialize a numpy array while preserving matrix dimensions?
- Protractor did not run properly when using browser.wait, msg: "Wait timed out after XXXms"
- Why is my program adding int as string (4+7 = 47)?
- store numpy array in mysql
- how to omit the less frequent words from a dictionary in python?
- Update a text file with ( new words+ \n ) after the words is appended into a list
- python how to write list of lists to file
- Removing URL features from tokens in NLTK
- Optimizing for Social Leaderboards
- Python : Get size of string in bytes
- What is the code of the sorted function?
Related Questions in SCIPY
- Does numpy broadcast in *all* of its functions?
- How to install scipy misc package
- How to use meshgrid with large arrays in Matplotlib?
- Fastest Way to access and put values in matrix
- numpy.repeat() to create block-diagonal indices?
- Sympy function derivatives using custom method
- scipy.optimize.curve_fit for a function with complex dependence on variable parameters
- Scipy ValueError: Total size of new array must be unchanged
- How to write conditional probability in Python?
- Custom minimizer based on Levenberg-Marquardt in scipy.optimize.basinhopping
- Why is there a difference in magnitude response between scipy.filtfilt and scipy.lfilter?
- numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
- Elementwise addition of sparse scipy matrix vector with broadcasting
- Solve for a definite integral for each element within an array that is defined by a function in Python
- Finding roots with scipy.optimize.root
Related Questions in APPROXIMATION
- Recursively divide a list that each iteration divides into two parts to get the closest sum overall
- How to obtain tilde or approx symbol in gnuplot legend?
- Newtonraphson code in R leads to different results
- Max 3 color algorithm
- Euler's approximation in MATLAB
- Neighborhood Structure for Graph Coloring Local Search Heuristic
- C weird approximation on floating point
- Circular approximation of polygon (or its part)
- Euler's programming function : differential equation as a parameter
- Exponential approximation not good for small or large input
- updates in mean-field variational inference
- How to approximate the xth percentile for a large unknown quantity of number
- Maximizing Subgraph "value" given budget
- Fast, approximate solution to linear equations?
- graph algorithm, approximation algorithm
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
From what you have said I think the following should help, it seems your trying to use curve_fit in the wrong way:
You need to define the distribution you are trying to fit. For example if I have some data that looks normally distributed and I want to know if how well, and what parameters give the best fit, I would do the following:
The red line shows our simulated fit, if required you could also plot this as a histogram. The output of
poptgives an array of[sigma, mu]which best fit the data whilepcovcould be used to determine how good the fit is.Note that I normalised the data in
histogramthis is because the function I defined is the normal distribution.You need to think carefully about what distribution you expect and what statistic your looking to get from it.