簡體   English   中英

回歸模型點估計

[英]Regression model point estimation

我想根據參數的值列表檢索二階多項式回歸線的值。

這是模型:

fit <- lm(y ~ poly(age, 2) + height + age*height)

我想使用年齡值列表並檢索回歸線上的值,以及標准偏差和標准誤差。 'age'是一個連續變量,但我想創建一個離散值數組並從回歸線返回預測值。

例:

age <- c(10, 11, 12, 13, 14)

由於您有一個交互項,因此當您同時指定要考慮的height值時,線性或二次age項(或兩者一起)的回歸系數僅具有意義。 因此,要獲得高度達到其平均值時的預測,您可以這樣做:

predict(fit, data.frame(age=c(10, 11, 12, 13, 14), height=mean(height) ) )

bouncyball提出了一個很好的觀點。 您詢問“標准偏差和標准誤差”,但系數和預測沒有“標准偏差”,因為通常使用該術語,但速率“估計的標准誤差”通常縮短為標准誤差。

predict(fit, data.frame(age=c(10, 11, 12, 13, 14), height=mean(height) ), se.fit=TRUE  )

我想如果你做了一個自舉運行,並將單獨系數的標准偏差看作系數的標准誤差的估計,那可能被認為是一個標准偏差,但它會在參數空間的范圍內而不是變量的規模。

您的數據有2個變量,因此您需要同時提供年齡和身高。

例如,使用模擬數據:

age = sample(10)
height = sort(rnorm(10, 6, 1))
y = sort(rnorm(10, 150, 30))

fit <- lm(y ~ age + poly(age, 2) + height + age*height)

要獲得預測,請指定年齡和高度,然后預測:

# I'm using my own heights, you should choose the values you're interested in
new.data <- data.frame(age=c(10, 11, 12, 13, 14) , 
                  height=c(5.7, 6.3, 5.8, 5.9, 6.0) )

> predict(fit, new.data)
           1            2            3            4            5 
132.76675715 137.70712251 113.39494557 102.07262016  88.84240532 

獲得每個預測的置信區間

> predict(fit, new.data, interval="confidence")
           fit            lwr          upr
1 132.76675715  96.0957812269 169.43773307
2 137.70712251  73.2174486246 202.19679641
3 113.39494557  39.5470153667 187.24287578
4 102.07262016   3.5466926099 200.59854771
5  88.84240532 -37.7404171712 215.42522781

暫無
暫無

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

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