gpt4 book ai didi

r - XTS 对象的线性回归

转载 作者:行者123 更新时间:2023-12-04 02:08:29 26 4
gpt4 key购买 nike

如何用xts对象做线性回归?lm(xtsObject ~ index(xtsObject)) 不起作用,我试过了。

我的数据是一家公司的每日股价。但是 index 将自纪元以来的秒数提供给 lm 函数。如何解决?

最佳答案

xtsObject 中提取数据和时间索引(正如您已经做的那样)到一个数据框中,为每个数据框指定一个合适的名称。使用此名称引用公式中的变量,并将此数据框作为参数数据传递。例如,使用 ?xts 中的示例数据:

require("xts")
data(sample_matrix)
xtsObject <- as.xts(sample_matrix, descr="my new xts object")

## the example ts has several variables Open High Low Close,
## here I take just one, "Open"
df <- data.frame(xtsObject['/'][,"Open"], Time = index(xtsObject))
head(df)

> head(df)
Open Time
2007-01-02 50.03978 2007-01-02
2007-01-03 50.23050 2007-01-03
2007-01-04 50.42096 2007-01-04
2007-01-05 50.37347 2007-01-05
2007-01-06 50.24433 2007-01-06
2007-01-07 50.13211 2007-01-07

现在拟合模型

mod <- lm(Open ~ Time, data = df)
summary(mod)

> mod <- lm(Open ~ Time, data = df)
> summary(mod)

Call:
lm(formula = Open ~ Time, data = df)

Residuals:
Min 1Q Median 3Q Max
-1.16144 -0.47952 -0.08462 0.57053 1.44329

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.199e+02 1.199e+01 26.68 <2e-16 ***
Time -2.302e-07 1.020e-08 -22.57 <2e-16 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 0.6146 on 178 degrees of freedom
Multiple R-squared: 0.741, Adjusted R-squared: 0.7395
F-statistic: 509.2 on 1 and 178 DF, p-value: < 2.2e-16

lm()xts 对象一无所知,所以如果有疑问,做简单的事情并传递它确实知道的东西。

请注意,您可以执行 coredata(xtsObject) 而不是 xtsObject['/'],例如

> head(coredata(xtsObject))
Open High Low Close
[1,] 50.03978 50.11778 49.95041 50.11778
[2,] 50.23050 50.42188 50.23050 50.39767
[3,] 50.42096 50.42096 50.26414 50.33236
[4,] 50.37347 50.37347 50.22103 50.33459
[5,] 50.24433 50.24433 50.11121 50.18112
[6,] 50.13211 50.21561 49.99185 49.99185

关于r - XTS 对象的线性回归,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21692560/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com