nlm-package在R中的时间复杂度?

问题描述 投票:1回答:1

我正在使用systemfitnlsystemfit()函数)程序包使用4个方程式,32个参数来估计(!)和412个观测值(通过看似无关的回归-SUR来估计非线性系统)。但是我的代码将永远占用我的笔记本电脑(这不是一个超级强大的功能)。到目前为止,该过程运行了13个小时。我不是计算专家,但有人在一段时间前向我解释了算法(或big-o)的时间复杂度的概念,然后根据此概念,计算特定算法的时间可能取决于特定的功能关系关于观测值和/或系数的数量。

因此,我正在考虑只是停止我的过程,并尝试(暂时)简化模型并尝试运行更简单的方法,只是检查估计的参数是否到目前为止。然后,运行整个模型。

但是如果我可以更改模型中的关键元素,那么所有这些都可以理解,这可以大大减少处理时间。这就是为什么我在Google上搜索nlm -package(nlsystemfit()函数依赖于nlm)的时间复杂性但未成功的原因。所以,这是我的问题:有人知道我在哪里可以找到该信息,或者至少在运行整个模型之前就如何测试非线性系统向我提供建议?

r time-complexity big-o non-linear-regression systemfit
1个回答
0
投票

由于您没有提供有关模型或代码的任何实质性信息,因此很难表达出对您的情况的改善。

根据您的发言:

因此,我正在考虑只是停止我的过程,并尝试(暂时)简化模型并尝试运行更简单的方法,只是检查估计的参数是否到目前为止。然后,运行整个模型。

似乎您需要基准测试或获得所需的时间来执行您的案例。 (尽管它也可以处理内存使用情况或其他一些性能指标)

[有很多方法可以在R中对代码进行基准测试,包括在执行算法Sys.time()之前和之后立即使用system.time()rbenchmark(这是system.time函数的简单包装) ),tictocbench::markmicrobenchmark

[在后两个中是更好的选择,因为bench::mark包括system_time(),所以system.time()microbenchmark的更高精度的替代品是准确测量和比较R表达式执行时间的可靠来源。 /算法。

© www.soinside.com 2019 - 2024. All rights reserved.