我有一个TimeArray类型的数据集,我想执行线性回归。但是,看来julia当前不支持TimeArray类型的回归方法。

我可以将数据下载为DataFrame而不是TimeArray并使用GLM包,但是TimeArray时间戳对于以后的其他分析非常有用。我想直接在TimeArray数据集上执行线性回归。

编辑1:下面给出一个简单的示例:

julia> using TimeSeries

       dates = collect(Date(1999,1,1):Date(1999,1,31))

       # Dependent variable
       y  = TimeArray(dates, rand(length(dates)))

       # Explanatory variables
       x1 = TimeArray(dates, rand(length(dates))) # Explanatory variable 1
       x2 = TimeArray(dates, rand(length(dates))) # Explanatory variable 2
       x  = rename(merge(x1,x2), ["x1", "x2"])    # Merge x1 and x2 into a single TimeArray

       # Linear regression
       coefs = linreg(x, y) # Yields a method error since linreg does not support the TimeArray type.


有没有人找到解决此问题的方法或解决方法?

最佳答案

TimeArray类型似乎有一个.values字段,您可以使用该字段以正确的顺序获取与数组关联的值。因此,您可以执行以下线性回归:

coefs = linreg(x.values,y.values)

08-24 22:17