在python中,我试图了解StatsModel Linear Mixed Effects Models。
模型类是:
class statsmodels.regression.mixed_linear_model.MixedLM(endog, exog, groups,
exog_re=None, use_sqrt=True,
missing='none', **kwargs)
有一个'组'参数。我的问题是
类方法是否继承了类参数?
询问的原因是,对于班级methods,他们使用的方法from_formula不包含'组'参数。但是在他们编写的example代码中,
model = sm.MixedLM.from_formula("Weight ~ Time", data, re_formula="Time",
groups=data["Pig"])
包括'组' ' from_formula'内的参数方法,因此我的问题,
类方法是否继承了类参数?
答案 0 :(得分:1)
不,根本没有“类参数”。有构造函数的参数。
正如here所述,args和kwargs被传递给模型(构造函数 - ____init____方法)。 然后模型的对象返回。这个方法隐藏了你的一些动作,但如果你知道你在做什么,你可以传递一些参数,就好像你将它们传递给构造函数一样。
这些参数是可选的。
args:额外参数
将这些传递给模型
kwargs:额外的关键字参数
这些传递给模型,但有一个例外。该eval_env关键字 被传递给patsy。它可以是apatsy.EvalEnvironmentobject或 一个整数,指示要使用的命名空间的深度。例如, 默认的eval_env = 0使用调用命名空间。如果你想使用 一个“干净”的环境设置eval_env = -1。
答案 1 :(得分:0)
纯Python概念接受类/函数中的* args和** kwargs。如果我们没有传递给任何类或函数需要多少参数,我们使用args或kwargs。请仔细阅读此链接args and kwargs。我看到了内部设计from_formula,它正在寻找组作为kwargs。