回归模型点估计

5

我希望能根据参数值列表检索二次多项式回归线的值。

以下是回归模型:

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

我希望能够使用年龄值列表,并检索回归线上的值,以及标准差和标准误差。'年龄'是一个连续变量,但我想创建离散值数组,并从回归线返回预测值。

例如:

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

你的意思是想使用你的模型获取预测值吗? - NM_
1
是的。但是我想根据变量“AGE”在离散点上获取所有值,即使它是一个连续变量。 - statsguyz
2
你的模型有两个变量 ageheight。为了得到预测结果,你需要提供一个 age 和一个 height - NM_
2个回答

4

因为你有一个交互项,所以对于线性或二次的age项(或两者同时),回归系数只有在同时指定height的值时才有意义。因此,要在高度达到平均值时获得预测值,你应该这样做:

predict(fit, data.frame(age=c(10, 11, 12, 13, 14), height=mean(height) ) )
提出了一个很好的观点。你问到了“标准差和标准误差”,但系数和预测结果通常没有“标准差”,而是“估计的标准误差”,通常缩写为标准误差。
predict(fit, data.frame(age=c(10, 11, 12, 13, 14), height=mean(height) ), se.fit=TRUE  )

我认为,如果你进行了一次引导运行并查看分离系数的标准差以估计系数的标准误差,那么这可能被认为是一个标准差,但它将在参数空间的比例尺上而不是变量的比例尺上。


是的,如果你查看?predict.lm,你可以找到其他获取置信度/预测区间、指定区间水平等选项。 - bouncyball

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接