是否有 R 包来训练 return 概率预测而不是点预测的回归模型?
Is there an R package to train regression models that return probabilistic forecasts instead of point forecasts?
我需要训练一个能够估计完整预测分布而不是点预测估计的回归模型。
R 是否有任何包可以做到这一点?我一般使用tidymodels框架。
R 函数 predict
对线性模型正是这样做的。请注意,线性模型假定响应呈正态分布,但由于方差是根据数据估计的,因此根据数据估计的预测遵循 t 分布。因此,对于给定的预测变量值 x
,您需要平均值 μ̂(x)
、标准差 s(x)
和自由度 df
的估计量,所有这些都是通过以下方式计算的predict.lm
:
# train model on data
fit <- lm(waiting ~ eruptions, faithful)
# prediction for new predictor value 10
p <- predict(fit, data.frame(eruptions=10), se.fit=TRUE)
mu <- p$fit
# beware that s^2 is a combination of error of mu and of the residual sd
s <- sqrt(p$se.fit^2 + p$residual.scale^2)
df <- p$df
则r
点响应(预测)的概率密度值为
dt((r-mu) / s, df=df)
我需要训练一个能够估计完整预测分布而不是点预测估计的回归模型。
R 是否有任何包可以做到这一点?我一般使用tidymodels框架。
R 函数 predict
对线性模型正是这样做的。请注意,线性模型假定响应呈正态分布,但由于方差是根据数据估计的,因此根据数据估计的预测遵循 t 分布。因此,对于给定的预测变量值 x
,您需要平均值 μ̂(x)
、标准差 s(x)
和自由度 df
的估计量,所有这些都是通过以下方式计算的predict.lm
:
# train model on data
fit <- lm(waiting ~ eruptions, faithful)
# prediction for new predictor value 10
p <- predict(fit, data.frame(eruptions=10), se.fit=TRUE)
mu <- p$fit
# beware that s^2 is a combination of error of mu and of the residual sd
s <- sqrt(p$se.fit^2 + p$residual.scale^2)
df <- p$df
则r
点响应(预测)的概率密度值为
dt((r-mu) / s, df=df)