生成变量
方法概述
生成变量是基于已有列通过运算派生新变量的过程,是特征构造与指标加工的核心手段。通过合理的派生计算,可以从原始观测中提炼出更具业务含义或更利于建模的指标,例如从多个分项求和得到总分、从收入与支出计算结余、为时序数据构造滞后特征等。本工具支持行间聚合、标准化/归一化、数学变换、指标变换、虚拟变量、排序/分组、缩尾与正态变换等多种操作,生成结果一律以新列形式追加到数据末尾,不覆盖原始列,同时提供新变量列表与统计摘要,便于核对。
计算步骤
1. 数据加载与预处理
- 支持 CSV 与 Excel 文件上传(不超过 5MB),自动识别常见缺失符号并转为缺失值。
- 对文本列,若超过 80% 的值可转为数值,则自动转为数值列,便于参与计算。
- 删除完全空的行列;参与运算的列需为数值型。
2. 选择操作类型
- 行间聚合:对所选列逐行计算平均值 \(\bar{x}=\frac{1}{k}\sum_{i=1}^{k}x_i\)、求和、中位数、乘积、最大值、最小值,新列名可自定义。
- 标准化/归一化:Z 标准化、中心化、最大最小归一化、均值化、求和归一化、平方和归一化(逻辑同”数据标准化/归一化”工具)。
- 数学变换:平方、根号(负值按绝对值处理)、自然对数(仅正数,非正为缺失)、10 为底对数、绝对值、倒数、相反数、三次方。
- 指标变换:
- 正向化(最大最小归一化,值越大表示越优);
- 逆向化:\(x' = \frac{\max(x)-x}{\max(x)-\min(x)}\),值越大表示越差;
- 适度化:\(x' = -|x - K|\),越接近理想值 \(K\) 越大;
- 区间化:线性映射到自定义区间 \([a,b]\);
- 初值化:除以该列第一个非缺失值。
- 分类/编码:虚拟变量——对文本/类型枚举列生成哑变量列(可指定参考类别,默认不生成第一类的列)。
- 排序/分组:编号(1 至行数)、分组(随机或按顺序分为 \(g\) 组)、排名(按值降序或升序,并列取最小名次)、秩(平均排名)。
- 特殊处理:缩尾处理(将低于下分位数或高于上分位数的值截断至分位数水平,可单侧或双侧)、计数指示(取值等于指定值时取 1,否则取 0)、Box-Cox 变换(\(\lambda\) 可自定义或自动估计)与 Box-Cox 逆变换(需指定 \(\lambda\))。
3. 执行生成
工具对所选列批量应用所选操作,将结果以新列形式追加到数据末尾,并返回新变量名列表。
4. 新变量列表与统计摘要
- 新变量列表:列出本次生成的新变量名及应用的操作类型。
- 统计摘要:显示原始列数、新增变量数、当前总列数等。
5. AI 智能分析
基于操作类型、原始列与新生成变量等信息,调用大语言模型分析新变量的业务与建模价值,并给出进一步建议(每日限 3 次,需配置 API 密钥)。
6. 结果导出
- 下载包含新变量的完整数据(CSV 或 Excel)。
- 下载含新变量清单与数据预览的 HTML 报告。
案例分析
案例背景:某调查数据包含各学生的语文、数学、英语成绩,需构造”总分”与”均分”两个新变量,并生成成绩排名。
原始数据(示例):
| 学号 | 语文 | 数学 | 英语 |
|---|---|---|---|
| 1 | 88 | 92 | 85 |
| 2 | 75 | 68 | 80 |
| 3 | 95 | 90 | 93 |
| 4 | 60 | 72 | 55 |
| 5 | 82 | 85 | 90 |
处理过程:
- 选择”语文、数学、英语”三列,执行行间聚合-求和,新变量名设为”总分”。
- 再次执行行间聚合-平均值,新变量名设为”均分”。
- 对”总分”执行排名(降序),生成”总分_rank”列。
处理后数据(示例,数值四舍五入):
| 学号 | 语文 | 数学 | 英语 | 总分 | 均分 | 总分_rank |
|---|---|---|---|---|---|---|
| 1 | 88 | 92 | 85 | 265 | 88.3 | 2 |
| 2 | 75 | 68 | 80 | 223 | 74.3 | 4 |
| 3 | 95 | 90 | 93 | 278 | 92.7 | 1 |
| 4 | 60 | 72 | 55 | 187 | 62.3 | 5 |
| 5 | 82 | 85 | 90 | 257 | 85.7 | 3 |
结论:在本示例数据范围内,新生成的总分、均分与排名列直观反映了学生整体表现,原始三科成绩列均保留未受影响。
常见问题
Q1: 新变量会覆盖原始列吗?
A: 不会。本工具一律以追加新列的方式输出,原始列保持不变,便于对照与回溯。
Q2: 对数变换为什么会出现缺失值?
A: 自然对数与以 10 为底对数仅对正值有意义,非正数对应位置被置为缺失,可先用平移等方式处理或改用平方根/Box-Cox 变换。
Q3: 排名与秩的区别是什么?
A: 排名为并列取最小名次(如两人并列第 1 则均记 1);秩为平均排名(并列取平均序号),两种口径可选。
Q4: 分组与编号各有什么用途?
A: 编号用于生成顺序号(1 到行数);分组用于将样本随机或按顺序划分为若干组,常用于交叉验证或样本分块。
Q5: 虚拟变量的参考类别是什么?
A: 参考类别不生成哑变量列,其余每个类别各生成一列 0/1 指示列。默认以第一个类别为参考,也可手动指定。
平台功能
- 数据输入:支持 CSV、Excel,自动识别缺失符号、智能识别数值列、清理空行列;提供数据模板与方法介绍下载。
- 操作类型:行间聚合 6 种、标准化/归一化 6 种、数学变换 8 种、指标变换 5 种、虚拟变量、编号/分组/排名/秩、缩尾/计数指示/Box-Cox 及逆变换,共 30 余种。
- 结果展示:新变量列表及类型说明、统计摘要(新增变量数、总列数)、处理后数据预览。
- AI 智能分析:评估新变量价值并给出建议(每日限 3 次,需配置 API 密钥)。
- 报告下载:含新变量的完整数据(CSV/Excel)与 HTML 报告。
使用建议
- 结合业务含义:优先构造具有明确业务解释的派生指标(如总分、占比、差值),避免冗余特征。
- 多步组合:部分指标需多步生成(先求和再排名),可对同一数据执行多次操作逐步累积。
- 关注有效取值范围:对数、Box-Cox 等变换对数值范围有要求,结合业务检查是否符合预期。
- 控制新变量规模:对多列批量变换会逐列生成新列,注意列数扩张对后续分析的影响。
- 核对结果口径:生成后查看新变量列表与摘要,确认公式与结果符合预期。
平台界面

平台界面包含:数据上传区、列选择与操作类型设置(含动态参数)、新数据双预览、新生成变量列表、统计摘要及 AI 分析模块
参考文献
- Kuhn, M., & Johnson, K. (2019). Feature Engineering and Selection: A Practical Approach for Predictive Models. Chapman & Hall/CRC.
- Montgomery, D. C., Peck, E. A., & Vining, G. G. (2012). Introduction to Linear Regression Analysis (5th ed.). Wiley.