问题标签 [model-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.

0 投票
1 回答
739 浏览

python - 如何在 python 中进行简单的“模型拟合”?

假设我有三个数据集x, y, z

我想拟合一个简单的模型:A*x + B*y + C = z(A、B、C 是常数。)

我怎样才能在 Python 中做到这一点?

我找到了scipy.optimize.curve_fit。但是,它似乎只能采用一个变量:curve_fit(f, xdata, ydata[, p0, sigma]),它适合f(x) = y。我需要的是f(x, y)=z.

在 Mathematica 中,NonLinearModelFit可以完成这项工作。我想知道 Python 中是否有我错过的类似模块。

0 投票
1 回答
616 浏览

python - 是否可以在 sklearn 中组合多个部分拟合的估计器?

我有很多数据,我想通过拆分我的数据并拟合在多个线程或多台机器中运行的多个估计器来并行化估计器拟合。

一些估计器为核外学习提供了一个 partial_fit API(例如PassiveAggressiveClassifier 这里

是否可以让多个估计器部分拟合,然后将它们各自的拟合组合成一个估计器?

0 投票
1 回答
494 浏览

python - 如何创建数据集以在 scipy stats 中拟合函数?

我想使用该库将一些数据拟合到帕累托分布。scipy.stats我不确定问题是否是数字问题,所以为了安全起见;我从几千分钟开始测量自变量(“分钟”)的因变量(我们称它们为“推”)的值,此后每十分钟(除了在数据清理过程中删除的几个点) )。

例如

2780.0 362.0

2800.0 376.0

2810.0 393.0 ...

我能找到的最好的信息是这样的

而且我不知道在这种情况下如何格式化这些数据。我已经尝试了以下但都导致错误。

错误通常是

非常感谢一些指导,谢谢。

0 投票
1 回答
3486 浏览

r - 如何在 R 中的一个模型中拟合两条不同的线?

我们有两个数据集(X1,Y1)和(X2,Y2)。如果它们似乎有不同的截距和不同的斜率,我如何使用单个线性模型来绘制两条拟合线?同时,使用同一个模型拟合两条不同的线和使用两个不同的线性模型有什么区别?

0 投票
1 回答
5292 浏览

r - 在 R 中使用 nls.lm 进行模型拟合,“错误:未使用的参数”

我正在尝试使用 minpack.lm 中的 nls.lm 函数将非线性模型拟合到来自心理物理学实验的某些数据。

我进行了搜索,但找不到很多关于包的信息,所以基本上复制了 nls.lm 帮助页面上给出的示例格式。不幸的是,我的脚本仍然无法运行,并且 R 抛出了这个错误:

脚本似乎认为我想要拟合模型的数据是无关紧要的,这绝对是错误的。

我期望它适合模型并为备用参数 (w) 生成 0.5403 的值。

任何帮助是极大的赞赏。我正在从 Matlab 转移到 R,如果我的代码看起来很草率,我深表歉意。

这是脚本。

0 投票
1 回答
1362 浏览

r - 如何提取适合R中高斯分布的值?

我有一个包含 2 列 a 和 b 的数据框 X,a 是字符类,b 是数字类。我使用 b 上的 fitdist(fitdistrplus 包)函数拟合了高斯分布。

我想提取 a 列中落在拟合高斯分布右尾 5% 的元素。
我不确定如何进行,因为我对拟合分布的了解有限。
我是否需要保留 a 列中 b 大于 95% 的值的相应元素?
或者拟合是否意味着已经为 b 中的每个值创建了新值并且我应该使用这些值?

谢谢

0 投票
0 回答
991 浏览

r - 创建图表以显示观察值和拟合值

我正在尝试绘制来自数据集的观察值和拟合值及其对公共时间段变量的线性回归,使用ggplot.

我的数据框称为balances.

我的意图是在一个共同的轴上绘制拟合值和观察值,并observation.num从另一个轴上的余额绘制时间段变量。但是,由于对象中没有时间段变量gdp.model,我不断收到错误消息:

eval 中的错误(expr,envir,enclos):找不到对象“observation.num”

有没有什么简单的方法可以解决拟合值没有公共时间变量的问题?

0 投票
0 回答
314 浏览

matlab - 更改 gmdistribution.fit bin 大小

我目前正在使用高斯混合模型来拟合我在 matlab 中的一些数据。我正在使用 gmdistribution.fit 函数,并且对拟合有疑问。

以下代码用于生成 PDF。

这个例子适合我最差的数据集之一:

图片

简而言之,我的 3 阶 GMM 有 2 个标准差 (SD) 较大的模态,但第 3 阶模态具有高峰值和小 SD。

同样,我可以使用 ECDFhist 函数更改 bin 大小,有没有办法更改 gmdist.fit(options) 或类似选项上的选项,以增加我的 bin 宽度(减少 bin 数量)?

任何帮助将不胜感激!!

非常感谢, M

0 投票
1 回答
1856 浏览

r - Using R to fit a curve to a dataset using a specific equation

I am using R. I would like to use a specific equation to fit a curve to one of my data sets (attached)

The equation is: y~yo+a*(1-b^x) Where: y = Gossypol (from my data set) x = Damage_cm (from my data set)

The other 3 parameters are unknown: yo = Intercept, a = asymptote and b = slope

I guess I have to use the package nls2. So far I wrote the following code:

This gives me the error message:

Error in nlsModel(formula, mf, start, wts): singular gradient matrix at initial parameter estimates

In the end I would like to use the equation to plot a curve (with SE interval, I usually use ggplot2)

Furthermore, I would like to know the R2 and p value. I would also be interested in the parameters yo , a and b

I have never done this before and would be extremely grateful if anyone could help me or give me a hint how to do this in R? I suppose I have to use a non linear approach (glm(...))

thanks a lot, Mike

0 投票
1 回答
2531 浏览

python - 在 Python 中拟合参数曲线

我有形式的实验数据和形式(X,Y)的理论模型,(x(t;*params),y(t;*params))其中t是物理(但不可观察)变量,并且*params是我想要确定的参数。是一个连续变量,在模型中和和之间t存在1:1的关系。xtyt

在一个完美的世界里,我会知道T(参数的真实世界值)的值,并且能够做一个非常基本的最小二乘拟合来找到 的值*params。(请注意,我并没有尝试在我的图中“连接” 和 的值xy例如3124300231464345。)我不能保证在我的真实数据中,潜在值T是单调的,因为我的数据是跨多个周期收集的。

我对手动进行曲线拟合不是很有经验,并且必须使用极其粗糙的方法而无法轻松访问基本的 scipy 函数。我的基本方法包括:

  1. 选择一些值*params并将其应用于模型
  2. 取一个t值数组并将其放入模型中以创建一个数组model(*params) = (x(*params),y(*params))
  3. 插值X(数据值)model得到Y_predicted
  4. Y在和之间运行最小二乘(或其他)比较Y_predicted
  5. 再做一套新的*params
  6. 最终,选择最佳值*params

这种方法有几个明显的问题。

1)我没有足够的编码经验来开发一个非常好的“再做一次”,而不是“尝试解决方案空间中的所有内容”,也许是“在粗略的网格中尝试所有内容”,然后“再次尝试所有内容”粗网格热点中的细网格。” 我尝试使用 MCMC 方法,但我从未找到任何最佳值,主要是因为问题 2

2) 步骤 2-4 本身就非常低效。

我尝试过类似的东西(类似于伪代码;实际功能是由组成的)。关于在 A、B 上使用广播可以提出许多小问题,但这些问题不如需要为每一步进行插值的问题重要。

我认识的人建议使用某种期望最大化算法,但我对此知之甚少,无法从头开始编写代码。我真的希望有一些很棒的 scipy(或其他开源)算法我无法找到涵盖我的整个问题,但在这一点上我不抱希望。