0

Python で rpy2 モジュールを使用して、2 つの時系列 (ts1 と ts2) 間の回帰を計算しています。残差は自己相関しているため、lm ではなく gls モデルを使用する必要があります。以下のコードのように、相関構造を corAR1() として設定できるはずです。

import rpy2.robjects as robjects
from rpy2.robjects import FloatVector
from rpy2.robjects.packages import importr

nlme = importr('nlme')

y = FloatVector(ts1)
x = FloatVector(ts2)
fmla = robjects.Formula('y ~ x - 1')
env = fmla.environment
env['x'] = x
env['y'] = y
fit = nlme.gls(fmla, cor=corAR1(value=c(0.5)))  

ただし、エラーが発生します

*** NameError: name 'corAR1' is not defined                                                                                                      

私は R ユーザーではなく、rpy2 を初めて使用するので、ここで何が起こっているのかわかりません! どんなアイデアでも大歓迎です。

乾杯、フェリシティ

4

1 に答える 1

0

を呼び出すとimportr('nlme')、Python パッケージ/名前空間のようなオブジェクトが返されます。corAR1()パッケージでが定義されている場合はnlme、そこにあることを Python に伝える必要があります。

fit = nlme.gls(fmla, cor=nlme.corAR1(value=c(0.5)))  
于 2013-06-27T08:34:04.830 に答える