3058 8

[问答] 求助R语言回归分析 y=ksin(x/a) 如何利用lm()求解a的值 [推广有奖]

  • 0关注
  • 0粉丝

高中生

0%

还不是VIP/贵宾

-

威望
0
论坛币
7 个
通用积分
0.3000
学术水平
0 点
热心指数
0 点
信用等级
0 点
经验
1067 点
帖子
11
精华
0
在线时间
30 小时
注册时间
2016-10-13
最后登录
2023-12-5

+2 论坛币
k人 参与回答

经管之家送您一份

应届毕业生专属福利!

求职就业群
赵安豆老师微信:zhaoandou666

经管之家联合CDA

送您一个全额奖学金名额~ !

感谢您参与论坛问题回答

经管之家送您两个论坛币!

+2 论坛币
在做回归分析时 需要对参数进行二次处理 如sin(x/a)形式 lm()回归只能求解sinx前的系数 无法求解a的值 应该如何解决
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

关键词:求助R语言 回归分析 R语言

如果想要表达的公式为y=ksinx,则仅需要输入lm(y~sinx)即可,但是如果需要表达的公式为y=ksin(x/a),存在两个系数k与a,其中k可以求出,a无法再公式中进行表达,遇到这种情况应该如何处理呢?

使用道具

藤椅
nkunku 发表于 2022-4-11 08:14:50 |只看作者 |坛友微信交流群
这从本质上来讲,就是一个拟合的问题。如果不知道用R来做,可以用其他软件来做吧。

使用道具

nkunku 发表于 2022-4-11 08:14
这从本质上来讲,就是一个拟合的问题。如果不知道用R来做,可以用其他软件来做吧。
因为后续的分析都是基于R做的 现在只有拟合这一部分出现了问题 所以需要解决这个问题

使用道具

报纸
万人往LVR 在职认证  发表于 2022-4-11 13:36:58 |只看作者 |坛友微信交流群
可以百度一下sin(x)的泰勒展开,变为多项式再回归试试

使用道具

地板
abelus 发表于 2022-4-12 11:25:36 |只看作者 |坛友微信交流群
这不是一个线性问题,lm没法搞定啊。
e = y - k * sin (a * x)
min (sum {e_i ^ 2})非线性函数,自己写个最优求解的目标函数吧,R中也有现成的求解器

上面有人提到用泰勒展开,如果a*x的绝对值较小(泰勒展开需要一定效率,绝对值越小越好呗),可以这么干,如果不是的,那还是按照上面的方式弄吧。

使用道具

abelus 发表于 2022-4-12 11:25
这不是一个线性问题,lm没法搞定啊。
e = y - k * sin (a * x)
min (sum {e_i ^ 2})非线性函数,自己写个 ...
可以具体说一下么?

使用道具

8
llb_321 在职认证  发表于 2022-4-13 10:07:00 |只看作者 |坛友微信交流群
如果只是周期数据的拟合,可以考虑用TSA包的harmonic()函数,谐波函数

使用道具

llb_321 发表于 2022-4-13 10:07
如果只是周期数据的拟合,可以考虑用TSA包的harmonic()函数,谐波函数
我的思路是先对数据进行拟合,基于可视化对不同模型进行对比分析,再对模型进行改进。
周期数据的拟合是为了模型的可视化做准备

使用道具

您需要登录后才可以回帖 登录 | 我要注册

本版微信群
加好友,备注cda
拉您进交流群

京ICP备16021002-2号 京B2-20170662号 京公网安备 11010802022788号 论坛法律顾问:王进律师 知识产权保护声明   免责及隐私声明

GMT+8, 2024-4-24 11:49