stats | 您所在的位置:网站首页 › 多元回归求解参数 › stats |
本篇介绍基础包stats中的一个函数nls(),它的作用是求解非线性回归的待定参数。 nls(formula, data, start, control, algorithm, trace, subset, weights, na.action, model, lower, upper, ...)主要参数的要求如下: formula:非线性回归的形式,格式为y ~ f(x1, x2,...); data:数据源;一般为数据框或列表结构,不能为矩阵结构; start:待定参数的起始值;列表结构。 比如,S型曲线可以很好地拟合传染病感染人数的增加趋势。本文示例使用的数据是2020年1月至3月我国新冠肺炎的确诊人数(示例数据可在后台发送关键词“示例数据”获取)。 library(readxl) covid % summarise(total = sum(confirmed)) plot(data$total, type = "l")![]() 从上图可以看出,累积确诊人数的增长趋势大致呈S型。 一个典型的S型曲线的函数形式如下: Scurve = function(t, a, b, c) return(c/(1+exp(a*t+b))) v = apply(matrix(-10:10), 1, Scurve, a = -1, b = 0, c = 80000) plot(-10:10, v, type = "l")![]() 下面使用nls()函数求解S型函数的相关参数,也就是a、b、c。 data$t = 1:dim(data)[1] fit |
CopyRight 2018-2019 实验室设备网 版权所有 |