r - 最小化平方和函数,然后提取方差-协方差
问题描述
简而言之,我的问题集中在从最小平方和函数中提取方差 - 协方差矩阵。下面是我尝试最小化的一个简单示例。
鉴于:
p <- c(7.8, 4.1, 6.2, 5.3, 10.1, 9.6)
x <- 1:6
f <- function(x,q){x^2-q*x+14}
预测误差平方和
SSE <- function(q){ sum((p-f(x,q))^2) }
最小化示例然后计算方差协方差矩阵是重点。
任何帮助,将不胜感激。
解决方案
由于您的模型是线性的,您可以使用lm
:
p <- c(7.8, 4.1, 6.2, 5.3, 10.1, 9.6)
x <- 1:6
f <- function(x,q){x^2-q*x+14}
fit <- lm(I(p - x^2 - 14) ~ x + 0)
summary(fit)$coef
# Estimate Std. Error t value Pr(>|t|)
#x -6.275824 0.212917 -29.47545 8.426765e-07
vcov(fit)
# x
#x 0.04533366
#illustrate that this is the minimum
f <- function(x,q){x^2-q*x+14}
SSE <- function(q){ sum((p-f(x,q))^2) }
a <- seq(from = 0, to =10, by = 0.001)
plot(a, sapply(a, SSE), type = "l")
abline(v = -coef(fit))
推荐阅读
- xml - 使用 Yoast 插件未在站点地图 xml 上显示类别 slug
- c# - 无法将下拉菜单的选项设置为 api 以 json 格式返回的字段
- javascript - ESLint Javascript:尝试关闭引号规则但关闭似乎被忽略
- react-native - 如何在 React Native 上的图像上设置阴影
- javascript - 为 iPad 实现下载 servlet
- php - 如何使用 order by 和 order by desc 对 mysql 表中的行进行排序而不使其过于复杂
- cakephp - 如何在关联的 belongsTo 表中插入新记录而不是编辑关联的记录
- python - 我想从 TFRecord 读取数据
- angular - 向依赖于上下文的组件注入服务
- json - 如何渲染wordpress api的内容?