You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

基于鲍鱼数据集,如何用R计算〖(X^' X)〗^(-1) X^' Y?

计算公式〖(X^' X)〗^(-1) X^' Y的R实现步骤

首先,你需要先将数据集中的rings(X)和diameter(Y)转换为矩阵格式,确保后续矩阵运算正常:

# 提取X(rings)并转为列矩阵
X <- as.matrix(abalone.data$rings, ncol = 1)
# 提取Y(diameter)并转为列矩阵
Y <- as.matrix(abalone.data$diameter, ncol = 1)

接下来按照公式分步计算:

  1. 计算X的转置与X的乘积:
tX_X <- t(X) %*% X
  1. 用solve()函数求解上述矩阵的逆:
inv_tX_X <- solve(tX_X)
  1. 计算转置X与Y的乘积:
tX_Y <- t(X) %*% Y
  1. 最后将逆矩阵与tX_Y相乘得到结果:
result <- inv_tX_X %*% tX_Y

简化写法

你也可以把这些步骤合并成一行代码,更简洁:

result <- solve(t(X) %*% X) %*% t(X) %*% Y

验证结果

这个公式本质上是无截距项的一元线性回归系数估计,你可以用lm()函数验证结果是否一致:

# 无截距项的线性回归
lm_model <- lm(diameter ~ 0 + rings, data = abalone.data)
# 查看系数,和result结果一致
coef(lm_model)

内容的提问来源于stack exchange,提问作者bkruep

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 20:05:39