了解当我将模型中的类别变量传递给 astatsmodels
fit
时,将自动为类别生成虚拟变量。例如,如果我有一个值为“IndianOcean”、“Thailand”、“China”和“Mars”的变量“Location”,我将在表单模型中获得变量
Location[T.Thailand]
其中一个值未表示。默认情况下,排除变量似乎是最不常见的变量。有没有办法指定(理想情况下在模型规范中)哪个值被视为“基础值”并被排除在外?
了解当我将模型中的类别变量传递给 astatsmodels
fit
时,将自动为类别生成虚拟变量。例如,如果我有一个值为“IndianOcean”、“Thailand”、“China”和“Mars”的变量“Location”,我将在表单模型中获得变量
Location[T.Thailand]
其中一个值未表示。默认情况下,排除变量似乎是最不常见的变量。有没有办法指定(理想情况下在模型规范中)哪个值被视为“基础值”并被排除在外?
您可以reference
使用类似的语法将 arg 传递给处理对比
"y ~ C(Location, Treatment(reference='China'))"
http://patsy.readthedocs.org/en/latest/API-reference.html#patsy.Treatment
如果您对命名约定有更好的建议,请向 patsy 提出问题。
好的,也许有人会发现这个有用。我需要为因变量设置一个新的基线类别,我不知道该怎么做。我搜索并没有找到任何东西,所以我只是为其他类别添加了一个“_”。如果您有 3 个类别 A、B、C,并且您希望基线为 C,您只需将标签从 A 和 B 更改为 _A 和 _B。有用。我似乎基线类别是由 sorted()
也许有人知道正确的方法,这不是很植物,ja。
如果你使用单引号来包裹你的字符串,那么引用的参数需要用双引号包裹起来。很容易犯错误。我在两者上都使用了单引号。
例如:
'y ~ C(Location, Treatment(reference="China"))'
是正确的。
'y ~ C(Location, Treatment(reference='China'))'
是不正确的。