在Python的statsmodel中执行单向ANOVA时,在分类变量前放置“ C”是什么功能?

问题描述 投票:0回答:1

我正在以下代码中执行单向方差分析:

results = ols('price ~ C(make)', data=df_anova).fit()
print(results.summary())

“ C”在类别变量“ make”(那些是22个汽车品牌)之前的功能是什么?离开C时,我真的看不到有什么变化。该网页(https://pythonfordatascience.org/anova-python/)指出,它会自动为您的类别分配一个虚拟变量,排除其中一个类别并将其捕获为截距,以便与被排除的品牌进行适当的比较。但是,正如我之前所说的,当在分类变量前面不包含C时,似乎没有任何改变。

python statistics data-science statsmodels anova
1个回答
0
投票

statamodel中的公式由patsy处理。

C(x)要求将x视为类别变量。如果值是字符串,则patsy始终将变量视为分类变量,在这种情况下C是多余的。

[C强制将整数之类的数值视为类别,然后将其替换为虚拟或其他类别编码。

C还需要从默认值更改选项。

https://patsy.readthedocs.io/en/latest/builtins-reference.html#patsy.builtins.C

© www.soinside.com 2019 - 2024. All rights reserved.