2017-02-21 7 views
0

Pythonでは、私はStatsModel Linear Mixed Effects Modelsを理解しようとしています。Python - クラスメソッドはクラスパラメータを継承しますか?

モデルクラスは次のとおりです。「グループのパラメータを持ってい

class statsmodels.regression.mixed_linear_model.MixedLM(endog, exog, groups, 
                 exog_re=None, use_sqrt=True, 
                 missing='none', **kwargs) 

。私の質問は

クラスメソッドはクラスパラメータを継承しますか?

質問の理由は、クラスmethodsの場合、「グループ」パラメータを含まないfrom_formulaメソッドがあります。しかし、彼らが書くexampleコード、それゆえ私の質問に「from_formula」メソッド内の「グループのパラメータを含んで

model = sm.MixedLM.from_formula("Weight ~ Time", data, re_formula="Time", 
           groups=data["Pig"]) 

にクラスメソッドは、クラスのパラメータを継承していますか?

答えて

0

クラス/関数の* argsと** kwargsを受け入れる純粋なpythonの概念。クラスや関数に渡すために必要なパラメータの数がない場合は、argsまたはkwargsを使用します。このリンクargs and kwargsをご覧ください。私は内部デザインfrom_formulaを見ました、それはkwargsとしてグループを探しています。

1

いいえ、「クラスパラメータ」はありません。コンストラクタの引数があります。

hereのように、argsとkwargsはmodel(constructor - ____init____メソッド)に渡されます。 そして、モデルのオブジェクトが返されます。このメソッドはあなたからいくつかのアクションを隠していますが、あなたが何をしているのか分かっていれば、コンストラクタに渡すかのようにいくつかの引数を渡すことができます。

これらの引数はオプションです。

引数:余分な引数

これらは

kwargsからモデルに渡されます。余分なキーワード引数

はこれらを1つの例外を除いて、モデルに渡されます。 eval_envキーワード がpatsyに渡されます。 apatsy.EvalEnvironmentオブジェクトまたは のいずれかを使用して、使用するネームスペースの深さを示す整数を指定できます。たとえば、 の場合、デフォルトのeval_env = 0は呼び出し側の名前空間を使用します。 を「クリーン」環境として使用する場合は、eval_env = -1と設定します。

関連する問題