2016-10-26 7 views
1

私は3つの独立変数(trivariate quadratic)を持つ2次関数を作成するためにMultipolyfit関数を使用しています。コードは次のとおりです多項式(Python):係数はどのような順序になりますか?

data=numpy.loadtxt("file.txt") 
hour=data[:,3] 
day=data[:,4] 
temp=data[:,5] 
load=data[:,6] 
a=multipolyfit.multipolyfit(numpy.vstack((hour,day,temp)).T, load, 2) 
print a 

日、temp、および負荷は独立変数です。負荷は私が予測しようとしている変数です。 出力は、私の三変数二次式の8つの係数のリストのようです。

[ 27011. 771. 5462. -394. -29. -83.  10. -804.  9.  1] 

上記係数はどのような順番で表示されますか?

+0

関連:http://stackoverflow.com/questions/18767523/fitting-data-with-numpy – RegularlyScheduledProgramming

+0

依存1のためのものであること変数。私は多変量非線形回帰を探しています。 – user3503704

答えて

0

多価不確実性は、文書化されていません。著者は、githubのreadmeファイルで次のように述べています。

私はこのリポジトリに関する質問にほとんど答えません。奇妙なことに普及していますが、実装はかなり密集しているので、このプロジェクトは多数の妥当な質問を生成します。残念ながら、私はこれらのすべてに対応する時間がありません。

有用なアルゴリズムが含まれていれば、私はこのプロジェクトについてもっと気にします。それはしません。

私たちのために、幸いなことに、コード全体は100行未満であり、ナビゲートするのはかなり簡単です。それぞれの列は、[1、時間、日、TEMP]のパワーに対応

[[2 0 0 0] 
[1 1 0 0] 
[1 0 1 0] 
[1 0 0 1] 
[0 2 0 0] 
[0 1 1 0] 
[0 1 0 1] 
[0 0 2 0] 
[0 0 1 1] 
[0 0 0 2]] 

、:それはのように係数パワーの順列を生成します。だからあなたの係数は、27011*(1**2) + 771*(1**1 * hour**1) + ...になります。あなたは、キーワード引数powers_out=Trueを設定することで、コードを掘りすることなく、この自分自身を取得することができます

>>> a,powers=multipolyfit.multipolyfit(numpy.vstack((hour,day,temp)).T, 
             load, 2, powers_out=True) 
[array([2, 0, 0, 0]), array([1, 1, 0, 0]), array([1, 0, 1, 0]), array([1, 0, 0, 1]), array([0, 2, 0, 0]), array([0, 1, 1, 0]), array([0, 1, 0, 1]), array([0, 0, 2, 0]), array([0, 0, 1, 1]), array([0, 0, 0, 2])] 
+0

ありがとうございます。 – user3503704

関連する問題