在回归中,我的 DV 和 IV 中的百分比特征使用哪种算法



我正在使用回归来分析服务器数据以查找特征重要性。

我的一些 IV(自变量)或 X 以百分比表示,例如时间百分比、内核百分比、所用资源百分比,而其他则以字节数等数字表示。

我用(X-X_mean)/X_stddev标准化了我所有的 X.(我这样做有错吗?

如果我的 IV 是数字和 %s 的混合,我应该在 Python 中使用哪种算法,并且在以下情况下我预测 Y:

情况 1:预测连续值 Y

a.使用套索回归就足够了吗?

二.如果 X 是标准化的并且是 数值?

三.如果 X 是标准化的并且是 %?

情况 2:预测 % ed 值 Y,例如"已用资源百分比"。

a. 我应该使用β回归吗?如果是这样,Python 中的哪个包提供了 这?

二.如果 X 是标准化的并且是 数值?

三.如果 X 是标准化的并且是 %?

如果我在标准化已经是%的X时是错误的,那么将这些数字用作0.30%的30%是否可以使它们落在0-1的范围内?所以这意味着我不标准化它们,我仍然会标准化其他数字 IV。

案例 1 和 2 的最终目标:

求出IV对Y的影响百分比。 例如:当 X1 增加 1 个单位时,Y 增加 21%

我从其他帖子中了解到,我们永远不能将所有系数加起来总共 100 来评估每个 IV 对 DV 的影响百分比。我希望我在这方面是正确的。

混合使用预测变量对于任何形式的回归都无关紧要,这只会改变您解释系数的方式。然而,重要的是 Y 变量的类型/分布

情况 1:预测连续值 Y a.使用套索回归就足够了吗?

常规 OLS 回归将对此正常工作

二.如果 X 是标准化的并且是 数值?

系数的解释总是遵循这样的格式:"对于 X 的 1 个单位变化,我们期望 Y 中的 x 系数变化量,保持其他预测变量不变">

因为您有标准化的 X,所以您的单位是标准差。因此,解释将是"对于 X 的 1 个标准差变化,我们预计 Y 中的 X 系数变化量......">

三.如果 X 是标准化的并且是 %?

同上。您的单位仍然是标准偏差,尽管它最初来自百分比

情况 2:预测 % ed 值 Y,例如已用资源百分比。

a. 我应该使用β回归吗?如果是这样,Python 中的哪个包提供了 这?

这很棘手。典型的建议是在 Y 结果为百分比时使用二项式逻辑回归之类的方法。

二.如果 X 是标准化的并且是 数值?

三.如果 X 是标准化的并且是 %?

与上述解释相同。但是,如果您使用逻辑回归,则它们以对数赔率为单位。我建议阅读逻辑回归,以更深入地了解它是如何工作的

如果我在标准化已经是%的X时是错误的,是不是 可以将这些数字用作 0.30 表示 30%,以便它们落在 范围 0-1?所以这意味着我不标准化它们,我仍然会 标准化其他数字 IV。

标准化对于回归中的变量是完全可以的,但就像我说的,它会改变你的解释,因为你的单位现在是标准差

两种情况 1 和 2 的最终目标:

例如:当X1增加1个单位时, Y 增长 21%

如果你的 Y 是一个百分比,并且你使用 OLS 回归之类的东西,那么这正是你解释系数的方式(对于 X1 的 1 个单位变化,Y 会改变一些百分比)

你的问题混淆了一些概念,混淆了很多术语。本质上,您是在询问a)(线性)回归的特征预处理,b)线性回归系数的可解释性,以及c)敏感性分析(特征X_i对Y的影响)。但要小心,因为你做了一个巨大的假设,即 Y 线性依赖于每个X_i,见下文。

  1. 标准化不是一种"算法",只是一种预处理数据的技术。
  2. 回归需要标准化,但基于树的算法(RF/XGB/GBT)不需要标准化 - 有了这些,您可以直接输入原始数字特征(百分比,总计等)。
  3. (X-X_mean)/X_stddev不是标准化,而是规范化。(
    • 另一种方法是(真正的)标准化,即:(X-X_min)/(X_max-X_min),它将每个变量转换为范围 [0,1];或者您可以转换为 [0,1]。
  4. 最后你问回归中的敏感性分析:我们可以直接将X_i的回归系数解释为 Y 对X_i的敏感性吗?
    • 停下来想想你在"两种情况1和2的最终目标:找到IV对Y的影响百分比"中的基本线性假设,例如:当X1增加1个单位时,Y增加21%"。
    • 您假设因变量与每个自变量具有线性关系。但情况往往并非如此,它可能是非线性的。例如,如果你正在研究年龄对工资的影响,你通常会看到它增加到40多岁/50多岁,然后逐渐减少,当你达到退休年龄(比如65岁)时,急剧下降。
    • 因此,你可以将年龄对工资的影响建模为二次或高阶多项式,通过加入 Age^2 和 Age^3 项(否则有时你可能会看到sqrt(X)log(X)log1p(X)exp(X)等项。任何最能捕捉非线性关系的东西。您可能还会看到变量-变量交互作用项,尽管回归严格假定变量彼此不相关。
    • 显然,年龄对工资
    • 有巨大的影响,但我们不会通过组合年龄、年龄^2、年龄^3的(绝对值)系数来衡量工资对年龄的敏感性。
    • 如果我们只有一个线性的年龄项,年龄的
    • 单一系数将大大低估年龄对工资的影响,它将"平均"出年龄<40政权的强正关系与年龄>50的负关系
  5. 因此,对于"我们可以直接将X_i的回归系数解释为 Y 对X_i的敏感性吗?"的一般答案是"仅当 Y 和该X_i之间的关系是线性的,否则没有"。
  6. 一般来说,进行灵敏度分析的更好、更简单的方法(无需假设线性响应,也不需要标准化 % 特征)是基于树的算法 (RF/XGB/GBT),它生成特征重要性
    • 顺便说一句,我知道你的练习告诉你使用回归,但一般来说,你可以从基于树的(RF/XGB)中获得更好的更快特征重要性信息,特别是对于浅树(max_depth值小,节点大小值大,例如>训练集大小的0.1%)。这就是人们使用它的原因,即使他们的最终目标是回归。

(你的问题是在交叉验证上会得到更好的答案,但离开这里很好,所以,有一个交叉)。

最新更新