回归模型点估计

Posted

技术标签:

【中文标题】回归模型点估计【英文标题】:Regression model point estimation 【发布时间】:2019-08-10 12:09:14 【问题描述】:

我想根据参数值列表检索二阶多项式回归线的值。

这是模型:

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

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

例子:

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

【问题讨论】:

您的意思是要使用您的模型获得预测值吗? 是的。但我想在离散点获取基于变量“AGE”的所有值,即使它是一个连续变量。 您的模型有 2 个变量 ageheight。为了获得预测,您需要同时提供ageheight 【参考方案1】:

由于您有一个交互项,线性或二次 age 项(或两者一起)的回归系数只有在您同时指定要考虑的 height 的值时才有意义。因此,要在高度处于其平均值时获得预测,您可以这样做:

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

bouncyball 提出了一个很好的观点。您询问了“标准差和标准误差”,但系数和预测没有通常使用的术语“标准差”,但 ratehr “估计的标准误差”通常简称为标准误差。

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

我想如果您进行引导运行并将单独系数的标准偏差视为系数的标准误差的估计值,这可能会被认为是标准偏差,但它的规模为参数空间而不是变量的尺度。

【讨论】:

是的,如果您调查?predict.lm,您可以找到其他选项来获取置信/预测区间、指定区间级别等【参考方案2】:

您的数据有 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

【讨论】:

以上是关于回归模型点估计的主要内容,如果未能解决你的问题,请参考以下文章

逻辑斯谛(Logistic)回归参数估计教程

一元线性回归模型和一元线性回归方程之间的区别

第四章 线性判据与回归

半参数模型

回归分析11:含定性因变量的回归模型

机器学习-----1.线性回归模型理解证明实现