逻辑回归中的参数估计<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />我已经模拟了三个数据集,每个数据集有 20M 个点,用于测试具有非常罕见事件的二进制响应变量的 LR:
1) 两个连续效应:Beta0=12,beta1=1 和 Beta2=1。 X1 是 Normal (-0.8, .25),X2 是 -ABS[Normal (0,5)]。 (这两个变量中的每一个都会增加事件的概率,具体取决于变量的值。)在这种情况下,2000 万个样本中有大约 711,000 个阳性事件。 运行 LR 后,我对三个 beta 得到了相当好的估计: b 0 = 12.003, b 1个=1.005, b 2个=0.99996。 R 方 (U)=0.623,AICc = 2,314,760 和 BIC=2,314,804。 ROC AUC=0.97835。
2)第二个数据集有一个连续和一个分类效应。 对于此数据,我将第一个数据集中的第二个连续变量替换为概率为 0.05 且 Beta2 = -2 的二元变量。 此数据仅包含 2000 万个样本中的 394 个事件。 运行 LR 后,估计为: b 0 = 11.0988, b 1个=1.184, b 2个=-1.01。 R 方 (U)=0.0283,AICc = 9,068 和 BIC=9,112。 AUC = 0.68 的 ROC。 因此,虽然 Beta0 和 Beta1 估计是合理的,但名义变量的 Beta2 估计似乎是真实值的一半.
3) 为了生成第三个数据集,我将两种效果都用作二项式生成的二进制变量。 我将第一个数据集中的一个连续变量替换为概率为 0.05 且 Beta2 = -2 的二元变量。 我用概率为 0.1 且 Beta = -1 的另一个二项式生成的随机变量替换第二个连续变量。 此数据仅包含 2000 万个样本中的 165 个事件。 运行 LR 后,估计的参数值为: b 0 = 10.582, b 1个= - 1.14, b 2个= - 0.512。 R 方 (U)=0.0384,AICc = 4,038 和 BIC=4,082。 ROC AUC=0.6756。因此,虽然 Beta0 估计是合理的,但两个名义变量的 Beta1 和 Beta2 估计似乎是真实值的一半
我在这里错过了什么? 为什么分类变量系数的估计值应该是真实值的一半?
我的下一个测试将是对非事件进行欠采样,然后将欠采样校正应用于 Beta0。 但是,首先我想了解 LR 在 JMP 中生成的估计值。 任何建议或澄清将不胜感激。
回复:逻辑回归中的参数估计它如何编码分类因素是问题,而不是模型的类型。 并不是说列表中有 -1。
尝试 1/0 编码
ranjan@mitre.org Apr 14, 2014 10:44 AM
I coded the nominal variables as 0/1 as you recommend and then did not use them, and applied the appropriate betas in the P calculation.
我不知道那是什么意思...
如果您在这里没有得到答案,您可以随时尝试联系技术支持。 他们有更熟悉 JMP 的人。
回复:逻辑回归中的参数估计瑞萨
您发送的链接适用于线性模型。 我正在使用逻辑回归。
回复:逻辑回归中的参数估计我按照你的建议将名义变量编码为 0/1,然后没有使用它们,并在 P 计算中应用了适当的贝塔。 现在三个贝塔的估计值是:10.52、0.9848 和 0.6534。 因此,与标称变量对应的 Beta1 和 Beta2 看起来仍然是真实值的一半左右,但符号现在与应有的相反。 -2 的真实 Beta1 估计为 0.9848,-1 的真实 Beta2 估计为 0.6534。 如果有帮助,我会附上该文件的简短版本。 (如果您确实有时间在 JMP 中运行 LR,则文件必须扩展很多才能获得足够的事件。 我使用一个 20M 行的文件。
谢谢
回复:逻辑回归中的参数估计http://www.jmp.com/support/help/The_Factor_Models.shtml#65535
将其编码为 0/1 并且不包括在名义效果中以查看是否获得所需的结果。
请参阅上面的链接,了解 JMP 如何对名义变量进行分类。
回复:逻辑回归中的参数估计我将标称变量编码为 0 和 Beta 值,然后通过逻辑表达式 (1/(1+exp(beta0+Beta1+Beta2) 在 P(event) 计算中使用这些值(它们恰好在每个条目中) )))。 我假设当该列被指定为名义效应时,效应列中的条目将仅用作“标签”。 如果 0/1 和 1/2 有所不同,您是否建议以某种方式使用列中输入的值?
回复:逻辑回归中的参数估计不太熟悉 JMP,但这是在 SAS 中发生的一些原因
1. 检查你如何编码你的二进制变量 (0/1) 与 1/2 不同
2. 如果您使用了某种自动类别,请检查它是如何参数化的,即效果编码或参考编码。