加权非线性回归
这个例子展示了如何拟合一个非线性回归模型的数据与非常数误差方差。
当测量误差均具有相同方差时,正则非线性最小二乘算法是合适的。当这个假设不正确时,使用加权拟合是合适的。属性中使用权重fitnlm
函数。
适合的数据和模型
我们将利用收集到的数据来研究工业和生活垃圾造成的水污染。这些数据在Box, g.p., W.G. Hunter, and J.S. Hunter, statistical for Experimenters (Wiley, 1978, pp. 483-487)中有详细描述。反应变量为生化需氧量(mg/l),预测变量为孵育时间(天)。
X = [1 2 3 5 7 10]';Y = [109 149 149 191 213 224]';情节(x, y,“柯”)包含(“孵化(天),x”) ylabel (生化需氧量(mg/l, y))
我们假设已知前两次观测的精度低于其余观测。例如,它们可能是用不同的仪器制造的。加权数据的另一个常见原因是,每个记录的观测值实际上是在相同的x值下进行的几次测量的平均值。在这里的数据中,假设前两个值代表单个原始测量值,而其余四个值分别是5个原始测量值的平均值。然后,根据每次观测的测量次数来加权是合适的。
W = [1 1 5 5 5 5]';
拟合无权重模型
我们将为这些数据拟合的模型是一个缩放指数曲线,当x变大时,它变得水平。
modelFun = @(b,x) b(1).*(1-exp(-b(2).*x));
根据粗略的视觉拟合,通过这些点绘制的曲线似乎在x = 15附近的240左右水平。所以我们将用240作为b1的起始值,由于e^(- 0.5 *15)比1小,我们将用0.5作为b2的起始值。
Start = [240;5);
忽略测量误差的危险在于,拟合可能会受到不精确测量的过度影响,因此可能无法为精确已知的测量提供良好的拟合。让我们不加权重地拟合数据,并将其与点进行比较。
nlm = fitnlm(x,y,modelFun,start);Xx = linspace(0,12)';线(xx,预测(nlm, xx),“线型”,“——”,“颜色”,“k”)
注意,拟合曲线被拉向前两点,但似乎错过了其他点的趋势。
用权重拟合模型
让我们试着用重量来重复这个拟合。
wnlm = fitnlm(x,y,modelFun,start,“重量”w)
wnlm =非线性回归模型:y ~ b1*(1 - exp(- b2*x)))估计系数:估计SE tStat pValue ________ ________ ______ __________ b1 225.17 10.7 21.045 3.0134e-05 b2 0.40078 0.064296 6.2333 0.0033745观测数量:6,误差自由度:4均方根误差:24 r平方:0.908,调整r平方0.885 f统计量vs零模型:696,p值= 8.2e-06
线(xx,预测(wnlm, xx),“颜色”,“b”)
在这种情况下,估计的总体标准差描述了权重或测量精度为1的“标准”观测值的平均变化。
wnlm。RMSE
Ans = 24.0096
任何分析的一个重要部分都是对模型拟合精度的估计。系数显示参数的标准误差,但我们也可以为它们计算置信区间。
coefCI (wnlm)
ans =2×2195.4650 254.8788 0.2223 0.5793
估算响应曲线
接下来,我们将为它们计算拟合的响应值和置信区间。默认情况下,这些宽度是预测值的逐点置信界限,但我们将要求整个曲线的同步间隔。
[ypred,ypredci] = predict(wnlm,xx,“同时”,真正的);情节(x, y,“柯”xx ypred,“b -”xx ypredci,“:”)包含(“x”) ylabel (“y”) ylim([-150 350])“数据”,“加权匹配”,“95%置信限”},...“位置”,“东南”)
请注意,这两个向下加权的点并不像其余的点那样适合曲线。这就是你所期望的加权拟合。
也可以在指定的x值上估计未来观测的预测间隔。这些间隔实际上假设权重或测量精度为1。
[ypred,ypredci] = predict(wnlm,xx,“同时”,真的,...“预测”,“观察”);情节(x, y,“柯”xx ypred,“b -”xx ypredci,“:”)包含(“x”) ylabel (“y”) ylim([-150 350])“数据”,“加权匹配”,“95%预测极限”},...“位置”,“东南”)
权重的绝对比例实际上并不影响参数估计。将权重调整为任何常数都会得到相同的估计值。但它们确实会影响置信范围,因为这些范围代表了权重为1的观察结果。在这里您可以看到,与置信度极限相比,具有较高权重的点似乎太接近拟合线。
假设我们对基于五次测量平均值的新观测结果感兴趣,就像图中的最后四个点一样。方法指定观测权重权重
的名称-值参数预测
函数。
[new_ypred,new_ypredci] = predict(wnlm,xx,“同时”,真的,...“预测”,“观察”,“重量”5 *的(大小(xx)));情节(x, y,“柯”xx new_ypred,“b -”xx new_ypredci,“:”)包含(“x”) ylabel (“y”) ylim([-150 350])“数据”,“加权匹配”,“95%预测极限”},...“位置”,“东南”)
的预测
函数估计观测时的误差方差我
通过MSE * (1 / W (i))
,在那里均方误差
是均方误差。因此,置信区间变窄。
残留分析
除了绘制数据和拟合之外,还绘制从拟合到预测因子的残差,以诊断模型中的任何问题。残差应该表现为独立和同分布(i.i.d),但方差与权重的倒数成正比。绘制标准化残差,以确认具有相同方差的值是i.i.d.。标准化残差是原始残差除以估计的标准差。
r = wnlm. residual . standardization;情节(x, r,“b ^”)包含(“x”) ylabel (标准化残差的)
在这个残差图中有一些系统模式的证据。请注意后四个残差是如何具有线性趋势的,这表明随着x的增加,模型可能增加得不够快。此外,残差的大小往往随着x的增加而减小,这表明测量误差可能取决于x。这些值得研究,然而,数据点太少,很难将这些明显的模式联系起来。