如何基于给定系数编写自变量经对数转换的三次多项式函数
问题解决说明
核心错误原因
你之前推导的多项式形式存在两处容易忽略的错误:
poly(log(x), 3, raw = TRUE)生成的三项分别是$(log(x))1$、$(log(x))2$、$(log(x))3$,不是你写的$log(x1)$、$log(x2)$、$log(x3)$,后者化简后均为log(x)的一次项,自然无法得到正确结果- R中默认的
log()是自然对数(底数e),如果在计算工具中使用的是底数为10的对数函数,需要切换为自然对数(通常标识为ln)才能匹配结果
正确的多项式表达式
f(x) = 89.6131 - 36.8351 * ln(x) + 6.9735 * (ln(x))^2 - 0.7105 * (ln(x))^3
代入第一个x值49.64计算,结果约为9.806,和R给出的第一个预测值完全匹配,你将上述公式输入Desmos,代入对应的x值即可得到和R输出完全一致的预测结果。
内容的提问来源于stack exchange,提问作者esorkin1
相关产品推荐
相关产品推荐

