首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在回归中,我的DV和IV中的百分比特征使用哪种算法?

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

Stack Overflow用户
提问于 2019-07-08 10:31:52
回答 2查看 256关注 0票数 0

我正在使用回归分析来分析服务器数据,以发现特性的重要性。

我的一些IVs (自变量)或Xs的百分比,如时间的%,核心的%,资源的%,而其他的是数字,如字节数,等等。

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

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

案例1:预测连续值Y a.Will用拉索回归就够了吗? 如果X是标准化的,并且是一个数值,我该如何解释X-系数? 如果X是标准化的,并且是a %,我如何解释X-系数? 案例2:预测%ed值Y,如“所使用的%资源”。 我应该用贝塔回归法吗?如果是这样的话,Python中的哪个包提供了这个功能? 如果X是标准化的,并且是一个数值,我该如何解释X-系数? 如果X是标准化的,并且是a %,我如何解释X-系数?

如果我错误地标准化了已经是%的x,那么将这些数字作为30%使用为0.30,从而使它们在0-1的范围内是好的吗?因此,这意味着我没有标准化他们,我仍然将标准化其他数字IVs。

案件1和2的最终目标是: 要找出IVs对Y的影响百分比,例如:当X1增加1个单位时,Y增加21%

我从其他帖子中了解到,我们永远不能把所有的系数加到100,以评估每一个IV对DV的影响的%。我希望我在这方面是正确的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-13 11:46:03

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

  1. 标准化不是一种“算法”,而是一种预处理数据的技术。
  2. 回归需要标准化,但基于树的算法(RF/XGB/GBT)不需要这种标准化,您可以直接输入原始数字特性(百分比、总计等)。
  3. (X-X_mean)/X_stddev 不是标准化,而是标准化。
    • (替代方法是(true) standardization,它是:(X-X_min)/(X_max-X_min),它将每个变量转换为0,1;或者您可以转换到0,1。

  1. 最后问回归中的敏感性分析:我们能直接把X_i的回归系数解释为Y对X_i?的敏感性吗?
    • 停下来想一想你在“第一和第二种情况的最终目标:发现IVs对Y的影响%”中的基本线性假设。例如:当X1增加一个单位时,Y增加21%。
    • ,假设因变量与每个独立变量有线性关系。但情况往往并非如此,它可能是非线性的。例如,如果你观察年龄对工资的影响,你通常会看到它增加到40/50岁,然后逐渐下降,当你到退休年龄(比如65岁)时,它会急剧下降。
    • 所以,你可以用二次或高阶多项式来模拟年龄对工资的影响,方法是加上年龄^2,或者年龄^3(或者有时你可能会看到sqrt(X)log(X)log1p(X)exp(X)等等)。任何最能捕捉到非线性关系的东西。您可能还会看到变量交互项,尽管回归严格地假定变量之间没有关联。)
    • 显然,年龄对工资有很大的影响,但我们不能通过结合年龄、年龄^2、年龄^3的(绝对值)系数来衡量薪酬对年龄的敏感性。
    • 如果我们只对年龄有一个线性项,那么年龄的单一系数就会大大低估年龄对工资的影响,它会将Age<40政权的强正关系与Age>50的负关系“平均化”。

  1. 所以"Only if the relationship between Y and that X
  2. 一般来说,一种更好、更容易进行灵敏度分析的方法(不需要线性响应,也不需要标准化%特征)是基于树的算法(RF/XGB/GBT),它生成特征导入
    • 顺便说一句,我理解您的练习告诉您使用回归,但是通常您从基于树的(RF/XGB)获得更快的特性重要性信息,特别是对于浅树( max_depth的小值,节点大小的大值,例如,训练集大小的0.1%以上)。这就是为什么人们使用它,即使他们的最终目标是倒退。

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

票数 0
EN

Stack Overflow用户

发布于 2019-07-09 10:45:48

对任何形式的回归来说,有一个混合的预测因子并不重要,这只会改变你解释系数的方式。然而,重要的是Y变量的类型/分布

例1:用Lasso回归预测连续值Y a.Will是否足够?

常规的OLS回归会很好地解决这个问题。

如果X是标准化的,并且是一个数值,我该如何解释X-系数?

系数的解释总是遵循这样的格式:“对于X中的1单位变化,我们期望x-系数在Y中的变化量,保持其他的预测因子常数”。

因为你已经标准化了X,你的单位是一个标准差。因此,我们的解释将是“对于X中的1标准差变化,我们预计Y中的X系数变化量.”

如果X是标准化的,并且是a %,我如何解释X-系数?

和上面一样。你的单位仍然是标准差,尽管它最初来自一个百分比。

案例2:预测%ed值Y,类似于所使用的%资源。 我应该用贝塔回归法吗?如果是这样的话,Python中的哪个包提供了这个功能?

这很棘手。典型的建议是,当你的Y结果是一个百分比时,使用类似二项逻辑回归的方法。

如果X是标准化的,并且是一个数值,我该如何解释X-系数? 如果X是标准化的,并且是a %,我如何解释X-系数?

和上面的解释一样。但是如果你使用逻辑回归,它们是在对数概率的单位。我建议阅读逻辑回归,以便更深入地了解它是如何工作的。

如果我错误地标准化了已经是%的Xs,那么将这些数字作为30%的0.30来使用,以便它们在0-1的范围内是好的吗?因此,这意味着我没有标准化他们,我仍然将标准化其他数字IVs。

标准化对于回归中的变量是非常好的,但是就像我说过的,它改变了您的解释,因为您的单元现在是一个标准差。

这两种情况的最终目的是: 要找出IVs对Y的影响百分比,例如:当X1增加1个单位时,Y增加21%

如果你的Y是一个百分比,并且你使用类似于OLS回归的方法,那么这就是你将如何解释系数(对于X1中的一个单位变化,Y变化一定百分比)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56933059

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档