方法/步骤
1、首先,先教大家如何使用SPSS多元线性回归分析
2、接下来是范例说明:
此案例是希望找到与营收相关的多元回归式
原先加入参数有:5个
调整後回归R方:0.888 / 显着性:皆小於0.05
看起来相当拟合,无任何差错
3、可依个人需求,勾选需要参考的指标
若是没有勾选,只会出现既定标准的指标
在此需加入 Statistisc中的 "共线性诊断"
4、排除共线性强因子,可用偏相关查看是否确实应该排除
主要是看 VIF值是否大於2 (大於2,表示共线性极强需改善)
否则会有交互作用
5、最後模型拟合程度,可在excel中
做主次座标清楚检视
模型拟合对于人口模型可以采用Logistic增长函数形式,它考虑了初期的指数增长以及总资源的限制。其函数形式如下。
首先载入car包以便读取数据,然后使用nls函数进行建模,其中theta1、theta2、theta3表示三个待估计参数,start设置了参数初始值,设定trace为真以显示迭代过程。nls函数默认采用Gauss-Newton方法寻找极值,迭代过程中第一列为RSS值,后面三列是各参数估计值。然后用summary返回回归结果。
library(car)
pop.mod1 <- nls(population ~ theta1/(1+exp(-(theta2+theta3*year))),start=list(theta1 = 400, theta2 = -49, theta3 = 0.025), data=USPop, trace=T)
summary(pop.mod)
在上面的回归过程中我们直接指定参数初始值,另一种方法是采用搜索策略,首先确定参数取值范围,然后利用nls2包的暴力方法来得到最优参数。但这种方法相当费时。
还有一种更为简便的方法就是采用内置自启动模型(self-starting Models),此时我们只需要指定函数形式,而不需要指定参数初始值。本例的logistic函数所对应的selfstarting函数名为SSlogis
pop.mod2 <- nls(population ~ SSlogis(year,phi1,phi2,phi3),data=USPop)
二、判断拟合效果
非线性回归模型建立后需要判断拟合效果,因为有时候参数最优化过程会捕捉到局部极值点而非全局极值点。最直观的方法是在原始数据点上绘制拟合曲线。
library(ggplot2)
p <- ggplot(USPop,aes(year, population))