我通过将高维模型的滑动窗口拟合到线性(参数)模型并查看参数值随时间的演变,将高维模型转换为低维模型。我将从 630 万个点增加到 6 个参数的大约 2500 个值。
物理学说截距应该是一个恒定值,但是当我使用 LM 时,它会四处移动。我认为运动是因为噪音,它会导致其他参数值无法正确指示。我想将它设置为一个已知的常数值。
如何在 R 中制作具有规定截距(非零)的线性模型。
当前代码:
for (i in 1:(n-k)){
fit <- lm(y ~ x1 + x2 + I(x3^2) + x4 + x5 + x6 , data=data[i:(i+k),])
#STORE PARAMETERS INTO VARIABLES
... #truncated for brevity
}
不起作用的代码:
fit <- lm(y ~ I(9.81) + x1 + x2 + I(x3^2) + x4 + x5 + x6 , data=data[i:(i+k),])
fit <- lm(y ~ 9.81 + x1 + x2 + I(x3^2) + x4 + x5 + x6 , data=data[i:(i+k),])
问题:
- 我如何规定常数?
- 我尝试在 google 和 CV 上搜索这个 - 有没有我遗漏的词汇?
- 您能否评论一下 AIC 或 R2 之类的东西如何受到此模型的影响?我更喜欢使用 AIC 或 BIC,我认为作为模型选择标准,它们应该考虑参数,但 R2 在两者之间发生了根本性的变化(我认为)。
- 我尝试在 CV 中搜索这个问题的答案,但没有找到。提出了一种替代解决方案,但其形式与要求的形式大不相同。它是关于按摩输入,而不是在不从根本上改变数据的情况下格式化命令。我喜欢(并且发现最有用)的答案是关于输入公式的形式,而不是关于创建新变量。
像往常一样,征求意见和建议。