问题标签 [function-fitting]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 scipy.optimize.curve_fit 拟合分段函数
我正在尝试编写一个程序,将 .csv 文件中的两组数据读取到数组中,然后将其拟合为分段函数。对我来说最重要的是这些拟合是同时完成的,因为它们具有相同的参数。这个分段函数是我尝试这样做的,但如果您知道同时适合它们的更好方法,我也会非常感谢有关此的建议。
为了避免上传 csv 文件,我将数据直接添加到数组中。
我想拟合标记为“SSdecay”的函数的前 11 个点,以及我想拟合标记为“SUdecay”的函数的后 11 个点。我同时这样做的尝试是制作标记为“fitfunciton”的分段函数。
运行后我得到错误:
似乎curve_fit不喜欢我使用分段函数,但我不确定为什么或者它是否是一个可修复的问题。
python - python - 如何在python中使用已知似然函数从最大似然估计中获取参数误差?
我有一些数据,想拟合给定的心理测量函数 p。 我对拟合参数和错误也很感兴趣。通过使用 scipy 包中的 curve_fit 函数的“经典”方法,很容易获得 p 的参数和错误。但是我想使用最大似然估计(MLE)来做同样的事情。从输出和图中您可以看到两种方法提供的参数略有不同。实现 MLE 不是问题,但我不知道如何使用此方法获取错误。有没有简单的方法来获得它们?我的似然函数 L 是: 我无法调整此处描述的代码http://rlhick.people.wm.edu/posts/estimating-custom-mle.html但这可能是一个解决方案。我该如何实施?或者这个还有其他方法吗?
这里使用 scipy stats 模型拟合了一个类似的函数:https ://stats.stackexchange.com/questions/66199/maximum-likelihood-curve-model-fitting-in-python 。然而,参数的误差也没有被计算。
负对数似然函数是正确的,因为它提供了正确的参数,但我想知道这个函数是否依赖于 y 数据?负对数似然函数 l 显然是 l = -ln(L)。这是我的代码:
输出是:
拟合和测量数据都可以在这里看到: 我的 Python 版本是 Debian Stretch 上的 2.7。谢谢您的帮助。
python - 拟合衍生 Python 的约束
在尝试创建优化算法时,我不得不对我的集合的曲线拟合施加约束。
这是我的问题,我有一个数组:
我需要找到一个符合Z
斜率条件的函数,这是我正在寻找的函数的导数。
假设f
是我的函数,f
应该适合它的导数Z
并有一个条件f
,它不应该超过一个特殊的值。
python中是否有任何库可以帮助我完成这项任务?
python - Scipy ValueError:对象太深,无法使用 optimize.leastsq 进行所需的数组
我试图用线性 3D 函数 Z = a x+b y+c 拟合我的 3D 数据。我用熊猫导入数据:
我做了一些挖掘,发现拟合 3D 数据的最佳方法是使用 scipy 的优化与模型方程和残差函数:
我用以下数据拟合数据:
但结果是 ValueError:
我试图最小化残差函数以仅给出单个值或单个 np.array 但它没有帮助。我不知道问题出在哪里,如果参数的搜索空间可能不是太复杂。我将非常感谢一些提示!
csv - 试图将一条恒定斜率线拟合到两个特定范围的数据点
我正在使用 .csv 文件中的 10,000 个数据点,需要将常数函数拟合到两个特定范围(此处为时间),以便我可以平均它们的 y 截距并从数据的 y 值中减去这个案例)。
我的合身度 range1fit 和 range2fit 显然尺寸为 1,当我尝试绘制趋势线时出现尺寸错误,因为我试图绘制的元素之间存在尺寸差异。
这是我的完整代码:
任何有关如何进行的建议将不胜感激!
scala - 如何在scala中编程一个适合的圆
我想在 Scala 中为给定的 2D 点拟合一个圆。
Apache commons math 在 java 中有一个示例,我正在尝试将其转换为 scala(没有成功,因为我对 Java 的了解几乎不存在)。
我从“http://commons.apache.org/proper/commons-math/userguide/leastsquares.html”中获取了示例代码,(见页尾)我试图翻译成scala:
这不会产生编译错误,但会崩溃:
我想问题出在函数 distancesToCurrentCenter 的定义中。我什至不知道这个 MultivariateJacobianFunction 是否应该是一个真正的函数或对象或任何东西。
python - Python surface fitting of variables of different dimensionto get unknown parameters?
I have a function that includes x and y as independent variables and I want to fit the parameters to the data and function and plot a surface figure. I saw that if the variables have two different dimensions, I can use np.meshgrid(x,y)
, but then how do I find the parameters a,b,c? My code looks like this:
Can I still use curve_fit
for this type of function? If so, how can I use it to find a,b,c and also plot the 3d function?
gnuplot - Gnuplot 拟合
我想拟合以下数据:
到以下函数,它是指数函数和高斯函数的组合:
$ f(x)= a1*(a2* exp(-x/T2e)+ exp(-(x/T2g)**2))
$ fit f(x) 'data' via a1,a2,T2e,T2g
但它不断给我以下结果:
当我尝试将它分开安装时
$ g(x)=b* exp(-(x/T2g)**2)
$ fit g(x) 'data' via b,T2g
我明白了
和
$ S(x)=S0* exp(-x/T2e)
$ fit S(x) 'data' via S0,T2e
给出:
我已经尝试设置初始值,但它没有改变结果。
有人知道出了什么问题吗?谢谢,
python - 由于“无法将序列乘以‘numpy.float64’类型的非整数”错误,无法拟合数据
我正在尝试(a*x+b)
使用 matplotlib 和 scipy 在具有线性函数的 .txt 文件中拟合和绘制简单数据。我遇到了有关测试功能的错误:"can't multiply sequence by non-int of type 'numpy.float64'"
我试过更改变量名x
,但我遇到了同样的问题。大多数代码都来自一个可以正常工作的代码,它能够毫无问题地最适合数据,并且对测试函数使用相同的定义。
这是错误:
回溯(最近一次通话最后):
文件“C:/Users/Fra/Desktop/lab/ottica/2/reaqd.py”,第 19 行,在 plt.plot(x_data, test_func(x_data, params[0], params[1]), label='拟合函数')
文件“C:/Users/Fra/Desktop/lab/ottica/2/reaqd.py”,第 14 行,在 test_func 返回 a*x+b
TypeError:不能将序列乘以“numpy.float64”类型的非整数