能告诉你什么
Crosstabs 在你的设备上运行与 SPSS NLR 对应的过程,使用安全的公式解析器;CNLR 选项还支持参数边界约束与 Bootstrap 标准误。
- 公式中每个参数的最佳拟合值,以及渐近标准误和 95% 置信区间。
- 参数估计值之间的相关程度——相关过高说明数据难以区分这些参数。
- 模型解释了多少变异:方差分析表与 R 方 = 1 − 残差平方和 / 修正平方和。
- 使用 CNLR 时,得到满足上下界的估计值,以及不依赖线性化的 Bootstrap 标准误和百分位数区间。
适用场景
适合使用
- 理论给出了明确的非线性形式,例如学习曲线 y = a·(1 − e^(−b·x)) 或饱和曲线 y = a·x / (b + x)。
- 需要报告的正是参数本身(上限、半衰期、速率)。
- 参数必须位于有意义的范围内,例如速率为正、比例在 0 到 1 之间(使用 CNLR 边界)。
改用其他方法
- 曲线属于曲线估计中的标准形状,或经变换后可线性化:这些拟合更简单,不需要初始值。
- 结果为计数或反应比例:使用广义线性模型或概率单位分析,它们能正确刻画误差分布。
- 需要涉及多个参数的线性或非线性约束:此处的 CNLR 只支持针对单个参数的简单边界。
在 Crosstabs 中如何操作
- 01
选择非线性回归
在“统计”模式下打开数据,在“回归”组中选择“非线性回归”(NLR / CNLR)。
- 02
选择因变量
在“模型”中选择“因变量”,该变量不能出现在公式中。
- 03
声明参数与初始值
在“参数与初始值”中写出每个参数及合理的初始值,例如 a = 10, b = 0.5。初始值接近预期结果有助于收敛。
- 04
写出模型表达式
在“模型表达式”中使用 + - * / ^、括号以及 exp、ln、log10、sqrt、abs、sin、cos、tan、atan,变量名与数据一致,含空格的名称用 [方括号] 括起来。
- 05
添加 CNLR 选项并运行
在“约束与 Bootstrap (CNLR)”中勾选“约束参数”以为每个参数输入下限和上限,或勾选“标准误的 Bootstrap 估计”并设置“Bootstrap 样本数”(20–2000),然后点击“运行”。
计算示例
以下结果由 Crosstabs 引擎在构建本页时根据模拟数据实际计算得出,并非手工填写。
数据
30 名模拟学习者,练习时长 0.5–21.5 小时;score 服从 85·(1 − e^(−0.18·hours)) 加正态噪声(随机种子固定)。“模型表达式”= a * (1 - exp(-b * hours)),“参数与初始值”= a = 80, b = 0.1。
| 参数 | 估计 | 标准误 | 下限 | 上限 |
|---|---|---|---|---|
| a | 86.393 | 1.237 | 83.860 | 88.926 |
| b | 0.181 | 0.008 | 0.164 | 0.198 |
| 源 | 平方和 | 自由度 | 均方 |
|---|---|---|---|
| 回归 | 140981.706 | 2 | 70490.853 |
| 残差 | 249.814 | 28 | 8.922 |
| 未修正总计 | 141231.520 | 30 | |
| 修正总计 | 15597.055 | 29 |
因变量:score。R 方 = 1 - 残差平方和 / 修正平方和 = 0.984。
结果解读
从初始值 a = 80、b = 0.1 出发,拟合收敛到上限 a = 86.39 分(95% 置信区间 83.86 至 88.93),速率 b = 0.181/小时,因此达到上限一半所需时间为 ln 2 / b = 3.82 小时。残差均方为 8.92,R² = 1 − 残差平方和 / 修正总平方和 = 0.984。
输出表格说明
- 参数估计值
- 每个参数的估计值、渐近标准误和 95% 置信区间;启用 Bootstrap 时另给出 Bootstrap 标准误和 95% 百分位数区间。停在边界上的参数被固定,没有渐近标准误。
- 参数估计值的相关性
- 相关接近 ±1 表示两个参数此消彼长,难以分别估计。
- 方差分析
- 回归、残差、未修正总计与修正总计的平方和,脚注给出 R 方。公式只含一个变量时,随后绘制观察点与拟合曲线图。
前提假设与注意事项
- 公式的形状与数据相符;非线性最小二乘无法修正设定错误的模型。
- 误差相互独立且方差恒定;渐近标准误依赖线性近似,小样本时可能不准,Bootstrap 可作补充。
- 初始值能引导到全局最小值;若迭代提前停止,请尝试其他初始值。
结果如何验证
NLR 与 CNLR 与 scipy.optimize(curve_fit 与 least_squares)对照:估计值误差在 1e-8 以内,标准误在 1e-6 以内,残差平方和在 1e-9 以内;频数加权拟合须与展开数据的拟合一致,上界生效的 CNLR 拟合须把该参数精确固定在边界上。Bootstrap 标准误经测试可复现,且与渐近值的差距不超过 40%。 验证证据(英文)
常见问题
如何选择初始值?
可从数据中估读:上限参数取接近最大 Y 的值,速率取 X 范围倒数附近的值,截距取 X = 0 时的 Y 附近。初始值不当可能导致不收敛或陷入局部最小值。
公式会被当作代码执行吗?
不会。表达式会被解析为公式树,只允许算术运算、所列函数、参数和变量名,导数也基于该公式树做符号求导。
什么时候应使用 Bootstrap 标准误?
样本较小、估计值附近曲线高度非线性,或置信区间不应对称时。面板以固定随机种子对个案重抽样,因此同一数据得到相同的 Bootstrap 结果。
参数触及边界时会怎样?
该参数被固定在边界上,不纳入协方差矩阵,也不显示渐近标准误;同时会提示至少有一个参数停在边界上。
相关过程
用你自己的数据运行非线性回归
打开 .sav、CSV 或 Excel 文件。所有计算都在浏览器中完成,文件不会离开你的设备。
SPSS 是 IBM Corp. 的商标。Crosstabs 与 IBM 无关联,也未获得 IBM 认可。