python - scipy curve_fit 为 gompertz 模型引发“OptimizeWarning:无法估计参数的协方差”
问题描述
gompertz 模型的 curve_fit 函数出现以下错误。我正在尝试将 gompertz 曲线拟合到我拥有的数据中。我收到警告“无法估计参数的协方差”。显示的曲线不是很好的拟合。
RuntimeWarning -> exp OptimizeWarning 中遇到溢出 -> 无法估计参数的协方差 category=OptimizeWarning)
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import wget
import json
from pandas import json_normalize as jsonNor
import requests
import matplotlib.cm as cm
from matplotlib.colors import Normalize
from scipy.optimize import curve_fit
from sklearn.metrics import r2_score
import altair as alt
urls = [
'https://raw.githubusercontent.com/omkarmarkad/COVID19-Pune/master/timeseries-case-counts.csv',
'https://raw.githubusercontent.com/omkarmarkad/COVID19-Pune/master/age-wise.csv',
'https://raw.githubusercontent.com/omkarmarkad/COVID19-Pune/master/timeseries-ward-wise.csv',
'https://raw.githubusercontent.com/omkarmarkad/COVID19-Pune/master/daily-wardwise.csv'
]
[wget.download(url) for url in urls]
age_df = pd.read_csv('age-wise.csv')
daily_df = pd.read_csv('daily-wardwise.csv')
case_df = pd.read_csv('timeseries-case-counts.csv')
ward_df = pd.read_csv('timeseries-ward-wise.csv')
age_df['CFR'] = age_df['Deaths'] * 100 / (age_df['Male'] + age_df['Female'])
def gompertz_model(x,a=1,b=0,c=0):
return c*np.exp(-b*np.exp(-x/a))
def fit_data_to_function(
x, y, function, plot=True
):
params, _ = curve_fit(function, x, y)
plt.plot(x, y, ".", label="Observations")
y_fit = function(x, *params)
print(r2_score(y, y_fit))
if plot:
plt.plot(x, y_fit, label="Fitted curve")
plt.legend()
plt.show()
return params
y = np.asarray(case_df['Total Deaths'])
x = np.arange(len(y))
params = fit_data_to_function( x, y, gompertz_model)
解决方案
推荐阅读
- javascript - 谷歌地图 MarkerCluster 加 Spiderfier
- ios - 使用 XCode 中的 Shell 脚本将项目中的所有现有代码文件从 2 个空格缩进转换为 4 个空格缩进
- python - 具有不同行数的 Matplotlib 子图与颜色图和图例有关
- r - hist() 来自列表名称的主标题
- aws-api-gateway - api网关一直返回禁止
- string - List(Of String) Distinct 有重复项
- cmake - 使用 target_link_libraries 找到打印库完整路径
- reactjs - React setstate 会破坏 Redux 对象吗?
- python-3.x - PPTK,设置相机位置
- sql - 在 Label SQL 中添加点表示法