进阶方法

SPSS曲线回归

案例数据

300 行 × 2 列。某快消品牌 300 个城市/月度营销活动样本:自变量为当月广告投放金额(千元,1-156 区间),因变量为当月销售额(万元,27-111 区间),二者呈典型的"边际效应递减"非线性关系。用于经典 SPSS 曲线估计(Curve Estimation)演示:对同一份 X-Y 数据并行拟合 线性 / 二次 / 三次 / 对数 / 幂函数 / 指数 / 倒数 / S 曲线共 8 种参数化曲线,按 R² 对比选优。

文件名cur_regression.xlsx
样本量300 行
变量数2 列(广告投放金额 + 销售额)
数据用途市场营销研究:广告投放金额(千元)→ 销售额(万元)。形态上呈对数饱和(增长率随投入递减),用线性回归会低估高投入区段、高估低投入区段。
变量说明广告投放金额 X(连续,千元,3.0-155.8);销售额 Y(连续,万元,27.37-111.37)。建议先用散点图肉眼判断形态,再选若干候选曲线对比 R²。

完整案例

1. 背景

市场营销中,广告投入 → 销售额很少是直线关系:低投入阶段每多花 1 千元广告费可能带来 1 万元增量销售,但当投入升到 100 千元以后,再加 1 千元的边际增量往往只剩不到 0.2 万元——这就是经典的边际效应递减 / 饱和(diminishing returns / saturation)形态。如果直接套用普通线性回归,会得到"每多投 1 千元广告费多 ?? 万元销售"这种误导性的常数斜率,并且残差呈系统性弯曲(低投入端低估、中段高估、高投入端低估)。曲线回归(Curve Estimation)的思路是:对同一份 X-Y 数据,并行拟合若干种已知形态的参数化曲线(线性、多项式、对数、幂、指数、倒数、S 曲线 ……),按 R² / 调整 R² 排序选出形态最契合的那一类,再用其参数估计回答业务问题(最优投入区间、边际 ROI、饱和阈值)。本案例演示 8 种曲线的并行拟合与排序选择流程。

2. 理论与公式

曲线估计的核心是把非线性形态线性化后用 OLS 求解(少数模型用非线性最小二乘)。下表所有模型均可通过对 X 或 Y 做变换转化为线性最小二乘问题。

对数模型

适合"投入递增、产出增速变缓"的饱和形态(本案例的真实形态)。

幂函数模型

β<1 时为递减饱和、β=1 退化为线性、β>1 为加速增长。

指数模型

增长率近似稳定(每增加 1 单位 X,Y 按固定百分比变化)。

二次 / 三次多项式

适合 U 型、倒 U 型或单拐点曲线,但易在外推区域剧烈失真。

倒数 / S 曲线

X→∞ 时 Y 趋向水平渐近线,常用于产品生命周期、扩散曲线。

拟合优度

多曲线对比时必须在原始 Y 尺度计算 R²(不能用 ln Y 尺度的伪 R²)。

3. 数据结构

300 行 × 2 列宽表,每行 1 个营销活动样本:

列名角色类型 / 范围说明
广告投放金额自变量 X连续,3.00-155.80(千元)某次营销活动当月的总广告费用,覆盖低 / 中 / 高三个投入档位
销售额因变量 Y连续,27.37-111.37(万元)同一活动当月归属销售收入,Y>0 是后续 log / power 模型能成立的前提

数据要求:① X 与 Y 均为连续型;② 若用对数 / 幂 / S 曲线,X 与 Y 必须严格大于 0;③ 样本量建议 ≥ 50,本案例 N=300 足以分辨 R² 差异;④ 任何曲线拟合都对极端点敏感,建议先看散点和箱线。

4. 操作步骤

  1. 登录 SPSSzero,进入 工作台 → 上传 cur_regression.xlsx
  2. 先做散点图(基础统计 → 散点图,X=广告投放金额,Y=销售额)肉眼判断形态:是直线、单调凹/凸、U 型还是 S 型
  3. 左侧方法栏 → 进阶方法 → 点击 曲线回归 / 曲线估计
  4. 销售额 拖入 因变量 Y,把 广告投放金额 拖入 自变量 X
  5. 勾选候选曲线(建议至少勾上 线性 / 二次 / 三次 / 对数 / 幂 / 指数 / 倒数 / S 曲线 这 8 类)
  6. 勾选 输出 R² / 调整 R² / F / p显示拟合曲线叠加散点图系数表
  7. 点击 开始分析,系统按 R² 降序输出对比表 + 最佳曲线的参数表与方程
  8. 结合业务理论选定最终模型(不仅看 R²,也要看形态是否合理、外推是否安全)

5. 结果表格与结果阅读

结果区按"散点描述 → 多曲线对比 → 最佳曲线参数"3 步输出,对应下面 3 张三线表:

表1 散点描述统计(X 与 Y 的分布概览,N=300)
变量N最小值最大值均值中位数标准差
广告投放金额(千元)3003.00155.8063.7758.7538.68
销售额(万元)30027.37111.3778.3881.1416.08
X 偏右(mean > median 不明显,但分位差大),覆盖 1.5 个数量级的投入水平;Y 反而偏左(median 81.14 > mean 78.38),表明高 Y 端较平、低 Y 端较稀疏 — 提示存在饱和形态

解读:X 跨度 3 ~ 156 千元(约 52 倍),Y 跨度 27 ~ 111 万元(约 4 倍)。X 增长 52 倍而 Y 只增长 4 倍这一比例严重不匹配,是肉眼即可识别的"非线性饱和"信号,因此预期对数 / 幂函数类曲线优于线性。

表2 八种参数化曲线拟合对比(按 R² 降序,N=300)
排名模型形式参数数调整 R²Fp
1对数y = b0 + b1·ln(x)10.85730.85681790.63<0.001
2三次y = b0 + b1x + b2x² + b330.84660.8450544.55<0.001
3二次y = b0 + b1x + b220.83300.8319740.94<0.001
4幂函数y = a·xb10.83301741.27<0.001
5S 曲线y = exp(b0 + b1/x)10.7318879.42<0.001
6线性y = b0 + b1·x10.70420.7032709.31<0.001
7倒数y = b0 + b1/x10.62490.6237496.53<0.001
8指数y = a·eb·x10.6149490.04<0.001
所有模型 p<0.001 但 R² 跨度 0.61-0.86,差距巨大;R² 在原始 Y 尺度统一计算,可横向比较;对数模型仅用 1 个自由度即达 R²=0.857,是解释力 / 参数数最优解

关键观察:① 对数模型 R²=0.857 居首,且只用 1 个待估参数,三次 / 二次模型虽然也接近,但用了 3 / 2 个参数,调整 R² 优势更明显;②线性模型 R²=0.704 比对数低 15.3 个百分点,足够说明 X-Y 不是直线关系;③指数与倒数 R² 倒数二三,证实形态不是"指数加速增长"或"严格双曲衰减"——这正是预筛选曲线类型的价值。

表3 最佳曲线(对数模型)系数估计与拟合方程
参数估计值标准误tp95% CI业务含义
截距 b05.17801.76532.9330.004[1.704, 8.652]理论"广告费=1 千元"时的销售额基线(ln(1)=0)
斜率 b118.73720.442842.32<0.001[17.866, 19.609]广告费每翻 e 倍(≈2.72 倍),销售额增加 18.74 万元
拟合方程:销售额 = 5.178 + 18.737 × ln(广告投放金额);R²=0.8573,调整 R²=0.8568,F(1, 298)=1790.63,p<0.001;残差 SD=6.09 万元

边际效应解释:对数模型的边际斜率为 dY/dX = b1/X = 18.74/X。即 X=10 千元时多投 1 千元广告费可多带 1.87 万元销售;X=50 千元时仅 0.37 万元;X=150 千元时仅 0.12 万元 — 这就是"边际效应递减"的量化表达,也是后续广告预算分配的核心依据。

7. 文字分析

对 300 个营销活动样本的 8 种曲线拟合综合解读:

  • 散点形态 — 典型对数饱和:X (3-156 千元) 跨 52 倍而 Y (27-111 万元) 仅跨 4 倍,散点呈"低投入段陡升、高投入段趋平"的对数饱和形态,Y 的中位数 81.14 高于均值 78.38 也证实数据集中在曲线的"水平段"——这一肉眼判断与后续 R² 排名完全吻合;
  • R² 排序 — 对数 > 三次 ≈ 二次 ≈ 幂函数 > S 曲线 > 线性 > 倒数 ≈ 指数:对数模型以 R²=0.857 单参数夺冠,三次 (0.847)、二次 (0.833)、幂函数 (0.833) 紧随其后;线性模型仅 0.704,比对数低 15 个百分点,意味着近 15% 的销售额方差会被"误用直线"所遗漏;
  • 最佳曲线方程销售额 = 5.178 + 18.737 × ln(广告投放金额),截距与斜率均高度显著(p=0.004 / p<0.001),系数 95% CI 紧致 [17.87, 19.61],残差 SD 仅 6.09 万元,是形态契合、参数稳定、解释力强的"三好"模型;
  • 边际效应递减量化:边际斜率 dY/dX = 18.74/X — X=10 千元时多投 1 千元增量 1.87 万元(ROI≈18.7 倍);X=50 千元时仅 0.37 万元(ROI≈3.7 倍);X=100 千元时仅 0.19 万元(ROI≈1.9 倍);X=150 千元时已降到 0.12 万元(ROI≈1.2 倍),当 ROI<1 时即净亏损区
  • 业务建议 — 最优投入区间约 30-80 千元:以"边际 ROI ≥ 3"为门槛回推,X ≤ 18.74/3 ≈ 6.2 千元过低未达规模、X ≥ 60 千元已进入低 ROI 段。建议核心投入集中在 30-80 千元区间(占当前样本 50% 分位段),高于 100 千元的活动应做 A/B 测试论证是否过度投入;下一步可加入渠道、季节、品类变量做分组曲线,或采用 Mitscherlich/Hill 等含"上限渐近"的三参数饱和曲线。

8. 剖析提醒

曲线回归的 4 类常见误区与防御策略:①不要单看 R² — 高阶多项式可以任意逼近样本但外推剧烈失真(本案例三次 R²=0.847 看似很高,但 X→200 千元时其外推会发生不合理的弯折,对数模型则平稳上升),实务中应优先选"参数少、形态符合业务理论"的模型;②不要外推到 X 范围之外 — 本案例 X 区间 [3, 156],对 X=300 千元的预测属于纯推测,因为饱和形态可能在 200 千元处出现"二次衰减"或新拐点;③注意 R² 必须在原始 Y 尺度比较 — 幂函数与指数模型用 ln(Y) 拟合得到的 R² 是伪 R²,回到原始 Y 尺度后排名可能改变,本案例工具已自动统一到原始尺度;④极端点警告 — 曲线回归对极端点比线性更敏感,尤其是 X 接近 0(log/inverse 模型发散)或 Y 接近 0(power/exp 模型 ln 失败)的点必须先做剔除或离群点诊断,必要时换用稳健回归(Huber / robust regression)替代经典 OLS。