给定SSAS中计算的逻辑回归系数,创建一个公式来计算连续输出值

给定SSAS中计算的逻辑回归系数,创建一个公式来计算连续输出值,ssas,regression,data-mining,dmx-ssas,Ssas,Regression,Data Mining,Dmx Ssas,我在SSAS中训练了一个简单的逻辑回归模型,使用性别和NIC作为离散输入节点(非吸烟者的NIC为0,吸烟者的NIC为1),分数(0-100)作为连续输出节点 我想根据新参与者的性别和NIC值来预测分数。当然,我可以在DMX中运行单例查询;例如,下面生成的值为49.51 SELECT Predict(Score) FROM [MyModel] NATURAL PREDICTION JOIN (SELECT 'M' AS Gender, '1' AS NIC) as t 但我不

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

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

  SELECT Predict(Score) 
  FROM [MyModel]
  NATURAL PREDICTION JOIN 
  (SELECT 'M' AS Gender, '1' AS NIC) as t
但我不想使用DMX,而是想从模型中创建一个公式,以便在与SSA“断开连接”时计算分数

在研究模型时,我在输出节点的NODE_分布中有以下信息:

  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 singleton查询相同的值?我假设它需要stdev和我的分数分布的平均值,但我一直坚持到底如何使用这些值。我还不确定是否正确使用了第五行中的属性_值作为常量


如果您能提供任何帮助,我们将不胜感激

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

更多细节:与大多数数据挖掘/机器学习问题一样,这个问题实际上取决于您的数据。如果您的数据是双峰的,超过90%的训练集非常接近1或100,那么可以使用逻辑回归。逻辑回归中使用的方程专门用于给出是/否答案。从技术上讲,它是一个连续函数,因此可以得到.34这样的结果,但从统计上看,这种结果是不太可能的(在典型用法中,您可以将其四舍五入为0)

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


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

此外,我看不出常规线性回归对您有多大帮助,因为您的拟合模型将能够生成超出目标区间[0100]的值,如果您必须对该范围的值进行特别截断,那么您真的能确保您的数据具有任何有效意义吗


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

谢谢哈利,我特意举了一个非常简单的例子,这样我就可以解决这个问题了。实际上,我一直坚持逻辑回归模型,但至少在SSA中,它似乎支持将连续值作为输出,其优点是公式将输出限制在0-1范围内,如果我理解的话:。是的,但使用的S曲线专门用于渲染0或1(由于数学特性,技术上它是连续的,但简单地缩放此模型的结果可能不是您想要的)。在大多数情况下,如果不进行是/否分类,可能需要线性回归。问题是,如果预测超出1-100的范围。您必须通过在软件中将这些实例分类为异常值或四舍五入(向下至100或最多1)来解决此问题。