簡體   English   中英

時間序列中多元回歸的殘差圖,時間在 R 中的 X 軸上

[英]Residual Plot for multivariate regression in Time Series, with time on X axis in R

我有一個時間序列的數據框。 我正在使用函數lm來構建多元回歸模型。

linearmodel <- lm(Y~X1+X2+X3, data = data)
  1. 我想使用一個簡單的函數在 y 軸上繪制這個線性模型的殘差,在 x 軸上繪制時間,並將lm()對象作為輸入。
  2. 標准殘差繪圖函數,如汽車包裝中的函數 ( car::residualPlot ) 在 Y 軸上給出殘差,在 Y 軸上給出擬合值。
  3. 理想情況下,我需要 Y 軸上的殘差和 X 軸上的時間刻度。 但我知道函數lm()與時間無關。 因此,如果殘差在 Y 軸上的順序與數據輸入的順序相同,而 X 軸上沒有任何內容,我可以接受
  4. 是否有一個繪圖函數,我可以通過將線性模型對象傳遞給函數來使用它(不是我可以提取殘差並使用 ggplot2 的東西)。 例如: plot<- plotresidualsinorder(linearmodels)應該以與數據輸入相同的順序給我 Y 軸上的殘差嗎?
  5. 我想最終在 R-shiny 中使用這個情節。

我的研究使我找到了汽車包裝,它本身就很棒,但沒有解決我的問題的功能。

非常感謝您的幫助。

您可以使用殘差圖信息。 對於建議的解決方案,我們需要將lm函數應用於通過變量X1+X2+X3描述Y變量的公式,並將線性回歸模型保存在新的linearmodel模型變量中。 最后,我們用resid函數計算殘差。 在您的情況下,以下解決方案可以代表您的問題。

建議的解決方案:

linearmodel <- lm(Y~X1+X2+X3, data = data)
lm_resid <- resid(linearmodel)
plot(data$X1+X2+X3, lm_resid, 
    ylab="Residuals", xlab="Time", 
    main="Data") 
abline(0, 0)

有關resid函數如何工作的任何幫助,您可以嘗試:

help(resid)

Calisto 的解決方案會起作用,但還有一個更簡單直接的解決方案。 lm 函數已經為您提供了回歸殘差。 所以你可以簡單地通過:

plot(XTime, linearmodel$residuals, main = "Residuals")

XTime 是數據集的 Date 變量,也許您可​​能需要使用POSIX函數對其進行格式化: https ://www.rdocumentation.org/packages/base/versions/3.6.2/topics/as.POSIX*

根據需要添加參數在 R-shiny 上共享。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM