【问题标题】:Correlation structure corAR1() "not defined" in rpy2 generalised least squares model glsrpy2广义最小二乘模型gls中的相关结构corAR1()“未定义”
【发布时间】:2013-06-27 01:58:53
【问题描述】:

我在 python 中使用 rpy2 模块来计算两个时间序列(ts1 和 ts2)之间的回归。残差是自相关的,所以我需要使用 gls 模型而不是 lm。我应该能够将我的相关结构设置为 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 非常陌生,所以我不确定这里发生了什么!任何想法将不胜感激。

干杯, 幸福

【问题讨论】:

    标签: python rpy2


    【解决方案1】:

    当调用importr('nlme') 时,返回的对象就像一个 Python 包/命名空间。 如果corAR1() 定义在nlme 包中,你应该告诉Python 它在那里:

    fit = nlme.gls(fmla, cor=nlme.corAR1(value=c(0.5)))  
    

    【讨论】:

      猜你喜欢
      • 2018-03-14
      • 2018-07-06
      • 2012-03-25
      • 2017-07-20
      • 2015-05-15
      • 2018-05-15
      • 2013-06-08
      • 1970-01-01
      • 2013-05-31
      相关资源
      最近更新 更多