做电子请帖网站有哪些,怎么看网站开发语言,装修公司名字 有创意,郑州市城乡建设局和住建局官网B 样条曲线拟合实例#xff1a;能平滑化曲线 1. 实例1
为MASS包中mcycle数据集。它测试了一系列模拟的交通车事故中#xff0c;头部的加速度#xff0c;以此来评估头盔的性能。times为撞击时间(ms)#xff0c;accel为加速度#xff08;g#xff09;。首先导入数据#… B 样条曲线拟合实例能平滑化曲线 1. 实例1
为MASS包中mcycle数据集。它测试了一系列模拟的交通车事故中头部的加速度以此来评估头盔的性能。times为撞击时间(ms)accel为加速度g。首先导入数据并绘制散点图
(1) 关键函数
# bs()
# bs(x, df NULL, knots NULL, degree 3, intercept FALSE,
# Boundary.knots range(x))
#参数解释
#x自变量这里为x
#df: 自由度回归函数中的参数个数,默认为0由于我们需要截距,
# 2.2 节中c中提到的公式减去1因此自由度为43 7
#knots节点的位置这里为c(15,20,32,40)
#degreeq值默认为3
#其他的参数保持默认即可然后搭配lm 函数即可画出样条函数曲线
(2) 代码
# Spline
xmcycle$time
ymcycle$accel
plot(x, y, typep, pch19, cex0.5)library(splines)
#B spline(y, n3*length(y) )
#lines(B$x, B$y, lty2, colred)bspl - lm(y~bs(x, df 7, #knots c(15,20,32,40), degree2))
lines(x, fitted(bspl),lwd 2, col 2)ref: https://blog.csdn.net/weixin_39642998/article/details/110705947似乎不靠谱需要自己指定锚点位置去掉 knots 参数就好了。 请直接看2(2)
2. help 例子更靠谱的方法
(1) 原例不明显
require(stats); require(graphics)
head(women)
bs(women$height, df 5)
summary(fm1 - lm(weight ~ bs(height, df 5), data women))## example of safe prediction
plot(women, xlab Height (in), ylab Weight (lb))
ht - seq(57, 73, length.out 200)
lines(ht, predict(fm1, data.frame(height ht)))(2) 重做例1模仿(1)
library(MASS)
head(mcycle)
xmcycle$times
ymcycle$accel#plot(x, y, pch19, cex0.5)
library(splines)
bs(y, df 5)
summary(fm1 - lm(y ~ bs(x, df 7, degree 2), data NULL))## example of safe prediction
plot(mcycle, xlab times, ylab accel, pch19, cex0.5)
x_2 - seq(min(x), max(x), length.out 200)
lines(x_2, predict(fm1, data.frame(x x_2)), lwd2, colred)目测效果很好 参数解释 df7有大概7个控制点越多拟合越好太多就会过拟合 degree3次数。