Last active
September 24, 2015 07:10
-
-
Save yoavram/958a0e290063ebc32695 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| { | |
| "cells": [ | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "# lmfit strange example\n", | |
| "## Yoav Ram, 24 Sep 2015\n", | |
| "\n", | |
| "I found a strange bug or bad behaviour in lmfit - probably going down to stuff that lmfit wraps, but I'm not sure.\n", | |
| "\n", | |
| "I generate random data (with same seed, so it's always the same), and save it to a csv file.\n", | |
| "I then fit the same model with the same guess to the generated data and to the data loaded from the csv file.\n", | |
| "The first fit fails and the second succeeds.\n", | |
| "\n", | |
| "4/9 update: Matt Newville suggested to check if this happens with only one replicate per time point.\n", | |
| "24/9: Matt suggested to check what happens if I don't use panda's aggreagation and instead give lmfit all the points (incl. duplicate time points)." | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 2, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "%matplotlib inline\n", | |
| "import matplotlib.pyplot as plt\n", | |
| "import numpy as np\n", | |
| "from scipy.integrate import odeint\n", | |
| "import pandas as pd\n", | |
| "import lmfit" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Generate data:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 26, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "y0 = 0.1\n", | |
| "r = 0.7\n", | |
| "K = 1\n", | |
| "nu = 2\n", | |
| "q0 = 0.001\n", | |
| "v = 1.4\n", | |
| "reps = 30 #1 4/9 update\n", | |
| "noise = 0.02\n", | |
| "\n", | |
| "def ode(y, t, r, K, nu, q0, v):\n", | |
| " alfa = q0 / (q0 + np.exp(-v * t))\n", | |
| " return alfa * r * y * (1 - (y/K)**nu)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 27, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\ngg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1b0983c8>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "rng = np.random.RandomState(0)\n", | |
| "t = np.linspace(0, 16)\n", | |
| "y = odeint(ode, y0, t, args=(r, K, nu, q0, v))\n", | |
| "y.resize((len(t),))\n", | |
| "y = y.repeat(reps).reshape((len(t), reps)) + rng.normal(0, noise, (len(t), reps))\n", | |
| "y[y < 0] = 0\n", | |
| "df1 = pd.DataFrame({'y': y.flatten(), 't': t.repeat(reps)})\n", | |
| "df1.plot('t','y', kind='scatter');" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "Save data to file and load it into a different data frame:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 28, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\ngg==\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1a64d550>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "df1.to_csv('tmp.csv', index=False)\n", | |
| "df2 = pd.read_csv('tmp.csv')\n", | |
| "df2.plot('t','y', kind='scatter');" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The two data frame are very similar:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 29, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "text/plain": [ | |
| "True" | |
| ] | |
| }, | |
| "execution_count": 29, | |
| "metadata": {}, | |
| "output_type": "execute_result" | |
| } | |
| ], | |
| "source": [ | |
| "np.allclose(df1, df2)" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "This function creates a model and tries to fit it to the average of the data, using the standard deviaiton for weights:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 43, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [], | |
| "source": [ | |
| "def fit(df):\n", | |
| " def model_func(t, y0, r, K, nu, q0, v):\n", | |
| " At = t + (1./v) * np.log((np.exp(-v * t) + q0)/(1 + q0))\n", | |
| " return K / ((1 - (1 - (K/y0)**nu) * np.exp( -r * nu * At ))**(1./nu))\n", | |
| " model = lmfit.Model(model_func)\n", | |
| " params = model.make_params(y0=0.01, r=0.1, K=1, nu=1, q0=1, v=1)\n", | |
| " params['y0'].set(min=1e-10)\n", | |
| " params['K'].set(min=1e-10)\n", | |
| " params['r'].set(min=1e-10)\n", | |
| " params['nu'].set(min=1e-10)\n", | |
| " t = df.t.unique()\n", | |
| " y_mean = df.groupby('t').y.mean()\n", | |
| " y_std = df.groupby('t').y.std() # 4/9 update\n", | |
| " if not np.isfinite(y_std).any(): # 24/9 update\n", | |
| " w = None\n", | |
| " else:\n", | |
| " y_std[~np.isfinite(y_std)] = y_std.min()\n", | |
| " w = 1./y_std\n", | |
| " assert np.isfinite(y_std).all()\n", | |
| " fit = model.fit(y_mean, t=t, params=params, weights=w)# 4/9 update\n", | |
| " #fit = model.fit(df.y, t=df.t, params=params) # 24/9\n", | |
| " return fit" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "The fit fails terribly on the generated data:" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 44, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1ad40198>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "fit(df1).plot_fit();" | |
| ] | |
| }, | |
| { | |
| "cell_type": "markdown", | |
| "metadata": {}, | |
| "source": [ | |
| "~~but somehow succeeds on the loaded data, although they are almost the same according to the process we did and the `np.allclose` result:~~\n", | |
| "\n", | |
| "4/9 update: when using a single replicate the fit is the same (terrible that is):" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": 45, | |
| "metadata": { | |
| "collapsed": false | |
| }, | |
| "outputs": [ | |
| { | |
| "data": { | |
| "image/png": "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\nLCEYY4wB4P8DmSpJL7SSRDIAAAAASUVORK5CYII=\n", | |
| "text/plain": [ | |
| "<matplotlib.figure.Figure at 0x1adcc208>" | |
| ] | |
| }, | |
| "metadata": {}, | |
| "output_type": "display_data" | |
| } | |
| ], | |
| "source": [ | |
| "fit(df2).plot_fit();" | |
| ] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| }, | |
| { | |
| "cell_type": "code", | |
| "execution_count": null, | |
| "metadata": { | |
| "collapsed": true | |
| }, | |
| "outputs": [], | |
| "source": [] | |
| } | |
| ], | |
| "metadata": { | |
| "kernelspec": { | |
| "display_name": "Python 2", | |
| "language": "python", | |
| "name": "python2" | |
| }, | |
| "language_info": { | |
| "codemirror_mode": { | |
| "name": "ipython", | |
| "version": 2 | |
| }, | |
| "file_extension": ".py", | |
| "mimetype": "text/x-python", | |
| "name": "python", | |
| "nbconvert_exporter": "python", | |
| "pygments_lexer": "ipython2", | |
| "version": "2.7.8" | |
| } | |
| }, | |
| "nbformat": 4, | |
| "nbformat_minor": 0 | |
| } |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment