0

我在 SSAS 中训练了一个简单的逻辑回归模型,使用 Gender 和 NIC 作为离散输入节点(NIC 为 0 表示非吸烟者,1 表示吸烟者),Score (0-100) 作为连续输出节点。

我想根据新参与者的性别和 NIC 值来预测分数。当然,我可以在 DMX 中运行单例查询;例如,以下产生一个值 49.51....

  SELECT Predict(Score) 
  FROM [MyModel]
  NATURAL PREDICTION JOIN 
  (SELECT 'M' AS Gender, '1' AS NIC) as t

但我不想使用 DMX,而是想从模型中创建一个公式,以便在与 SSAS“断开连接”时计算分数。

调查模型,我在输出节点的 NODE_DISTRIBUTION 中有以下信息:

  ATTRIBUTE_NAME   ATTRIBUTE_VALUE    SUPPORT PROBABILITY    VARIANCE       VALUETYPE
  Gender:F         0.459923854        0       0              0              7 (Coefficient)
  Gender:M         0.273306289        0       0              0              7 (Coefficient)
  Nic:0            -0.282281195       0       0              0              7 (Coefficient)
  Nic:1            -0.802106901       0       0              0              7 (Coefficient)
                   0.013983007        0       0              0.647513829    7 (Coefficient)
  Score            75.03691517        0       0              0              3 (Continuous

将这些系数插入逻辑回归公式——我被禁止作为新用户上传:)——对于上面的吸烟男性示例,

  f(...) = 1 / (1 + exp(0 - (0.0139830071136734   -- Constant(?)
    + 0 * 0.459923853918008                       -- Gender:F = 0
    + 1 * 0.273306289390897                       -- Gender:M = 1
    + 1 * -0.802106900621717                      -- Nic:1 = 1
    + 0 * -0.282281195489355)))                   -- Nic:0 = 0

结果为 0.374.... 但是我如何将这个值“映射”回 0-100 的分数分布?换句话说,我如何扩展上面的等式以产生与 DMX 单例查询相同的值?我假设它将需要我的分数分布的标准偏差和平均值,但我一直坚持如何使用这些值。我也不确定我是否正确使用第五行中的 ATTRIBUTE_VALUE 作为常量。

您可以提供的任何帮助将不胜感激!

4

2 回答 2

1

我不是专家,但听起来你根本不想使用逻辑回归。您想训练线性回归。您目前有一个逻辑回归模型,这些模型通常用于二进制分类,而不是连续值,即 0-100。

如何在 SAS 中进行线性回归

维基百科:线性回归

更多细节:这个问题真的取决于你的数据,就像大多数数据挖掘/机器学习问题一样。如果您的数据是双峰的,超过 90% 的训练集非常接近 1 或 100,那么可能会使用逻辑回归。逻辑回归中使用的方程专门用于呈现是/否的答案。从技术上讲,它是一个连续函数,因此可能出现 0.34 等结果,但在统计上它们不太可能(在典型用法中,您会向下舍入为 0)。

但是,如果您的数据是正态分布的(大部分自然是),则更好的方法是线性回归。唯一的问题是,如果给定一个特别糟糕的数据点,它可以预测超出您的 0-100 范围。在这种情况下,您最好四舍五入(将结果裁剪为 0-100)或将数据点作为异常值忽略。在性别的情况下,一个快速的技巧是将男性映射到 0,将女性映射到 1,然后将性别作为模型的输入。

SSAS 线性回归

于 2012-06-15T03:00:23.097 回答
0

如果您尝试对限制在区间 [0,100] 的分数进行建模,则不希望使用逻辑回归。逻辑回归用于对二元数据或基于二项分布的比例进行建模。假设您实际使用逻辑回归建模的 logit 链接函数是概率(几率对数)的函数,因此整个过程旨在为您提供区间 [0,1] 中的值。尝试使用它来映射到分数似乎根本不是正确的分析类型。

此外,我看不到常规线性回归将如何帮助您,因为您的拟合模型将能够生成超出目标区间 [0,100] 的值,并且如果您必须将值临时截断到此范围,那么您可以真的确定你的数据有什么有效意义吗??

我希望能够向您指出您需要的分析类型,但我还没有遇到过这种类型的分析。我对您的建议是放弃逻辑回归方法,并考虑加入专业统计学家和数学家使用的 ALLSTAT 邮件列表并在那里寻求建议。或类似的东西。

于 2012-06-15T22:17:01.147 回答