3

我有一個TimeArray類型數據集,我想執行線性迴歸。但是,似乎julia目前不支持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. 

有沒有人發現這個問題的解決方案或替代方法?

+3

只是我2¢:如果你發佈了一個最小的例子與數據和你想象/代碼你嘗試過,這是行不通的,你更可能找到那些可能想要修補並弄明白的人。就像現在一樣,有人會回答這個問題的唯一方式就是,如果某人在最近遇到並解決了同樣的問題,那麼這個問題的可能性要小得多。 –

+1

另外,爲什麼你不能在DataFrame版本上進行分析,並簡單地保存以後分析的時間戳? –

+1

有關實施Tasos建議的更多詳細信息,請參閱此處:http://stackoverflow.com/help/mcve –

回答

5

TimeArray類型似乎有一個.values字段,您可以使用該字段以正確的順序獲取與該數組關聯的值。所以你可以執行你的線性迴歸:

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

如果你覺得冒險,你甚至可以定義一個新的linreg對於使用.values字段的TimeArray類型:) –