在对回归分析的真实世界数据进行建模时,我们观察到模型方程很少是给出线性图的线性方程.大多数时候,现实世界数据模型的方程涉及更高程度的数学函数,如指数为3或sin函数.在这种情况下,模型的图给出曲线而不是线.线性回归和非线性回归的目标是调整模型参数的值,以找到最接近数据的直线或曲线.在找到这些值时,我们将能够准确地估计响应变量.
在最小二乘回归中,我们建立一个回归模型,其中垂直距离的平方和回归曲线的不同点被最小化.我们通常从定义的模型开始并假设系数的一些值.然后我们应用R的 nls()函数来获得更准确的值以及置信区间.
语法
在R中创建非线性最小二乘检验的基本语法是 :
nls(formula,data,start)
以下是所用参数的说明及减号;
公式是一个包含变量和参数的非线性模型公式.
数据是一个用于评估公式中的变量.
start 是一个命名列表或起始估计的命名数字向量.
示例
我们将考虑一个假设其系数初始值的非线性模型.接下来我们将看到这些假设值的置信区间是多少,以便我们可以判断这些值在模型中的准确程度.
因此,为了这个目的,我们考虑下面的等式 :
a = b1 * x ^ 2 + b2
让我们假设初始系数为1和3并将这些值拟合到nls()函数中.
xvalues <- c(1.6,2.1,2,2.23,3.71,3.25,3.4,3.86,1.19,2.21)yvalues <- c(5.19,7.43,6.94,8.11,18.75,14.88,16.06,19.12,3.21,7.58)# Give the chart file a name.png(file = "nls.png")# Plot these values.plot(xvalues,yvalues)# Take the assumed values and fit into the model.model <- nls(yvalues ~ b1*xvalues^2+b2,start = list(b1 = 1,b2 = 3))# Plot the chart with new data by fitting it to a prediction from 100 data points.new.data <- data.frame(xvalues = seq(min(xvalues),max(xvalues),len = 100))lines(new.data$xvalues,predict(model,newdata = new.data))# Save the file.dev.off()# Get the sum of the squared residuals.print(sum(resid(model)^2))# Get the confidence intervals on the chosen values of the coefficients.print(confint(model))
当我们执行上面的代码时,它产生以下结果 :
[1] 1.081935Waiting for profiling to be done... 2.5% 97.5%b1 1.137708 1.253135b2 1.497364 2.496484
我们可以得出结论,b1的值更接近1,而b2的值更接近2而不是3.
免责声明:以上内容(如有图片或视频亦包括在内)有转载其他网站资源,如有侵权请联系删除
-
设计总结|如何更好地表达活动品牌?
-
谈谈“目标思维”的落地
编辑导读:我们在做数据分析之前,一定要搞清楚需求方的目标到底是什么,要根据目标来重新定义业务方提出的问题,这就是目标思维。目标思维有多重要呢?应该如何落地呢...
-
在线教育平台竞品分析:网易云课堂vs腾讯课堂
本文从移动端出发,对当前比较热门的两款在线教育平台软件-网易云课堂和腾讯课堂进行比较和分析,不足之处还请大家多提意见。 市场分析 随着国内互联网技术的发展和移...
-
即学即用|父亲节活动的4种运营策略
-
B端产品经理和体验设计师的工作职责边界梳理
-
豆果美食电商分支用户体验报告及建议
-
数据分析师如何提高工作效率
在��们的日常工作中,提高工作效率是每个岗位都需要实现的,在工作中,面对比较凌乱的事情时,首先我们需要梳理清楚,按重要级进行开展;本文作者分享了关于...
-
2016中国云计算SaaS移动办公平台年度综合报告
-
网易大布局教育事业:网易公开课、网易云课堂和MOOC分析
-
一篇文章搞懂语音交互的来龙去脉