在 R 中建立复杂方程模型

2024-03-14

我有以下模型:

我在 R 中将其编码为:

function(t,C,Ao,s,wd,ph) C + Ao * exp(-s*t) * cos(wd*t + ph)

我想用这个方程来形成一个预测模型。

但是,我不知道如何成功运行或绘制这个方程。

  • I tried nls但遇到了各种错误(包括那些警告我有关singular gradient.

我看了here https://stats.stackexchange.com/q/13053/80624但鉴于我的模型似乎不起作用,我不知道该从哪里开始。

如何在 R 中对该函数进行建模和绘制图形?


我尝试过的:

LTI.func <- function(t,C,Ao,s,wd,ph) C + Ao * exp(-s*t) * cos(wd * t + ph)
mod <- nls(Y ~ LTI.func(t = I(scale(t)), C, Ao, s, wd, ph), 
           data = dat, 
           start = list(C = 1, Ao = 1, s = 1, w = 1, ph = 1))

我不知道是什么starts选择,所以我尝试了一堆随机的,这导致了错误。即使当我选择以我可以看到的 y(t) ~ t 趋势为指导的开始时,我总是会遇到某种错误:

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

Error in nls(Y ~ LTI.func(I(scale(t)), C, Ao, s, wd, ph), data = dat  : 
  singular gradient

Update:

这是一组示例数据:

dat <- data.frame(t = c(72, 25, 10, 88, 67, 63, 34, 41, 75, 13, 59, 8, 30, 52, 21),
                  Y = c(108.7, 157.5, 17.7, 175, 246.8, 233.5, 208.6, 246.5, 126.5, 
                        45.5, 214.1, 4.9, 184, 239.2, 113.3))

这出现在关闭队列中,但在我看来,如果参数名称的一致性检查不力,那么格式相当合理。这是我的解决方案。我首先尝试将函数的参数更改为x当这不起作用时,尝试调整起始值。最终,我决定扩展数据论证:

LTI.func <- function(x,C,Ao,s,wd,ph) {C + Ao * exp(-s*x) * cos(wd * x + ph)}
 mod <- nls(Y ~ LTI.func(x=t , C, Ao, s, wd, ph), data=data.frame(scale(dat)), 
                     start=list(C = 0,Ao = -1,s = 1,wd = 1,ph = 0))
 mod
#-------------
Nonlinear regression model
  model: Y ~ LTI.func(x = t, C, Ao, s, wd, ph)
   data: data.frame(scale(dat))
        C        Ao         s        wd        ph 
 0.288729 -0.986426  0.517128  2.002040  2.756004 
 residual sum-of-squares: 1.53608

Number of iterations to convergence: 18 
Achieved convergence tolerance: 0.0000038776

这是否是一个有用的“解决方案”将需要进行反向转换并根据原始值绘制结果,或者可能根据理论值绘制转换后的坐标。 A0 值小于零我并不感到惊讶。从数据来看,趋势确实是向上的,exp(-s*x)如果s*x是积极的。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 R 中建立复杂方程模型 的相关文章

  • 在 R 中粘贴向量的所有组合

    我有一个向量说 vec c A B C 我想粘贴向量中每个项目的单个组合 得到结果 AB AC BC 我知道我可以使用outer来获得向量的所有可能的组合 但我对如何只获得上面的结果感到困惑 在这种情况下 顺序并不重要 因此结果也可能是 B
  • 自动使用 LRT 评估整个因子变量的显着性

    包含一个或多个因子变量的多变量回归模型的 R 输出不会自动包含模型中整个因子变量的显着性的似然比检验 LRT 例如 fake data frame x1 rnorm 100 x2 sample LETTERS 1 4 size 100 re
  • Math.random() 在 JavaScript 中如何工作?

    我最近想出了如何通过谷歌获取随机数 这让我思考如何Math random 工作 所以我在这里我无法弄清楚他们是如何做到 Math random 的 除非他们使用了类似时间的东西 有谁知道 JavaScript 是如何做到的吗 Math ra
  • C# 中的反转数

    有没有一种简单的方法可以用函数反转 C 中的数字 我正在使用 XNA 我想告诉我的程序 如果我的 变量 超过某个数字 它必须反转它的值 重点是提供反弹效果 if ballPosition X gt screenWidth Invert th
  • ggplot `facet_grid` 标签被切断

    In ggplot 当使用facet grid space free y 如果组内的点数较少 则分面标题会被截断 例如 library tidyverse d lt tibble x factor 1 40 y rnorm 40 g c r
  • 在 r 中导出矩阵

    我想在 R 中导出一个矩阵 并保留行和列的名称 当我使用 write table 或 write csv 时 我得到一个带有新列的矩阵 我该如何使用这个功能 感谢您的帮助 您不会获得新列 行名称将保存为文本文件中的第一列 因此 您可以指定在
  • 计算一列中正数和负数的数量

    我想计算数据帧的一列中正值和负值的数量 我在 R 中该怎么做 例如 这里是数据框 logFC logCPM LR PValue FDR Bra15066 5 630822 5 184586 73 79927 8 647868e 18 4 0
  • 如何让 print() 将参数传递给 R 中用户定义的打印方法?

    我在 R 中定义了一个 S3 类 它需要自己的打印方法 当我创建这些对象的列表并打印它时 R 按其应有的方式对列表中的每个元素使用我的打印方法 我想对打印方法实际显示的数量进行一些控制 因此 我的类的 print 方法需要一些额外的参数 但
  • par(mfrow=c(1,2)) 不显示并排密度图[重复]

    这个问题在这里已经有答案了 par mfrow c 1 2 plot 1 12 log y plot 1 2 xaxs i 然而 当我尝试做并排密度图时 图会单独输出 load the stud recs dataset library U
  • 基于服务器中的条件逻辑呈现闪亮的用户输入

    我正在尝试设置一个闪亮的导航栏面板页面 其中用户控制我根据一组单选按钮中所做的初始选择来显示更改 我直接在 ui 中渲染单选按钮 然后在 Server r 中的 观察到的 逻辑控制结构内构建条件控件 弹出错误是因为我的初始 if 语句计算结
  • 如何对同一列上的数据帧列表中的所有数据帧进行排序?

    我有一个数据框列表dataframes list 举个例子 我把dput dataframes list 在底部 我想对列列表中的所有数据框进行排序enrichment 我可以对一个数据框进行排序 first dataframe lt da
  • .wav 文件长度/持续时间,无需读入文件

    有没有办法提取有关 wav 文件长度 持续时间的信息 而无需在 R 中读取文件 我有数千个这样的文件 如果我必须阅读每个文件才能找到其持续时间 那将需要很长时间 Windows 文件资源管理器为您提供了打开 长度 字段的选项 并且您可以查看
  • 如何在R中删除重复项

    我有一个非常大的数据集 如下所示 df lt data frame school c a a a b b c c c year c 3 3 1 4 2 4 3 1 GPA c 4 4 4 3 3 3 2 2 school year GPA
  • 将年月格式转换为 POSIXct [重复]

    这个问题在这里已经有答案了 我有一些年月形式的数据 我想将其格式化以用于绘图ggplot date lt c 2016 03 2016 04 2016 05 2016 06 2016 07 2016 08 2016 09 2016 10 2
  • 是否可以通过扫描从控制台读取而不回显字符?

    这是一个示例函数 passwordEntry lt function cat Enter your password pwd lt scan n 1 what character quiet TRUE invisible pwd 并测试该功
  • 如何在for循环中引用变量?

    我正在循环访问不同的 data tables 和 data table 中的变量 但我在引用内部变量时遇到问题for loop dt1 lt data table a1 c 1 2 3 a2 c 4 5 2 dt2 lt data tabl
  • R中的一元加/减是什么?

    来自 R 的详细信息部分Syntax http stat ethz ch R manual R patched library base html Syntax html帮助页面 定义了以下一元和二元运算符 他们被列出 在优先级组中 从最高
  • 正则表达式字符串中第一个和最后一个非点的位置

    我希望找到字符串的第一个和最后一个非点元素的位置 理想情况下我想这样做regex在基地R 我已经写过R解决问题的代码 不过 我对一个感兴趣regex解决方案 感谢您的任何建议 这是一个示例数据集和R代码以获得所需的结果 此代码拆分字符串并使
  • 纵向序列数据的三次样条方法?

    我有一个串行数据 格式如下 time milk Animal ID 30 25 6 1 31 27 2 1 32 24 4 1 33 17 4 1 34 33 6 1 35 25 4 1 33 29 4 2 34 25 4 2 35 24
  • 多功能测试仪替代 system.time

    我已经看到 我认为是这样 使用了类似于 system time 的函数 它可以同时评估多个函数的时间并输出一个输出 我不记得它是什么 并且用我正在使用的术语进行互联网搜索并没有得到我想要的响应 有人知道我正在谈论的功能的名称 位置吗 你想要

随机推荐

  • java网格包布局:避免中心对齐

    在我的 GUI 应用程序中 我有几个 JPanel 它们在程序运行期间的不同点被实例化 并且某些操作将导致其中之一显示在滚动窗格中 mViewport setViewportView currentPanel 问题是 我的面板是使用网格包布
  • Android 中 Imageview 的圆角

    我在线性布局中有一个文本视图和图像视图 Textview 位于顶部 imageview 位于底部 我使用下面的线条来实现线性布局的圆角 但 imageview 的角不是圆角的 我看到只有线性布局的顶角是圆角的 如何使 imageview 的
  • Ansible:如何从另一个变量构造一个变量,然后获取它的值

    这是我的问题 我需要使用一个变量 target host 然后将 host 附加到它的值以获取我需要其值的另一个变量名称 如果你看看我的剧本 任务 nbr 1 2 3 获取变量的值 但是 nbr 4 无法执行我所期望的操作 有没有其他方法可
  • Rails 控制台未将 SQL 语句输出到我的开发日志

    当我通过本地主机访问 Webrick 服务器时 或者当我运行 Rails 迁移时 我的development log 会被正确写入 但是 当我使用 rails c 启动 Rails 控制台 然后尝试创建一个新的数据库对象并通过 user s
  • WSO2AM - SAML - 提供的授权无效

    我正在将 WSO2AM 与我们内部专有的身份提供商 IDP 集成 我正在关注 wso2 文档 与 OAuth2 交换 SAML2 承载令牌 SAML 扩展授予类型 https docs wso2 com display AM210 SAML
  • iOS CoreLocation 检查 CLLocation 时间戳以使用它

    如何检查 CLLocation 对象并决定是要使用它还是丢弃结果并获取新的位置更新 我在 CLLocation 上看到了时间戳属性 但我不确定如何将其与当前时间进行比较 另外 在我比较时间并发现以秒为单位的差异之后 差异应该在什么值以下才能
  • 绘制并填充自定义形状

    我正在尝试使用 Android 中的 Path 对象创建自定义形状 但遇到了一个奇怪的问题 我想要实现的目标如下图所示 这是我用来绘制和填充形状的代码 public class BallView extends RelativeLayout
  • Linux 中的调度:在计算机空闲时运行任务(= 无用户输入)

    我想跑折叠 home http folding stanford edu 我的 Ubuntu 8 10 机器上的客户端仅在空闲时运行 因为该程序消耗大量 RAM 我所说的 空闲 是指没有用户活动 键盘 鼠标等 时的状态 由于 F H 具有最
  • 有 JPasswordField 的替代方案吗?

    当输入如下密码时 yeast bulk seize is shows pain 每个人都可以听到敲击空格键的声音 因此在密码字段中显示空格似乎也是合乎逻辑的 所以我想要一些能够展示的东西 代替 这将使打字变得更容易 同时几乎不会降低安全性
  • Webpack + Babel 错误

    我正在尝试配置 webpack 并让一切正常运行 但现在遇到了同样的错误 我梳理了其他一些帖子 这些帖子似乎是通过纠正拼写 语法错误来解决的 但我似乎无法找出代码中的任何错误 是不是有更严重的事情发生了 ERROR in src compo
  • 带有错误模块“main:Main”的 stack ghci 在多个文件中定义:

    我有一个小的 haskell 程序 它可以使用堆栈构建和执行 当我开始时stack ghci我收到一条错误消息 我不明白并且无法继续 GHCi version 8 10 4 https www haskell org ghc for hel
  • 来自本地的 IAM SAML 联合失败

    我在本地虚拟机中设置了 openldap 和 shibboleth idp 并在 aws 中创建了身份提供商并上传了元数据 在元数据中 url 指向我的本地 IP 地址 例如 SingleSignOnService Binding urn
  • 推导 pytorch 网络的结构

    对于我的用例 我需要能够采用 pytorch 模块并解释模块中的层序列 以便我可以以某种文件格式在层之间创建 连接 现在假设我有一个简单的模块 如下所示 class mymodel nn Module def init self input
  • 无法解析符号 DrawerLayout

    我正在尝试实现导航抽屉 如下所示 http developer android com training implementing navigation nav drawer html top http developer android
  • 在 HTML 链接中使用 onClick 传递多个值

    您好 我正在尝试使用 HTML onclick 函数传递多个值 我使用 Javascript 创建表 var user element UserName var valuationId element ValuationId Valuati
  • 无法解析 com.facebook.react:react-native:0.32.0

    我在 android studio 的 React Native 项目中打开了 android 文件夹 做了所有可能的修改build gradle文件 但是我收到这个重复的错误 Error Failed to resolve com fac
  • jQuery Mobile 绑定事件

    我在使用 jquery mobile 时遇到了一些问题 我的页面总是被调用这个函数运行 document bind pagechange function peforms ajax operations 问题是 每次查看我的页面时 都会增加
  • Git 命令仅重置索引和工作树而不是 HEAD

    这个问题是后续问题这个问题 https stackoverflow com questions 44513186 how do i edit a commit with interactive rebase as uncommited 它试
  • C 中 If-Else 和三元运算符之间的速度差异...?

    因此 在同事的建议下 我刚刚测试了三元运算符和等效的 If Else 块之间的速度差异 并且三元运算符生成的代码似乎比 If Else 快 1 到 2 倍 我的代码是 gettimeofday tv3 0 for i 0 i lt N i
  • 在 R 中建立复杂方程模型

    我有以下模型 我在 R 中将其编码为 function t C Ao s wd ph C Ao exp s t cos wd t ph 我想用这个方程来形成一个预测模型 但是 我不知道如何成功运行或绘制这个方程 I tried nls但遇到