所以我目前正在嘗試繪製線性模型的置信區間。我發現我應該使用predict.lm()來做這件事,但是我有一些真正理解函數的問題,並且我不喜歡在不知道發生了什麼事情的情況下使用函數。我發現了幾個關於這個主題的方法,但是隻有使用相應的R代碼才能解釋。 這是函數本身:R中的Predict.lm() - 如何獲得擬合值附近的非恆定預測帶
## S3 method for class 'lm'
predict(object, newdata, se.fit = FALSE, scale = NULL, df = Inf,
interval = c("none", "confidence", "prediction"),
level = 0.95, type = c("response", "terms"),
terms = NULL, na.action = na.pass,
pred.var = res.var/weights, weights = 1, ...)
現在,我一直很難理解:
1) newdata
An optional data frame in which to look for variables
with which to predict. If omitted, the fitted values are used.
似乎每個人都使用newdata這一點,但我不明白爲什麼。爲了計算置信區間,我顯然需要這個區間的數據(如觀察數,x等的平均數),所以不能是它的意思。但是:那是什麼意思?
2) interval
Type of interval calculation.好..但什麼是 「無」 的呢?
3a) type
Type of prediction (response or model term).3b) terms
If type="terms", which terms (default is all terms)3A:我用的是可以得到的置信區間在我的模型一個特定的變量?如果是這樣,那麼3b是什麼?如果我可以在3a中指定這個術語,那麼在3b中再次做這個術語是沒有意義的......所以我想我又錯了,但是我不明白爲什麼。
我想你們中的一些人可能會認爲:爲什麼不試試這個呢?我會(即使這可能不會解決所有問題),但我現在不知道該怎麼做。因爲我現在不知道新數據是什麼,我不知道如何使用它,如果我嘗試,我沒有得到正確的置信區間。不知何故,你如何選擇這些數據是非常重要的,但我只是不明白!
編輯:我想補充一點,我的意圖是瞭解如何predict.lm的作品。我的意思是我不明白它是否按照我認爲的方式工作。那就是它計算y-hat(預測值),並且比間隔的每個upr/lwr界限使用加/減計算幾個數據點(看起來像是一個置信線)?然後,我會明白爲什麼有必要在新數據中具有與線性模型相同的長度。
本文檔的Details部分討論'newdata'參數的長度。討論的哪一部分仍然令人困惑? – joran
我想這是讓我感到困惑的:「predict.lm產生預測值,通過評估幀newdata中的迴歸函數獲得」(在一般解釋中)和「如果newdata被忽略,則預測基於用於適合。」爲newdata。爲什麼我會嘗試獲得在我的實際迴歸中沒有連接的置信區間?這就是我對這句話的理解,所以這就讓我感到困惑。 然後它解釋了在這種情況下如何處理缺失的值,但我已經與第一部分鬥爭了! – lisa
您可能對_prediction_間隔有興趣瞭解新的觀測值。 – joran